ansible/test/integration/targets/argspec/tasks/main.yml
Matt Martz ab2b339dd6
More explicit argspec tests (#72064)
* Add more explicit coverage of argspec functionality

* fail_on_missing_params

* ci_complete ci_coverage

* Remove incidental_aws_step_functions_state_machine

* ci_complete ci_coverage

* Remove incidental_cs_service_offering

* ci_complete ci_coverage
2020-10-02 14:53:09 -05:00

146 lines
2.8 KiB
YAML

- argspec:
state: absent
- argspec:
state: present
register: argspec_required_if_fail
ignore_errors: true
- argspec:
state: present
path: foo
- argspec:
state: present
content: foo
- argspec:
state: present
content: foo
path: foo
register: argspec_mutually_exclusive_fail
ignore_errors: true
- argspec:
mapping:
foo: bar
register: argspec_good_mapping
- argspec:
mapping: foo=bar
register: argspec_good_mapping_kv
- argspec:
mapping: !!str '{"foo": "bar"}'
register: argspec_good_mapping_json
- argspec:
mapping: foo
register: argspec_bad_mapping_string
ignore_errors: true
- argspec:
mapping: 1
register: argspec_bad_mapping_int
ignore_errors: true
- argspec:
mapping:
- foo
- bar
register: argspec_bad_mapping_list
ignore_errors: true
- argspec:
required_together:
- thing: foo
other: bar
another: baz
- argspec:
required_together:
- another: baz
- argspec:
required_together:
- thing: foo
register: argspec_required_together_fail
ignore_errors: true
- argspec:
required_together:
- thing: foo
other: bar
- argspec:
required_if:
- thing: bar
- argspec:
required_if:
- thing: foo
other: bar
- argspec:
required_if:
- thing: foo
register: argpsec_required_if_fail
ignore_errors: true
- argspec:
json: !!str '{"foo": "bar"}'
register: argspec_good_json_string
- argspec:
json:
foo: bar
register: argspec_good_json_dict
- argspec:
json: 1
register: argspec_bad_json
ignore_errors: true
- argspec:
fail_on_missing_params:
- needed_param
needed_param: whatever
- argspec:
fail_on_missing_params:
- needed_param
register: argspec_fail_on_missing_params_bad
ignore_errors: true
- assert:
that:
- argspec_required_if_fail is failed
- argspec_mutually_exclusive_fail is failed
- argspec_good_mapping is successful
- >-
argspec_good_mapping.mapping == {'foo': 'bar'}
- argspec_good_mapping_json is successful
- >-
argspec_good_mapping_json.mapping == {'foo': 'bar'}
- argspec_good_mapping_kv is successful
- >-
argspec_good_mapping_kv.mapping == {'foo': 'bar'}
- argspec_bad_mapping_string is failed
- argspec_bad_mapping_int is failed
- argspec_bad_mapping_list is failed
- argspec_required_together_fail is failed
- argpsec_required_if_fail is failed
- argspec_good_json_string is successful
- >
argspec_good_json_string.json == '{"foo": "bar"}'
- argspec_good_json_dict is successful
- >
argspec_good_json_dict.json == '{"foo": "bar"}'
- argspec_bad_json is failed
- argspec_fail_on_missing_params_bad is failed