2021-04-06 18:14:54 +02:00
|
|
|
- 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'
|
2021-05-05 10:42:52 +02:00
|
|
|
|
|
|
|
- name: Install toml package
|
|
|
|
pip:
|
|
|
|
name:
|
|
|
|
- toml
|
|
|
|
state: present
|
|
|
|
|
|
|
|
- name: "test option: --toml with valid group name"
|
|
|
|
command: ansible-inventory --list --toml -i {{ role_path }}/files/valid_sample.yml
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- result is succeeded
|
|
|
|
|
|
|
|
- name: "test option: --toml with invalid group name"
|
|
|
|
command: ansible-inventory --list --toml -i {{ role_path }}/files/invalid_sample.yml
|
|
|
|
ignore_errors: true
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- result is failed
|
|
|
|
- '"ERROR! The source inventory contains a non-string key" in result.stderr'
|
2021-06-10 21:07:55 +02:00
|
|
|
|
|
|
|
- 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') | string }}"
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- json_inventory_file 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
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- name: "test toml output with unicode characters"
|
|
|
|
command: ansible-inventory --list --toml -i {{ role_path }}/files/unicode.yml
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- result is succeeded
|
|
|
|
- result.stdout is contains('příbor')
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- name: "test toml output file with unicode characters"
|
|
|
|
command: ansible-inventory --list --toml --output unicode_inventory.toml -i {{ role_path }}/files/unicode.yml
|
|
|
|
|
|
|
|
- set_fact:
|
|
|
|
toml_inventory_file: "{{ lookup('file', 'unicode_inventory.toml') | string }}"
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- toml_inventory_file is contains('příbor')
|
|
|
|
always:
|
|
|
|
- file:
|
|
|
|
name: unicode_inventory.toml
|
|
|
|
state: absent
|
|
|
|
when: ansible_python.version.major|int == 3
|