summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/ansible-inventory/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/ansible-inventory/tasks/main.yml')
-rw-r--r--test/integration/targets/ansible-inventory/tasks/main.yml147
1 files changed, 147 insertions, 0 deletions
diff --git a/test/integration/targets/ansible-inventory/tasks/main.yml b/test/integration/targets/ansible-inventory/tasks/main.yml
new file mode 100644
index 0000000..84ac2c3
--- /dev/null
+++ b/test/integration/targets/ansible-inventory/tasks/main.yml
@@ -0,0 +1,147 @@
+- name: "No command supplied"
+ command: ansible-inventory
+ ignore_errors: true
+ register: result
+
+- assert:
+ that:
+ - result is failed
+ - '"ERROR! No action selected, at least one of --host, --graph or --list needs to be specified." in result.stderr'
+
+- name: "test option: --list --export"
+ command: ansible-inventory --list --export
+ register: result
+
+- assert:
+ that:
+ - result is succeeded
+
+- name: "test option: --list --yaml --export"
+ command: ansible-inventory --list --yaml --export
+ register: result
+
+- assert:
+ that:
+ - result is succeeded
+
+- name: "test option: --list --output"
+ command: ansible-inventory --list --output junk.txt
+ register: result
+
+- name: stat output file
+ stat:
+ path: junk.txt
+ register: st
+
+- assert:
+ that:
+ - result is succeeded
+ - st.stat.exists
+
+- name: "test option: --graph"
+ command: ansible-inventory --graph
+ register: result
+
+- assert:
+ that:
+ - result is succeeded
+
+- name: "test option: --graph --vars"
+ command: ansible-inventory --graph --vars
+ register: result
+
+- assert:
+ that:
+ - result is succeeded
+
+- name: "test option: --graph with bad pattern"
+ command: ansible-inventory --graph invalid
+ ignore_errors: true
+ register: result
+
+- assert:
+ that:
+ - result is failed
+ - '"ERROR! Pattern must be valid group name when using --graph" in result.stderr'
+
+- name: "test option: --host localhost"
+ command: ansible-inventory --host localhost
+ register: result
+
+- assert:
+ that:
+ - result is succeeded
+
+- name: "test option: --host with invalid host"
+ command: ansible-inventory --host invalid
+ ignore_errors: true
+ register: result
+
+- assert:
+ that:
+ - result is failed
+ - '"ERROR! Could not match supplied host pattern, ignoring: invalid" in result.stderr'
+
+- name: "test json output with unicode characters"
+ command: ansible-inventory --list -i {{ role_path }}/files/unicode.yml
+ register: result
+
+- assert:
+ that:
+ - result is succeeded
+ - result.stdout is contains('příbor')
+
+- block:
+ - name: "test json output file with unicode characters"
+ command: ansible-inventory --list --output unicode_inventory.json -i {{ role_path }}/files/unicode.yml
+
+ - set_fact:
+ json_inventory_file: "{{ lookup('file', 'unicode_inventory.json') }}"
+
+ - assert:
+ that:
+ - json_inventory_file|string is contains('příbor')
+ always:
+ - file:
+ name: unicode_inventory.json
+ state: absent
+
+- name: "test yaml output with unicode characters"
+ command: ansible-inventory --list --yaml -i {{ role_path }}/files/unicode.yml
+ register: result
+
+- assert:
+ that:
+ - result is succeeded
+ - result.stdout is contains('příbor')
+
+- block:
+ - name: "test yaml output file with unicode characters"
+ command: ansible-inventory --list --yaml --output unicode_inventory.yaml -i {{ role_path }}/files/unicode.yml
+
+ - set_fact:
+ yaml_inventory_file: "{{ lookup('file', 'unicode_inventory.yaml') | string }}"
+
+ - assert:
+ that:
+ - yaml_inventory_file is contains('příbor')
+ always:
+ - file:
+ name: unicode_inventory.yaml
+ state: absent
+
+- include_tasks: toml.yml
+ loop:
+ -
+ - toml<0.10.0
+ -
+ - toml
+ -
+ - tomli
+ - tomli-w
+ -
+ - tomllib
+ - tomli-w
+ loop_control:
+ loop_var: toml_package
+ when: toml_package is not contains 'tomllib' or (toml_package is contains 'tomllib' and ansible_facts.python.version_info >= [3, 11])