--- - name: Generate a test ID ansible.builtin.set_fact: test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}" when: test_id is not defined - name: Generate names ansible.builtin.set_fact: username: "AWX-Collection-tests-user-user-{{ test_id }}" - name: Create a User awx.awx.user: username: "{{ username }}" first_name: Joe password: "{{ 65535 | random | to_uuid }}" state: present register: result - name: Assert result changed ansible.builtin.assert: that: - result.changed - name: Create a User with exists awx.awx.user: username: "{{ username }}" first_name: Joe password: "{{ 65535 | random | to_uuid }}" state: exists register: result - name: Assert results did not change ansible.builtin.assert: that: - not result.changed - name: Delete a User awx.awx.user: username: "{{ username }}" first_name: Joe password: "{{ 65535 | random | to_uuid }}" state: absent register: result - name: Assert result changed ansible.builtin.assert: that: - result.changed - name: Create a User with exists awx.awx.user: username: "{{ username }}" first_name: Joe password: "{{ 65535 | random | to_uuid }}" state: exists register: result - name: Assert result changed ansible.builtin.assert: that: - result.changed - name: Change a User by ID awx.awx.user: username: "{{ result.id }}" last_name: User email: joe@example.org state: present register: result - name: Assert result changed ansible.builtin.assert: that: - result.changed - name: Check idempotency awx.awx.user: username: "{{ username }}" first_name: Joe last_name: User register: result - name: Assert result did not change ansible.builtin.assert: that: - not (result.changed) - name: Rename a User awx.awx.user: username: "{{ username }}" new_username: "{{ username }}-renamed" email: joe@example.org register: result - name: Assert result changed ansible.builtin.assert: that: - result.changed - name: Delete a User awx.awx.user: username: "{{ username }}-renamed" email: joe@example.org state: absent register: result - name: Assert result changed ansible.builtin.assert: that: - result.changed - name: Create an Auditor awx.awx.user: first_name: Joe last_name: Auditor username: "{{ username }}" password: "{{ 65535 | random | to_uuid }}" email: joe@example.org state: present auditor: true register: result - name: Assert result changed ansible.builtin.assert: that: - result.changed - name: Delete an Auditor awx.awx.user: username: "{{ username }}" email: joe@example.org state: absent register: result - name: Assert result changed ansible.builtin.assert: that: - result.changed - name: Create a Superuser awx.awx.user: first_name: Joe last_name: Super username: "{{ username }}" password: "{{ 65535 | random | to_uuid }}" email: joe@example.org state: present superuser: true register: result - name: Assert result changed ansible.builtin.assert: that: - result.changed - name: Delete a Superuser awx.awx.user: username: "{{ username }}" email: joe@example.org state: absent register: result - name: Assert result changed ansible.builtin.assert: that: - result.changed - name: Test SSL parameter awx.awx.user: first_name: Joe last_name: User username: "{{ username }}" password: "{{ 65535 | random | to_uuid }}" email: joe@example.org state: present validate_certs: true controller_host: http://foo.invalid ignore_errors: true register: result - name: Assert SSL parameter failure message is meaningful ansible.builtin.assert: that: - result is failed or result.failed | default(false) - name: Org tasks block: - name: Generate an org name ansible.builtin.set_fact: org_name: "AWX-Collection-tests-organization-org-{{ test_id }}" - name: Make sure organization is absent organization: name: "{{ org_name }}" state: absent register: result - name: Create a new Organization organization: name: "{{ org_name }}" galaxy_credentials: - Ansible Galaxy register: result - name: Assert result changed ansible.builtin.assert: that: result.changed - name: Create a User to become admin of an organization awx.awx.user: username: "{{ username }}-orgadmin" password: "{{ username }}-orgadmin" state: present organization: "{{ org_name }}" register: result - name: Assert result changed ansible.builtin.assert: that: - result.changed - name: Add the user -orgadmin as an admin of the organization awx.awx.role: user: "{{ username }}-orgadmin" role: admin organization: "{{ org_name }}" state: present register: result - name: Assert that user was added as org admin ansible.builtin.assert: that: - result.changed | default(false) - name: Create a User as -orgadmin without using an organization (must fail) awx.awx.user: controller_username: "{{ username }}-orgadmin" controller_password: "{{ username }}-orgadmin" username: "{{ username }}" first_name: Joe password: "{{ 65535 | random | to_uuid }}" state: present register: result ignore_errors: true - name: Assert result failed ansible.builtin.assert: that: - result is defined - result.failed is defined - result.failed | bool fail_msg: "The task did not fail as expected." success_msg: "The task failed as expected." - name: Create a User as -orgadmin using an organization awx.awx.user: controller_username: "{{ username }}-orgadmin" controller_password: "{{ username }}-orgadmin" username: "{{ username }}" first_name: Joe password: "{{ 65535 | random | to_uuid }}" state: present organization: "{{ org_name }}" register: result - name: Assert result changed ansible.builtin.assert: that: - result.changed - name: Change a User as -orgadmin by ID using an organization awx.awx.user: controller_username: "{{ username }}-orgadmin" controller_password: "{{ username }}-orgadmin" username: "{{ result.id }}" last_name: User email: joe@example.org state: present organization: "{{ org_name }}" register: result - name: Assert result changed ansible.builtin.assert: that: - result.changed - name: Check idempotency as -orgadmin using an organization awx.awx.user: controller_username: "{{ username }}-orgadmin" controller_password: "{{ username }}-orgadmin" username: "{{ username }}" first_name: Joe last_name: User organization: "{{ org_name }}" register: result - name: Assert result did not change ansible.builtin.assert: that: - not (result.changed) - name: Rename a User as -orgadmin using an organization awx.awx.user: controller_username: "{{ username }}-orgadmin" controller_password: "{{ username }}-orgadmin" username: "{{ username }}" new_username: "{{ username }}-renamed" email: joe@example.org organization: "{{ org_name }}" register: result - name: Assert result changed ansible.builtin.assert: that: - result.changed - name: Delete a User as -orgadmin using an organization awx.awx.user: controller_username: "{{ username }}-orgadmin" controller_password: "{{ username }}-orgadmin" username: "{{ username }}-renamed" email: joe@example.org state: absent organization: "{{ org_name }}" register: result - name: Assert result changed ansible.builtin.assert: that: - result.changed - name: Remove the user -orgadmin as an admin of the organization role: user: "{{ username }}-orgadmin" role: admin organization: "{{ org_name }}" state: absent register: result - name: Assert result changed ansible.builtin.assert: that: - result.changed - name: Delete the User -orgadmin awx.awx.user: username: "{{ username }}-orgadmin" password: "{{ username }}-orgadmin" state: absent organization: "{{ org_name }}" register: result - name: Assert result changed ansible.builtin.assert: that: - result.changed - name: Delete the Organization {{ org_name }} organization: name: "{{ org_name }}" state: absent register: result - name: Assert result changed ansible.builtin.assert: that: result.changed ...