ansible/test/integration/targets/module_defaults/tasks/main.yml
Sloane Hertel 51f6d129cb
support hard coded module_defaults.yml groups for collections (#69919)
* Only allow groups which were hardcoded in module_defaults.yml

only load action groups from the collection if module_defaults contains a potential group for the action

* Fix tests using modules that override those whitelisted in lib/ansible/config/module_defaults.yml

Third party modules should not be using group/ - use the action name instead

* add externalized module_defaults tests

add the missing group and collections

ci_complete

Co-authored-by: Matt Davis <mrd@redhat.com>

* changelog

ci_complete

* Fix import in tests

ci_complete

* Update with requested changes

ci_complete

* don't traceback since we don't validate the contents of module_defaults

ci_complete

Co-authored-by: Matt Davis <mrd@redhat.com>
2020-06-09 15:38:57 -07:00

89 lines
1.9 KiB
YAML

- name: main block
vars:
test_file: /tmp/ansible-test.module_defaults.foo
module_defaults:
debug:
msg: test default
file:
path: '{{ test_file }}'
block:
- debug:
register: foo
- name: test that 'debug' task used default 'msg' param
assert:
that: foo.msg == "test default"
- name: remove test file
file:
state: absent
- name: touch test file
file:
state: touch
- name: stat test file
stat:
path: '{{ test_file }}'
register: foo
- name: check that test file exists
assert:
that: foo.stat.exists
- name: remove test file
file:
state: absent
- name: test that module defaults from parent are inherited and merged
module_defaults:
# Meaningless values to make sure that 'module_defaults' gets
# evaluated for this block
foo:
bar: baz
block:
- debug:
register: foo
- assert:
that: foo.msg == "test default"
- name: test that we can override module defaults inherited from parent
module_defaults:
debug:
msg: "different test message"
block:
- debug:
register: foo
- assert:
that: foo.msg == "different test message"
- name: test that module defaults inherited from parent can be removed
module_defaults:
debug: {}
block:
- debug:
register: foo
- assert:
that:
foo.msg == "Hello world!"
- name: test that module defaults can be overridden by module params
block:
- debug:
msg: another test message
register: foo
- assert:
that:
foo.msg == "another test message"
- debug:
msg: '{{ omit }}'
register: foo
- assert:
that:
foo.msg == "Hello world!"