mirror of
https://github.com/ansible/awx.git
synced 2026-02-26 07:26:03 -03:30
Add integration test and docs for workflow_approval module
This commit is contained in:
@@ -57,7 +57,15 @@ extends_documentation_fragment: awx.awx.auth
|
|||||||
|
|
||||||
|
|
||||||
EXAMPLES = """
|
EXAMPLES = """
|
||||||
- name: Launch a workflow with a timeout of 10 seconds
|
- name: Create a workflow approval node
|
||||||
|
workflow_job_template_node:
|
||||||
|
identifier: approval_test
|
||||||
|
approval_node:
|
||||||
|
name: approval_jt_name
|
||||||
|
timeout: 900
|
||||||
|
workflow: "Test Workflow"
|
||||||
|
|
||||||
|
- name: Launch the workflow with a timeout of 10 seconds
|
||||||
workflow_launch:
|
workflow_launch:
|
||||||
workflow_template: "Test Workflow"
|
workflow_template: "Test Workflow"
|
||||||
wait: False
|
wait: False
|
||||||
@@ -66,7 +74,7 @@ EXAMPLES = """
|
|||||||
- name: Wait for approval node to activate and approve
|
- name: Wait for approval node to activate and approve
|
||||||
workflow_approval:
|
workflow_approval:
|
||||||
workflow_job_id: "{{ workflow.id }}"
|
workflow_job_id: "{{ workflow.id }}"
|
||||||
name: Approve Me
|
name: approval_jt_name
|
||||||
interval: 10
|
interval: 10
|
||||||
timeout: 20
|
timeout: 20
|
||||||
action: deny
|
action: deny
|
||||||
|
|||||||
@@ -0,0 +1,57 @@
|
|||||||
|
---
|
||||||
|
- name: Generate a random string for names
|
||||||
|
set_fact:
|
||||||
|
test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
|
||||||
|
test_prefix: AWX-Collection-tests-workflow_approval
|
||||||
|
|
||||||
|
- name: Generate random names for test objects
|
||||||
|
set_fact:
|
||||||
|
org_name: "{{ test_prefix }}-org-{{ test_id }}"
|
||||||
|
approval_node_name: "{{ test_prefix }}-node-{{ test_id }}"
|
||||||
|
wfjt_name: "{{ test_prefix }}-wfjt-{{ test_id }}"
|
||||||
|
|
||||||
|
- block:
|
||||||
|
- name: Create a new organization for test isolation
|
||||||
|
organization:
|
||||||
|
name: "{{ org_name }}"
|
||||||
|
|
||||||
|
- name: Create a workflow job template
|
||||||
|
workflow_job_template:
|
||||||
|
name: "{{ wfjt_name }}"
|
||||||
|
organization: "{{ org_name }}"
|
||||||
|
|
||||||
|
- name: Create approval node
|
||||||
|
workflow_job_template_node:
|
||||||
|
identifier: approval_test
|
||||||
|
approval_node:
|
||||||
|
name: "{{ approval_node_name }}" # Referenced later on
|
||||||
|
timeout: 900
|
||||||
|
workflow: "{{ wfjt_name }}"
|
||||||
|
|
||||||
|
# Launch and approve the workflow
|
||||||
|
- name: Launch the workflow
|
||||||
|
workflow_launch:
|
||||||
|
workflow_template: "{{ wfjt_name }}"
|
||||||
|
wait: False
|
||||||
|
register: workflow_job
|
||||||
|
|
||||||
|
- name: Wait for approval node to activate and approve
|
||||||
|
workflow_approval:
|
||||||
|
workflow_job_id: "{{ workflow_job.id }}"
|
||||||
|
name: "{{ approval_node_name }}"
|
||||||
|
interval: 10
|
||||||
|
timeout: 20
|
||||||
|
action: approve
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "result is changed"
|
||||||
|
- "result is not failed"
|
||||||
|
|
||||||
|
always:
|
||||||
|
- name: Delete the workflow job template
|
||||||
|
workflow_job_template:
|
||||||
|
name: "{{ wfjt_name }}"
|
||||||
|
state: absent
|
||||||
|
ignore_errors: True
|
||||||
Reference in New Issue
Block a user