Files
awx/awx_collection/tests/integration/targets/user/tasks/main.yml
Lila Yasin b730bfa193 Continue work on collection ci (#16071)
* Fix some patterns in collection test playbooks

* Revert change to ansible.builtin.user

* Revert change to WFJT for dup label error

* Add error handling and fix references

* Add back lookup organization

* Fix all remainingfailing syntax in workflow_job_template

* Allow creating galaxy credential types without an organization (#16077)

* remove requirement for galaxy credentials to belong to an organization

* remove organization check for galaxy credential type

---------

Co-authored-by: AlanCoding <arominge@redhat.com>
Co-authored-by: Peter Braun <pbraun@redhat.com>
2025-08-20 10:19:53 -04:00

368 lines
9.0 KiB
YAML

---
- 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
...