ansible/test/integration/targets/lookup_vars/tasks/main.yml

56 lines
1.5 KiB
YAML

- name: Test that we can give it a single value and receive a single value
set_fact:
var_host: '{{ lookup("vars", "ansible_host") }}'
- assert:
that:
- 'var_host == ansible_host'
- name: Test that we can give a list of values to var and receive a list of values back
set_fact:
var_host_info: '{{ query("vars", "ansible_host", "ansible_connection") }}'
- assert:
that:
- 'var_host_info[0] == ansible_host'
- 'var_host_info[1] == ansible_connection'
- block:
- name: EXPECTED FAILURE - test invalid var
debug:
var: '{{ lookup("vars", "doesnotexist") }}'
- fail:
msg: "should not get here"
rescue:
- assert:
that:
- ansible_failed_task.name == "EXPECTED FAILURE - test invalid var"
- expected in ansible_failed_result.msg
vars:
expected: "No variable found with this name: doesnotexist"
- block:
- name: EXPECTED FAILURE - test invalid var type
debug:
var: '{{ lookup("vars", 42) }}'
- fail:
msg: "should not get here"
rescue:
- assert:
that:
- ansible_failed_task.name == "EXPECTED FAILURE - test invalid var type"
- expected in ansible_failed_result.msg
vars:
expected: "Invalid setting identifier, \"42\" is not a string"
- name: test default
set_fact:
expected_default_var: '{{ lookup("vars", "doesnotexist", default="some text") }}'
- assert:
that:
- expected_default_var == "some text"