mirror of
https://github.com/ZwareBear/awx.git
synced 2026-03-19 23:33:37 -05:00
106 lines
3.2 KiB
YAML
106 lines
3.2 KiB
YAML
---
|
|
- name: Generate a random string for test
|
|
set_fact:
|
|
test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
|
|
when: test_id is not defined
|
|
|
|
- name: Generate names
|
|
set_fact:
|
|
org_name1: "AWX-Collection-tests-import-organization-{{ test_id }}"
|
|
org_name2: "AWX-Collection-tests-import-organization2-{{ test_id }}"
|
|
|
|
- block:
|
|
- name: "Import something"
|
|
import:
|
|
assets:
|
|
organizations:
|
|
- name: "{{ org_name1 }}"
|
|
description: ""
|
|
max_hosts: 0
|
|
related:
|
|
notification_templates: []
|
|
notification_templates_started: []
|
|
notification_templates_success: []
|
|
notification_templates_error: []
|
|
notification_templates_approvals: []
|
|
natural_key:
|
|
name: "{{ org_name1 }}"
|
|
type: "organization"
|
|
register: import_output
|
|
|
|
- assert:
|
|
that:
|
|
- import_output is changed
|
|
|
|
- name: "Import the same thing again"
|
|
import:
|
|
assets:
|
|
organizations:
|
|
- name: "{{ org_name1 }}"
|
|
description: ""
|
|
max_hosts: 0
|
|
related:
|
|
notification_templates: []
|
|
notification_templates_started: []
|
|
notification_templates_success: []
|
|
notification_templates_error: []
|
|
notification_templates_approvals: []
|
|
natural_key:
|
|
name: "{{ org_name1 }}"
|
|
type: "organization"
|
|
register: import_output
|
|
ignore_errors: true
|
|
|
|
- assert:
|
|
that:
|
|
- import_output is not failed
|
|
# - import_output is not changed # FIXME: module not idempotent
|
|
|
|
- name: "Write out a json file"
|
|
copy:
|
|
content: |
|
|
{
|
|
"organizations": [
|
|
{
|
|
"name": "{{ org_name2 }}",
|
|
"description": "",
|
|
"max_hosts": 0,
|
|
"related": {
|
|
"notification_templates": [],
|
|
"notification_templates_started": [],
|
|
"notification_templates_success": [],
|
|
"notification_templates_error": [],
|
|
"notification_templates_approvals": []
|
|
},
|
|
"natural_key": {
|
|
"name": "{{ org_name2 }}",
|
|
"type": "organization"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
dest: ./org.json
|
|
|
|
- name: "Load assets from a file"
|
|
import:
|
|
assets: "{{ lookup('file', 'org.json') | from_json() }}"
|
|
register: import_output
|
|
|
|
- assert:
|
|
that:
|
|
- import_output is changed
|
|
|
|
always:
|
|
- name: Remove organizations
|
|
organization:
|
|
name: "{{ item }}"
|
|
state: absent
|
|
loop:
|
|
- "{{ org_name1 }}"
|
|
- "{{ org_name2 }}"
|
|
|
|
- name: Delete org.json
|
|
file:
|
|
path: ./org.json
|
|
state: absent
|