Files
awx/awx_collection/tests/integration/targets/user/tasks/main.yml
Lila Yasin cd12f4dcac Update Collections Syntax to get Collection related CI Checks Passing (#16061)
* Fix collection task breaking collection ci checks

* Patch ansible.module_utils.basic._ANSIBLE_PROFILE directly

* Conditionalize other santity assertions

* Remove added blank lines and identifier from Fail if absent and no identifier set
2025-08-06 14:56:21 -04:00

344 lines
8.4 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
ansible.builtin.user:
name: "{{ username }}"
password: "{{ 65535 | random | to_uuid }}"
state: present
register: result
- name: Assert result changed
ansible.builtin.assert:
that:
- result.changed
- name: Create a user with present
ansible.builtin.user:
name: "{{ username }}"
password: "{{ 65535 | random | to_uuid }}"
state: present
register: result
- name: Assert results did not change
ansible.builtin.assert:
that:
- not result.changed
- name: Delete a user
ansible.builtin.user:
name: "{{ username }}"
password: "{{ 65535 | random | to_uuid }}"
state: absent
register: result
- name: Assert result changed
ansible.builtin.assert:
that:
- result.changed
- name: Create a user with present
ansible.builtin.user:
name: "{{ username }}"
password: "{{ 65535 | random | to_uuid }}"
state: present
register: result
- name: Assert result changed
ansible.builtin.assert:
that:
- result.changed
- name: Change a user by ID
ansible.builtin.user:
name: "{{ result.id }}"
state: present
register: result
- name: Assert result changed
ansible.builtin.assert:
that:
- result.changed
- name: Check idempotency
ansible.builtin.user:
name: "{{ username }}"
register: result
- name: Assert result did not change
ansible.builtin.assert:
that:
- not (result.changed)
- name: Rename a User
ansible.builtin.user:
name: "{{ username }}"
register: result
- name: Assert result changed
ansible.builtin.assert:
that:
- result.changed
- name: Delete a User
ansible.builtin.user:
name: "{{ username }}-renamed"
state: absent
register: result
- name: Assert result changed
ansible.builtin.assert:
that:
- result.changed
- name: Create an Auditor
awx.awx.user:
username: "{{ username }}"
password: "{{ 65535 | random | to_uuid }}"
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
ansible.builtin.user:
name: "{{ username }}"
state: absent
register: result
- name: Assert result changed
ansible.builtin.assert:
that:
- result.changed
- name: Test SSL parameter
ansible.builtin.user:
name: "{{ username }}"
password: "{{ 65535 | random | to_uuid }}"
state: present
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.failed
- 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
...