ansible/test/integration/targets/lookup_dict/tasks/main.yml
Matt Martz 195c8b496e
Add integration coverage to replace hash_vault and consul_session (#71775)
* Add integration coverage to replace hash_vault and consul_session

ci_complete
ci_coverage

* Remove errant list element
2020-09-16 16:40:26 -05:00

56 lines
1.2 KiB
YAML

- name: Define users dict
set_fact:
users:
alice:
name: Alice
age: 21
bob:
name: Bob
age: 22
- name: Convert users dict to list
set_fact:
user_list: "{{ lookup('dict', users) | sort(attribute='key') }}"
- name: Verify results
assert:
that:
- user_list | length == 2
- user_list[0].key == 'alice'
- user_list[0].value | length == 2
- user_list[0].value.name == 'Alice'
- user_list[0].value.age == 21
- user_list[1].key == 'bob'
- user_list[1].value | length == 2
- user_list[1].value.name == 'Bob'
- user_list[1].value.age == 22
- name: Convert a non-dict (failure expected)
set_fact:
bad_fact: "{{ bbbbad }}"
vars:
bbbbad: "{{ lookup('dict', 1) }}"
register: result
ignore_errors: yes
- name: Verify conversion failed
assert:
that:
- result is failed
- name: Define simple dict
set_fact:
simple:
hello: World
- name: Convert using with_dict to cause terms to not be a list
set_fact:
hello: "{{ item }}"
with_dict: "{{ simple }}"
- name: Verify conversion
assert:
that:
- hello | length == 2
- hello.key == 'hello'
- hello.value == 'World'