--- - name: Generate a test ID set_fact: test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}" - name: Generate names set_fact: inv_name1: "AWX-Collection-tests-inventory-inv1-{{ test_id }}" inv_name2: "AWX-Collection-tests-inventory-inv2-{{ test_id }}" cred_name1: "AWX-Collection-tests-inventory-cred1-{{ test_id }}" group_name1: "AWX-Collection-tests-instance_group-group1-{{ test_id }}" - block: - name: Create an Instance Group instance_group: name: "{{ group_name1 }}" state: present register: result - assert: that: - "result is changed" - name: Create an Insights Credential credential: name: "{{ cred_name1 }}" organization: Default kind: insights inputs: username: joe password: secret state: present register: result - assert: that: - "result is changed" - name: Create an Inventory inventory: name: "{{ inv_name1 }}" organization: Default insights_credential: "{{ result.id }}" instance_groups: - "{{ group_name1 }}" state: present register: result - assert: that: - "result is changed" - name: Test Inventory module idempotency inventory: name: "{{ result.id }}" organization: Default insights_credential: "{{ cred_name1 }}" state: present register: result - assert: that: - "result is not changed" - name: Copy an inventory inventory: name: "copy_{{ inv_name1 }}" copy_from: "{{ inv_name1 }}" organization: Default description: "Our Foo Cloud Servers" state: present register: result - assert: that: - result.copied - name: Delete an Inventory inventory: name: "copy_{{ inv_name1 }}" organization: Default state: absent register: result - assert: that: - "result is changed" - name: Fail Change Regular to Smart inventory: name: "{{ inv_name1 }}" organization: Default kind: smart register: result ignore_errors: true - assert: that: - "result is failed" - name: Create a smart inventory inventory: name: "{{ inv_name2 }}" organization: Default kind: smart host_filter: name=foo register: result - assert: that: - "result is changed" - name: Delete a smart inventory inventory: name: "{{ inv_name2 }}" organization: Default kind: smart host_filter: name=foo state: absent register: result - assert: that: - "result is changed" - name: Delete an Inventory inventory: name: "{{ inv_name1 }}" organization: Default state: absent register: result - assert: that: - "result is changed" - name: Delete a Non-Existent Inventory inventory: name: "{{ inv_name1 }}" organization: Default state: absent register: result - assert: that: - "result is not changed" - name: Check module fails with correct msg inventory: name: test-inventory description: Inventory Description organization: test-non-existing-org state: present register: result ignore_errors: true - assert: that: - "result is failed" - "result is not changed" - "'test-non-existing-org' in result.msg" - "result.total_results == 0" always: - name: Delete Inventories inventory: name: "{{ item }}" organization: Default state: absent loop: - "{{ inv_name1 }}" - "{{ inv_name2 }}" - "copy_{{ inv_name1 }}" - name: Delete the instance groups instance_group: name: "{{ group_name1 }}" state: absent - name: Delete Insights Credential credential: name: "{{ cred_name1 }}" organization: "Default" kind: insights state: absent