summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/set_stats/test_simple.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/set_stats/test_simple.yml')
-rw-r--r--test/integration/targets/set_stats/test_simple.yml79
1 files changed, 79 insertions, 0 deletions
diff --git a/test/integration/targets/set_stats/test_simple.yml b/test/integration/targets/set_stats/test_simple.yml
new file mode 100644
index 0000000..0f62120
--- /dev/null
+++ b/test/integration/targets/set_stats/test_simple.yml
@@ -0,0 +1,79 @@
+---
+- hosts: testhost
+ gather_facts: false
+ tasks:
+ - name: test simple data with defaults
+ set_stats:
+ data:
+ my_int: 42
+ my_string: "foo"
+ register: result
+
+ - name: assert simple data return
+ assert:
+ that:
+ - result is succeeded
+ - not result.changed
+ - '"ansible_stats" in result'
+ - '"data" in result.ansible_stats'
+ - result.ansible_stats.data.my_int == 42
+ - result.ansible_stats.data.my_string == "foo"
+ - '"per_host" in result.ansible_stats'
+ - not result.ansible_stats.per_host
+ - '"aggregate" in result.ansible_stats'
+ - result.ansible_stats.aggregate
+
+ - name: test per_host and aggregate settings
+ set_stats:
+ data:
+ my_int: 42
+ per_host: yes
+ aggregate: no
+ register: result
+
+ - name: assert per_host and aggregate changes
+ assert:
+ that:
+ - result is succeeded
+ - not result.changed
+ - '"ansible_stats" in result'
+ - '"per_host" in result.ansible_stats'
+ - result.ansible_stats.per_host
+ - '"aggregate" in result.ansible_stats'
+ - not result.ansible_stats.aggregate
+
+ - name: Test bad call
+ block:
+ - name: "EXPECTED FAILURE - test invalid data type"
+ set_stats:
+ data:
+ - 1
+ - 2
+
+ - fail:
+ msg: "should not get here"
+ rescue:
+ - assert:
+ that:
+ - ansible_failed_task.name == "EXPECTED FAILURE - test invalid data type"
+ - ansible_failed_result.msg == "The 'data' option needs to be a dictionary/hash"
+
+ - name: Test options from template
+ set_stats:
+ data:
+ my_string: "foo"
+ aggregate: "x"
+
+ - name: Test bad data
+ block:
+ - name: "EXPECTED FAILURE - bad data"
+ set_stats:
+ data:
+ .bad: 1
+ - fail:
+ msg: "should not get here"
+ rescue:
+ - assert:
+ that:
+ - ansible_failed_task.name == "EXPECTED FAILURE - bad data"
+ - ansible_failed_result.msg == "The variable name '.bad' is not valid. Variables must start with a letter or underscore character, and contain only letters, numbers and underscores."