diff options
author | James Cammarata <jimi@sngx.net> | 2017-01-19 09:25:30 -0600 |
---|---|---|
committer | James Cammarata <jimi@sngx.net> | 2017-01-19 10:11:52 -0600 |
commit | f4ecbc4c3ff8ce5269b59fdfe5e14abd9f163909 (patch) | |
tree | e02b103281aca7a4f7f842d604b2abf0409a5b31 /test | |
parent | b12256acf27e1c4bee60dd7e79f4384b2cfef67f (diff) | |
download | ansible-f4ecbc4c3ff8ce5269b59fdfe5e14abd9f163909.tar.gz |
Fixing iterator bug related to reworking of end-of-role detection
Bug was introduced in cae682607
(cherry picked from commit 9d549c34981694e9fb62d3aa37392a439b5ae487)
Diffstat (limited to 'test')
-rw-r--r-- | test/units/executor/test_play_iterator.py | 67 |
1 files changed, 64 insertions, 3 deletions
diff --git a/test/units/executor/test_play_iterator.py b/test/units/executor/test_play_iterator.py index e11772031f..337342a349 100644 --- a/test/units/executor/test_play_iterator.py +++ b/test/units/executor/test_play_iterator.py @@ -98,6 +98,29 @@ class TestPlayIterator(unittest.TestCase): - include: foo.yml - name: role task after include debug: msg="after include in role" + - block: + - name: starting role nested block 1 + debug: + - block: + - name: role nested block 1 task 1 + debug: + - name: role nested block 1 task 2 + debug: + - name: role nested block 1 task 3 + debug: + - name: end of role nested block 1 + debug: + - name: starting role nested block 2 + debug: + - block: + - name: role nested block 2 task 1 + debug: + - name: role nested block 2 task 2 + debug: + - name: role nested block 2 task 3 + debug: + - name: end of role nested block 2 + debug: """, '/etc/ansible/roles/test_role/tasks/foo.yml': """ - name: role included task @@ -160,13 +183,11 @@ class TestPlayIterator(unittest.TestCase): # role block task (host_state, task) = itr.get_next_task_for_host(hosts[0]) self.assertIsNotNone(task) - self.assertEqual(task.action, 'debug') self.assertEqual(task.name, "role block task") self.assertIsNotNone(task._role) # role block always task (host_state, task) = itr.get_next_task_for_host(hosts[0]) self.assertIsNotNone(task) - self.assertEqual(task.action, 'debug') self.assertEqual(task.name, "role always task") self.assertIsNotNone(task._role) # role include task @@ -178,9 +199,49 @@ class TestPlayIterator(unittest.TestCase): # role task after include (host_state, task) = itr.get_next_task_for_host(hosts[0]) self.assertIsNotNone(task) - self.assertEqual(task.action, 'debug') self.assertEqual(task.name, "role task after include") self.assertIsNotNone(task._role) + # role nested block tasks + (host_state, task) = itr.get_next_task_for_host(hosts[0]) + self.assertIsNotNone(task) + self.assertEqual(task.name, "starting role nested block 1") + self.assertIsNotNone(task._role) + (host_state, task) = itr.get_next_task_for_host(hosts[0]) + self.assertIsNotNone(task) + self.assertEqual(task.name, "role nested block 1 task 1") + self.assertIsNotNone(task._role) + (host_state, task) = itr.get_next_task_for_host(hosts[0]) + self.assertIsNotNone(task) + self.assertEqual(task.name, "role nested block 1 task 2") + self.assertIsNotNone(task._role) + (host_state, task) = itr.get_next_task_for_host(hosts[0]) + self.assertIsNotNone(task) + self.assertEqual(task.name, "role nested block 1 task 3") + self.assertIsNotNone(task._role) + (host_state, task) = itr.get_next_task_for_host(hosts[0]) + self.assertIsNotNone(task) + self.assertEqual(task.name, "end of role nested block 1") + self.assertIsNotNone(task._role) + (host_state, task) = itr.get_next_task_for_host(hosts[0]) + self.assertIsNotNone(task) + self.assertEqual(task.name, "starting role nested block 2") + self.assertIsNotNone(task._role) + (host_state, task) = itr.get_next_task_for_host(hosts[0]) + self.assertIsNotNone(task) + self.assertEqual(task.name, "role nested block 2 task 1") + self.assertIsNotNone(task._role) + (host_state, task) = itr.get_next_task_for_host(hosts[0]) + self.assertIsNotNone(task) + self.assertEqual(task.name, "role nested block 2 task 2") + self.assertIsNotNone(task._role) + (host_state, task) = itr.get_next_task_for_host(hosts[0]) + self.assertIsNotNone(task) + self.assertEqual(task.name, "role nested block 2 task 3") + self.assertIsNotNone(task._role) + (host_state, task) = itr.get_next_task_for_host(hosts[0]) + self.assertIsNotNone(task) + self.assertEqual(task.name, "end of role nested block 2") + self.assertIsNotNone(task._role) # regular play task (host_state, task) = itr.get_next_task_for_host(hosts[0]) self.assertIsNotNone(task) |