mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Add tests for lookup plugins
This commit is contained in:
parent
47082a9171
commit
43419d7b20
2 changed files with 64 additions and 0 deletions
|
@ -113,6 +113,10 @@ class TestPlaybook(unittest.TestCase):
|
|||
|
||||
def _run(self, test_playbook, host_list='test/ansible_hosts'):
|
||||
''' run a module and get the localhost results '''
|
||||
# This ensures tests are independent of eachother
|
||||
ansible.playbook.SETUP_CACHE.clear()
|
||||
EVENTS = []
|
||||
|
||||
self.test_callbacks = TestCallbacks()
|
||||
self.playbook = ansible.playbook.PlayBook(
|
||||
playbook = test_playbook,
|
||||
|
@ -177,6 +181,29 @@ class TestPlaybook(unittest.TestCase):
|
|||
|
||||
assert utils.jsonify(expected, format=True) == utils.jsonify(actual, format=True)
|
||||
|
||||
def test_lookups(self):
|
||||
pb = os.path.join(self.test_dir, 'lookup_plugins.yml')
|
||||
actual = self._run(pb)
|
||||
|
||||
# if different, this will output to screen
|
||||
print "**ACTUAL**"
|
||||
print utils.jsonify(actual, format=True)
|
||||
expected = {
|
||||
"localhost": {
|
||||
"changed": 7,
|
||||
"failures": 0,
|
||||
"ok": 9,
|
||||
"skipped": 1,
|
||||
"unreachable": 0
|
||||
}
|
||||
}
|
||||
print "**EXPECTED**"
|
||||
print utils.jsonify(expected, format=True)
|
||||
|
||||
assert utils.jsonify(expected, format=True) == utils.jsonify(actual,format=True)
|
||||
|
||||
assert len(EVENTS) == 44
|
||||
|
||||
def test_playbook_vars(self):
|
||||
test_callbacks = TestCallbacks()
|
||||
playbook = ansible.playbook.PlayBook(
|
||||
|
|
37
test/lookup_plugins.yml
Normal file
37
test/lookup_plugins.yml
Normal file
|
@ -0,0 +1,37 @@
|
|||
# simple test of lookup plugins in with_*
|
||||
---
|
||||
- hosts: all
|
||||
vars:
|
||||
empty_list: []
|
||||
tasks:
|
||||
- name: test with_items
|
||||
action: command true
|
||||
with_items:
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- name: test with_items with empty list
|
||||
action: command true
|
||||
with_items: $empty_list
|
||||
|
||||
- name: test with_file and FILE
|
||||
action: command test "$item" = "$FILE(sample.j2)"
|
||||
with_file: sample.j2
|
||||
|
||||
- name: test with_pipe
|
||||
action: command test "$item" = "$PIPE(cat sample.j2)"
|
||||
with_pipe: cat sample.j2
|
||||
|
||||
- name: test LOOKUP and PIPE
|
||||
action: command test "$LOOKUP(pipe, cat sample.j2)" = "$PIPE(cat sample.j2)"
|
||||
|
||||
- name: ensure test file doesnt exist
|
||||
# command because file will return differently
|
||||
action: command rm -f /tmp/ansible-test-with_lines-data
|
||||
- name: test with_lines
|
||||
action: shell echo "$item" >> /tmp/ansible-test-with_lines-data
|
||||
with_lines: cat sample.j2
|
||||
- name: verify with_lines
|
||||
action: copy src=sample.j2 dest=/tmp/ansible-test-with_lines-data
|
||||
- name: cleanup test file
|
||||
action: file path=/tmp/ansible-test-with_lines-data state=absent
|
Loading…
Reference in a new issue