summaryrefslogtreecommitdiff
path: root/test/units/executor/test_task_executor.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/units/executor/test_task_executor.py')
-rw-r--r--test/units/executor/test_task_executor.py55
1 files changed, 36 insertions, 19 deletions
diff --git a/test/units/executor/test_task_executor.py b/test/units/executor/test_task_executor.py
index 315d26ae..66ab0036 100644
--- a/test/units/executor/test_task_executor.py
+++ b/test/units/executor/test_task_executor.py
@@ -25,7 +25,7 @@ from units.compat import unittest
from unittest.mock import patch, MagicMock
from ansible.errors import AnsibleError
from ansible.executor.task_executor import TaskExecutor, remove_omit
-from ansible.plugins.loader import action_loader, lookup_loader, module_loader
+from ansible.plugins.loader import action_loader, lookup_loader
from ansible.parsing.yaml.objects import AnsibleUnicode
from ansible.utils.unsafe_proxy import AnsibleUnsafeText, AnsibleUnsafeBytes
from ansible.module_utils.six import text_type
@@ -57,6 +57,7 @@ class TestTaskExecutor(unittest.TestCase):
loader=fake_loader,
shared_loader_obj=mock_shared_loader,
final_q=mock_queue,
+ variable_manager=MagicMock(),
)
def test_task_executor_run(self):
@@ -84,6 +85,7 @@ class TestTaskExecutor(unittest.TestCase):
loader=fake_loader,
shared_loader_obj=mock_shared_loader,
final_q=mock_queue,
+ variable_manager=MagicMock(),
)
te._get_loop_items = MagicMock(return_value=None)
@@ -102,7 +104,7 @@ class TestTaskExecutor(unittest.TestCase):
self.assertIn("failed", res)
def test_task_executor_run_clean_res(self):
- te = TaskExecutor(None, MagicMock(), None, None, None, None, None, None)
+ te = TaskExecutor(None, MagicMock(), None, None, None, None, None, None, None)
te._get_loop_items = MagicMock(return_value=[1])
te._run_loop = MagicMock(
return_value=[
@@ -150,6 +152,7 @@ class TestTaskExecutor(unittest.TestCase):
loader=fake_loader,
shared_loader_obj=mock_shared_loader,
final_q=mock_queue,
+ variable_manager=MagicMock(),
)
items = te._get_loop_items()
@@ -186,6 +189,7 @@ class TestTaskExecutor(unittest.TestCase):
loader=fake_loader,
shared_loader_obj=mock_shared_loader,
final_q=mock_queue,
+ variable_manager=MagicMock(),
)
def _execute(variables):
@@ -206,6 +210,7 @@ class TestTaskExecutor(unittest.TestCase):
loader=DictDataLoader({}),
shared_loader_obj=MagicMock(),
final_q=MagicMock(),
+ variable_manager=MagicMock(),
)
context = MagicMock(resolved=False)
@@ -214,20 +219,20 @@ class TestTaskExecutor(unittest.TestCase):
action_loader.has_plugin.return_value = True
action_loader.get.return_value = mock.sentinel.handler
- mock_connection = MagicMock()
mock_templar = MagicMock()
action = 'namespace.prefix_suffix'
te._task.action = action
+ te._connection = MagicMock()
- handler = te._get_action_handler(mock_connection, mock_templar)
+ with patch('ansible.executor.task_executor.start_connection'):
+ handler = te._get_action_handler(mock_templar)
self.assertIs(mock.sentinel.handler, handler)
- action_loader.has_plugin.assert_called_once_with(
- action, collection_list=te._task.collections)
+ action_loader.has_plugin.assert_called_once_with(action, collection_list=te._task.collections)
- action_loader.get.assert_called_once_with(
- te._task.action, task=te._task, connection=mock_connection,
+ action_loader.get.assert_called_with(
+ te._task.action, task=te._task, connection=te._connection,
play_context=te._play_context, loader=te._loader,
templar=mock_templar, shared_loader_obj=te._shared_loader_obj,
collection_list=te._task.collections)
@@ -242,6 +247,7 @@ class TestTaskExecutor(unittest.TestCase):
loader=DictDataLoader({}),
shared_loader_obj=MagicMock(),
final_q=MagicMock(),
+ variable_manager=MagicMock(),
)
context = MagicMock(resolved=False)
@@ -251,20 +257,21 @@ class TestTaskExecutor(unittest.TestCase):
action_loader.get.return_value = mock.sentinel.handler
action_loader.__contains__.return_value = True
- mock_connection = MagicMock()
mock_templar = MagicMock()
action = 'namespace.netconf_suffix'
module_prefix = action.split('_', 1)[0]
te._task.action = action
+ te._connection = MagicMock()
- handler = te._get_action_handler(mock_connection, mock_templar)
+ with patch('ansible.executor.task_executor.start_connection'):
+ handler = te._get_action_handler(mock_templar)
self.assertIs(mock.sentinel.handler, handler)
action_loader.has_plugin.assert_has_calls([mock.call(action, collection_list=te._task.collections), # called twice
mock.call(module_prefix, collection_list=te._task.collections)])
- action_loader.get.assert_called_once_with(
- module_prefix, task=te._task, connection=mock_connection,
+ action_loader.get.assert_called_with(
+ module_prefix, task=te._task, connection=te._connection,
play_context=te._play_context, loader=te._loader,
templar=mock_templar, shared_loader_obj=te._shared_loader_obj,
collection_list=te._task.collections)
@@ -279,6 +286,7 @@ class TestTaskExecutor(unittest.TestCase):
loader=DictDataLoader({}),
shared_loader_obj=MagicMock(),
final_q=MagicMock(),
+ variable_manager=MagicMock(),
)
action_loader = te._shared_loader_obj.action_loader
@@ -289,20 +297,22 @@ class TestTaskExecutor(unittest.TestCase):
context = MagicMock(resolved=False)
module_loader.find_plugin_with_context.return_value = context
- mock_connection = MagicMock()
mock_templar = MagicMock()
action = 'namespace.prefix_suffix'
module_prefix = action.split('_', 1)[0]
te._task.action = action
- handler = te._get_action_handler(mock_connection, mock_templar)
+ te._connection = MagicMock()
+
+ with patch('ansible.executor.task_executor.start_connection'):
+ handler = te._get_action_handler(mock_templar)
self.assertIs(mock.sentinel.handler, handler)
action_loader.has_plugin.assert_has_calls([mock.call(action, collection_list=te._task.collections),
mock.call(module_prefix, collection_list=te._task.collections)])
- action_loader.get.assert_called_once_with(
- 'ansible.legacy.normal', task=te._task, connection=mock_connection,
+ action_loader.get.assert_called_with(
+ 'ansible.legacy.normal', task=te._task, connection=te._connection,
play_context=te._play_context, loader=te._loader,
templar=mock_templar, shared_loader_obj=te._shared_loader_obj,
collection_list=None)
@@ -318,6 +328,7 @@ class TestTaskExecutor(unittest.TestCase):
mock_task.become = False
mock_task.retries = 0
mock_task.delay = -1
+ mock_task.delegate_to = None
mock_task.register = 'foo'
mock_task.until = None
mock_task.changed_when = None
@@ -329,6 +340,7 @@ class TestTaskExecutor(unittest.TestCase):
# other reason is that if I specify 0 here, the test fails. ;)
mock_task.async_val = 1
mock_task.poll = 0
+ mock_task.evaluate_conditional_with_result.return_value = (True, None)
mock_play_context = MagicMock()
mock_play_context.post_validate.return_value = None
@@ -343,6 +355,9 @@ class TestTaskExecutor(unittest.TestCase):
mock_action = MagicMock()
mock_queue = MagicMock()
+ mock_vm = MagicMock()
+ mock_vm.get_delegated_vars_and_hostname.return_value = {}, None
+
shared_loader = MagicMock()
new_stdin = None
job_vars = dict(omit="XXXXXXXXXXXXXXXXXXX")
@@ -356,11 +371,14 @@ class TestTaskExecutor(unittest.TestCase):
loader=fake_loader,
shared_loader_obj=shared_loader,
final_q=mock_queue,
+ variable_manager=mock_vm,
)
te._get_connection = MagicMock(return_value=mock_connection)
context = MagicMock()
- te._get_action_handler_with_context = MagicMock(return_value=get_with_context_result(mock_action, context))
+
+ with patch('ansible.executor.task_executor.start_connection'):
+ te._get_action_handler_with_context = MagicMock(return_value=get_with_context_result(mock_action, context))
mock_action.run.return_value = dict(ansible_facts=dict())
res = te._execute()
@@ -392,8 +410,6 @@ class TestTaskExecutor(unittest.TestCase):
mock_play_context = MagicMock()
- mock_connection = MagicMock()
-
mock_action = MagicMock()
mock_queue = MagicMock()
@@ -412,6 +428,7 @@ class TestTaskExecutor(unittest.TestCase):
loader=fake_loader,
shared_loader_obj=shared_loader,
final_q=mock_queue,
+ variable_manager=MagicMock(),
)
te._connection = MagicMock()