mirror of
https://github.com/ansible/awx.git
synced 2026-05-08 01:47:35 -02:30
@@ -73,8 +73,8 @@
|
||||
|
||||
- name: Test Inventory Source Update
|
||||
tower_inventory_source_update:
|
||||
name: "{{ inv_source2 }}"
|
||||
inventory: "{{ inv_name }}"
|
||||
inventory_source: "{{ inv_source2 }}"
|
||||
organization: Default
|
||||
register: result
|
||||
|
||||
@@ -84,8 +84,23 @@
|
||||
|
||||
- name: Test Inventory Source Update for All Sources
|
||||
tower_inventory_source_update:
|
||||
name: "{{ item.name }}"
|
||||
inventory: "{{ inv_name }}"
|
||||
organization: Default
|
||||
wait: true
|
||||
loop: "{{ query('awx.awx.tower_api', 'inventory_sources', query_params={ 'inventory': created_inventory.id }, expect_objects=True, return_objects=True) }}"
|
||||
loop_control:
|
||||
label: "{{ item.name }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result is changed"
|
||||
|
||||
- name: Test Inventory Source Update for All Sources (using inventory_source as alias for name)
|
||||
tower_inventory_source_update:
|
||||
inventory_source: "{{ item.name }}"
|
||||
inventory: "{{ inv_name }}"
|
||||
organization: Default
|
||||
wait: true
|
||||
loop: "{{ query('awx.awx.tower_api', 'inventory_sources', query_params={ 'inventory': created_inventory.id }, expect_objects=True, return_objects=True) }}"
|
||||
|
||||
@@ -135,3 +135,49 @@
|
||||
name: "{{ proj_name }}"
|
||||
organization: Default
|
||||
state: absent
|
||||
|
||||
# tower workflow wait test
|
||||
- name: Generate a random string for test
|
||||
set_fact:
|
||||
test_id1: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
|
||||
when: test_id1 is not defined
|
||||
|
||||
- name: Generate names
|
||||
set_fact:
|
||||
wfjt_name2: "AWX-Collection-tests-tower_workflow_launch--wfjt1-{{ test_id1 }}"
|
||||
|
||||
- name: Create our workflow
|
||||
tower_workflow_job_template:
|
||||
name: "{{ wfjt_name2 }}"
|
||||
state: present
|
||||
|
||||
- name: Add a node
|
||||
tower_workflow_job_template_node:
|
||||
workflow_job_template: "{{ wfjt_name2 }}"
|
||||
unified_job_template: "Demo Job Template"
|
||||
identifier: leaf
|
||||
register: new_node
|
||||
|
||||
- name: Kick off a workflow
|
||||
tower_workflow_launch:
|
||||
workflow_template: "{{ wfjt_name2 }}"
|
||||
ignore_errors: true
|
||||
register: workflow
|
||||
|
||||
- name: Wait for the Workflow Job to finish
|
||||
tower_job_wait:
|
||||
job_id: "{{ workflow.job_info.id }}"
|
||||
job_type: "workflow_jobs"
|
||||
register: wait_workflow_results
|
||||
|
||||
# Make sure it worked and that we have some data in our results
|
||||
- assert:
|
||||
that:
|
||||
- wait_workflow_results is successful
|
||||
- "'elapsed' in wait_workflow_results"
|
||||
- "'id' in wait_workflow_results"
|
||||
|
||||
- name: Clean up test workflow
|
||||
tower_workflow_job_template:
|
||||
name: "{{ wfjt_name2 }}"
|
||||
state: absent
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
demo_project_name: "AWX-Collection-tests-tower_workflow_job_template-proj-{{ test_id }}"
|
||||
jt1_name: "AWX-Collection-tests-tower_workflow_job_template-jt1-{{ test_id }}"
|
||||
jt2_name: "AWX-Collection-tests-tower_workflow_job_template-jt2-{{ test_id }}"
|
||||
approval_node_name: "AWX-Collection-tests-tower_workflow_approval_node-{{ test_id }}"
|
||||
lab1: "AWX-Collection-tests-tower_job_template-lab1-{{ test_id }}"
|
||||
wfjt_name: "AWX-Collection-tests-tower_workflow_job_template-wfjt-{{ test_id }}"
|
||||
email_not: "AWX-Collection-tests-tower_job_template-email-not-{{ test_id }}"
|
||||
@@ -145,6 +146,68 @@
|
||||
unified_job_template: "{{ jt1_name }}"
|
||||
workflow: "{{ wfjt_name }}"
|
||||
|
||||
- name: Fail if no name is set for approval
|
||||
tower_workflow_job_template_node:
|
||||
identifier: approval_test
|
||||
approval_node:
|
||||
description: "{{ approval_node_name }}"
|
||||
workflow: "{{ wfjt_name }}"
|
||||
register: no_name_results
|
||||
ignore_errors: true
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "no_name_results.msg == 'Approval node name is required to create approval node.'"
|
||||
|
||||
- name: Fail if absent and no identifier set
|
||||
tower_workflow_job_template_node:
|
||||
approval_node:
|
||||
description: "{{ approval_node_name }}"
|
||||
workflow: "{{ wfjt_name }}"
|
||||
state: absent
|
||||
register: no_identifier_results
|
||||
ignore_errors: true
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "no_identifier_results.msg == 'missing required arguments: identifier'"
|
||||
|
||||
- name: Fail if present and no unified job template set
|
||||
tower_workflow_job_template_node:
|
||||
identifier: approval_test
|
||||
workflow: "{{ wfjt_name }}"
|
||||
register: no_unified_results
|
||||
ignore_errors: true
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "no_unified_results.msg == 'state is present but any of the following are missing: unified_job_template, approval_node, success_nodes, always_nodes, failure_nodes'"
|
||||
|
||||
- name: Create approval node
|
||||
tower_workflow_job_template_node:
|
||||
identifier: approval_test
|
||||
approval_node:
|
||||
name: "{{ approval_node_name }}"
|
||||
timeout: 900
|
||||
workflow: "{{ wfjt_name }}"
|
||||
|
||||
- name: Create link for root node
|
||||
tower_workflow_job_template_node:
|
||||
identifier: root
|
||||
workflow: "{{ wfjt_name }}"
|
||||
success_nodes:
|
||||
- approval_test
|
||||
always_nodes:
|
||||
- leaf
|
||||
|
||||
- name: Delete approval node
|
||||
tower_workflow_job_template_node:
|
||||
identifier: approval_test
|
||||
approval_node:
|
||||
name: "{{ approval_node_name }}"
|
||||
state: absent
|
||||
workflow: "{{ wfjt_name }}"
|
||||
|
||||
- name: Add started notifications to workflow job template
|
||||
tower_workflow_job_template:
|
||||
name: "{{ wfjt_name }}"
|
||||
|
||||
Reference in New Issue
Block a user