ansible/test/integration/targets/lookup_ini/test_errors.yml
Sam Doran 0affe4d027
ini lookup - catch and handle duplicate key and missing section errors (#74629)
* Remove unused import
* Add integration tests for errors
* Cleanup formatting on existing tests
* Add changelog
2021-05-12 16:57:02 -04:00

50 lines
1.7 KiB
YAML

- name: Test INI lookup errors
hosts: testhost
tasks:
- name: Test for failure on Python 3
when: ansible_facts.python.version_info[0] >= 3
block:
- name: Lookup a file with duplicate keys
debug:
msg: "{{ lookup('ini', 'reggae', file='duplicate.ini', section='reggae') }}"
ignore_errors: yes
register: duplicate
- name: Lookup a file with keys that differ only in case
debug:
msg: "{{ lookup('ini', 'reggae', file='duplicate_case_check.ini', section='reggae') }}"
ignore_errors: yes
register: duplicate_case_sensitive
- name: Ensure duplicate key errers were handled properly
assert:
that:
- duplicate is failed
- "'Duplicate option in' in duplicate.msg"
- duplicate_case_sensitive is failed
- "'Duplicate option in' in duplicate_case_sensitive.msg"
- name: Lookup a file with a missing section
debug:
msg: "{{ lookup('ini', 'reggae', file='lookup.ini', section='missing') }}"
ignore_errors: yes
register: missing_section
- name: Ensure error was shown for a missing section
assert:
that:
- missing_section is failed
- "'No section' in missing_section.msg"
- name: Mix options type and push key out of order
debug:
msg: "{{ lookup('ini', 'file=lookup.ini', 'value1', section='value_section') }}"
register: bad_mojo
ignore_errors: yes
- name: Verify bad behavior reported an error
assert:
that:
- bad_mojo is failed
- '"No key to lookup was provided as first term with in string inline option" in bad_mojo.msg'