d5480572c8
Change: - Add integration tests for various cases - Fix wrong use of "its" in an exception thrown in varnames when it throws an AnsibleError, given a term of the wrong type. Test Plan: - new tests, CI Tickets: - Fixes #70546 Signed-off-by: Rick Elrod <rick@elrod.me>
38 lines
1.3 KiB
YAML
38 lines
1.3 KiB
YAML
# Example copied from docs
|
|
- name: Set some variables
|
|
set_fact:
|
|
qz_1: hello
|
|
qz_2: world
|
|
qa_1: "I won't show"
|
|
qz_: "I won't show either"
|
|
|
|
- name: Try various regexes and make sure they work
|
|
assert:
|
|
that:
|
|
- lookup('varnames', '^qz_.+', wantlist=True) == ['qz_1', 'qz_2']
|
|
- lookup('varnames', '^qz_.+', '^qa.*', wantlist=True) == ['qz_1', 'qz_2', 'qa_1']
|
|
- "'ansible_python_interpreter' in lookup('varnames', '^ansible_.*', wantlist=True)"
|
|
- lookup('varnames', '^doesnotexist.*', wantlist=True) == []
|
|
- lookup('varnames', '^doesnotexist.*', '.*python_inter.*', wantlist=True) == ['ansible_python_interpreter']
|
|
- lookup('varnames', '^q.*_\d', wantlist=True) == ['qz_1', 'qz_2', 'qa_1']
|
|
- lookup('varnames', '^q.*_\d') == 'qz_1,qz_2,qa_1'
|
|
|
|
- name: Make sure it fails successfully
|
|
set_fact:
|
|
fail1: "{{ lookup('varnames', True, wantlist=True) }}"
|
|
register: fail1res
|
|
ignore_errors: yes
|
|
|
|
- name: Make sure it fails successfully
|
|
set_fact:
|
|
fail2: "{{ lookup('varnames', '*', wantlist=True) }}"
|
|
register: fail2res
|
|
ignore_errors: yes
|
|
|
|
- assert:
|
|
that:
|
|
- fail1res is failed
|
|
- "'Invalid setting identifier' in fail1res.msg"
|
|
- fail2res is failed
|
|
- "'Unable to use' in fail2res.msg"
|
|
- "'nothing to repeat' in fail2res.msg"
|