You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/ansible-inventory/tasks/toml.yml

67 lines
1.7 KiB
YAML

- name: Ensure no toml packages are installed
pip:
name:
- tomli
- tomli-w
- toml
state: absent
- name: Install toml package
pip:
name: '{{ toml_package|difference(["tomllib"]) }}'
state: present
- name: test toml parsing
command: ansible-inventory --list --toml -i {{ role_path }}/files/valid_sample.toml
register: toml_in
- assert:
that:
- >
'foo = "bar"' in toml_in.stdout
- 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" in result.stderr
- 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