Files
awx/awx_collection/tests/integration/targets/inventory/tasks/main.yml
2021-06-08 14:33:23 -04:00

187 lines
4.2 KiB
YAML

---
- 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-tower_inventory-inv1-{{ test_id }}"
inv_name2: "AWX-Collection-tests-tower_inventory-inv2-{{ test_id }}"
cred_name1: "AWX-Collection-tests-tower_inventory-cred1-{{ test_id }}"
group_name1: "AWX-Collection-tests-tower_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