ansible/test/integration/targets/module_defaults/tasks/main.yml

115 lines
2.5 KiB
YAML
Raw Normal View History

- 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!"
- name: Module group defaults block
module_defaults:
group/aws:
region: us-east-1
aws_secret_key: foobar
block:
- aws_s3_bucket_facts:
ignore_errors: true
register: s3
- assert:
that:
- "'Partial credentials' in s3.msg or 'boto3 required' in s3.msg"
- name: Module group defaults block
module_defaults:
group/aws:
region: us-east-1
aws_secret_key: foobar
aws_access_key: foobar
block:
- aws_s3_bucket_facts:
ignore_errors: true
register: s3
- assert:
that:
- "'InvalidAccessKeyId' in s3.msg or 'boto3 required' in s3.msg"