Adding block integration tests

This commit is contained in:
James Cammarata
2016-02-03 14:53:47 -05:00
parent f3b691ccaf
commit f4bd3be71f
7 changed files with 236 additions and 1 deletions

View File

@@ -0,0 +1,57 @@
Using /etc/ansible/ansible.cfg as config file
2 plays in test.yml
PLAY [simple block test] *******************************************************
TASK [setup] *******************************************************************
ok: [localhost]
TASK [set block tasks run flag] ************************************************
ok: [localhost] => {"ansible_facts": {"block_tasks_run": true}, "changed": false}
TASK [fail in tasks] ***********************************************************
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "Failed as requested from task"}
TASK [set block rescue run flag] ***********************************************
ok: [localhost] => {"ansible_facts": {"block_rescue_run": true}, "changed": false}
TASK [fail in rescue] **********************************************************
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "Failed as requested from task"}
TASK [set block always run flag] ***********************************************
ok: [localhost] => {"ansible_facts": {"block_always_run": true}, "changed": false}
TASK [set nested block always run flag] ****************************************
ok: [localhost] => {"ansible_facts": {"nested_block_always_run": true}, "changed": false}
TASK [fail in always] **********************************************************
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "Failed as requested from task"}
TASK [assert] ******************************************************************
ok: [localhost] => {"changed": false, "msg": "all assertions passed"}
TASK [debug] *******************************************************************
ok: [localhost] => {
"msg": "TEST COMPLETE"
}
PLAY [block with includes] *****************************************************
TASK [setup] *******************************************************************
ok: [localhost]
TASK [include fail.yml in tasks] ***********************************************
included: /root/testing/test_blocks/fail.yml for localhost
TASK [fail] ********************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "failed from tasks"}
TASK [set_fact] ****************************************************************
ok: [localhost] => {"ansible_facts": {"rescue_run_after_include_fail": true}, "changed": false}
TASK [set_fact] ****************************************************************
ok: [localhost] => {"ansible_facts": {"always_run_after_include_fail_in_rescue": true}, "changed": false}
PLAY RECAP *********************************************************************
localhost : ok=11 changed=0 unreachable=0 failed=2

View File

@@ -0,0 +1 @@
- fail: msg="{{msg}}"

View File

@@ -0,0 +1,101 @@
- name: simple block test
hosts: localhost
gather_facts: yes
vars:
block_tasks_run: false
block_rescue_run: false
block_always_run: false
nested_block_always_run: false
tasks_run_after_failure: false
rescue_run_after_failure: false
always_run_after_failure: false
tasks:
- block:
- name: set block tasks run flag
set_fact:
block_tasks_run: true
- name: fail in tasks
fail:
- name: tasks flag should not be set after failure
set_fact:
tasks_run_after_failure: true
rescue:
- name: set block rescue run flag
set_fact:
block_rescue_run: true
- name: fail in rescue
fail:
- name: tasks flag should not be set after failure in rescue
set_fact:
rescue_run_after_failure: true
always:
- name: set block always run flag
set_fact:
block_always_run: true
- block:
- meta: noop
always:
- name: set nested block always run flag
set_fact:
nested_block_always_run: true
- name: fail in always
fail:
- name: tasks flag should not be set after failure in always
set_fact:
always_run_after_failure: true
- meta: clear_host_errors
post_tasks:
- assert:
that:
- block_tasks_run
- block_rescue_run
- block_always_run
- nested_block_always_run
- not tasks_run_after_failure
- not rescue_run_after_failure
- not always_run_after_failure
- debug: msg="TEST COMPLETE"
- name: block with includes
hosts: localhost
gather_facts: yes
vars:
rescue_run_after_include_fail: false
always_run_after_include_fail_in_rescue: false
tasks_run_after_failure: false
rescue_run_after_failure: false
always_run_after_failure: false
tasks:
- block:
- name: include fail.yml in tasks
include: fail.yml
args:
msg: "failed from tasks"
- name: tasks flag should not be set after failure
set_fact:
tasks_run_after_failure: true
rescue:
- set_fact:
rescue_run_after_include_fail: true
- name: include fail.yml in rescue
include: fail.yml
args:
msg: "failed from rescue"
- name: tasks flag should not be set after failure in rescue
set_fact:
rescue_run_after_failure: true
always:
- set_fact:
always_run_after_include_fail_in_rescue: true
- meta: clear_host_errors
post_tasks:
- assert:
that:
- rescue_run_after_include_fail
- always_run_after_include_fail_in_rescue
- not tasks_run_after_failure
- not rescue_run_after_failure
- not always_run_after_failure
- debug: msg="TEST COMPLETE"

View File

@@ -0,0 +1,3 @@
- include: fail.yml
args:
msg: "nested {{msg}}"

View File

@@ -0,0 +1,3 @@
- include: nested_fail.yml
args:
msg: "nested {{msg}}"