80 lines
2.5 KiB
YAML
80 lines
2.5 KiB
YAML
|
---
|
||
|
- hosts: localhost
|
||
|
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."
|