summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/lookup_ini/test_errors.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/lookup_ini/test_errors.yml')
-rw-r--r--test/integration/targets/lookup_ini/test_errors.yml62
1 files changed, 62 insertions, 0 deletions
diff --git a/test/integration/targets/lookup_ini/test_errors.yml b/test/integration/targets/lookup_ini/test_errors.yml
new file mode 100644
index 0000000..c1832a3
--- /dev/null
+++ b/test/integration/targets/lookup_ini/test_errors.yml
@@ -0,0 +1,62 @@
+- 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', 'name', 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', 'name', file='duplicate_case_check.ini', section='reggae') }}"
+ ignore_errors: yes
+ register: duplicate_case_sensitive
+
+ - name: Ensure duplicate key errors 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', 'name', 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'
+
+ - name: Test invalid option
+ debug:
+ msg: "{{ lookup('ini', 'invalid=option') }}"
+ ignore_errors: yes
+ register: invalid_option
+
+ - name: Ensure invalid option failed
+ assert:
+ that:
+ - invalid_option is failed
+ - "'is not a valid option' in invalid_option.msg"