summaryrefslogtreecommitdiff
path: root/ironic_python_agent/tests
diff options
context:
space:
mode:
authorwaleedm <waleedm@nvidia.com>2022-06-13 11:42:39 +0000
committerJulia Kreger <juliaashleykreger@gmail.com>2022-07-01 23:03:55 +0000
commiteb07839bd40387ac9fdd60a67b3e537e751835b0 (patch)
treed2ac58d9be73a15444391c8b5bce7c5ecf0583fe /ironic_python_agent/tests
parent9dca97736f8811aa9dd851eee758f208a57e1822 (diff)
downloadironic-python-agent-eb07839bd40387ac9fdd60a67b3e537e751835b0.tar.gz
Fix passing kwargs in clean steps
Pass kwargs to dispatch_to_managers method in execute_clean_step Change-Id: Ida4ed4646659b2ee3f8f92b0a4d73c0266dd5a99 Story: 2010123 Task: 45705
Diffstat (limited to 'ironic_python_agent/tests')
-rw-r--r--ironic_python_agent/tests/unit/extensions/test_clean.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/ironic_python_agent/tests/unit/extensions/test_clean.py b/ironic_python_agent/tests/unit/extensions/test_clean.py
index 50299ce3..335f1f45 100644
--- a/ironic_python_agent/tests/unit/extensions/test_clean.py
+++ b/ironic_python_agent/tests/unit/extensions/test_clean.py
@@ -191,6 +191,34 @@ class TestCleanExtension(base.IronicAgentTest):
self.assertEqual(expected_result, async_result.command_result)
mock_cache_node.assert_called_once_with(self.node)
+ @mock.patch('ironic_python_agent.hardware.dispatch_to_managers',
+ autospec=True)
+ @mock.patch('ironic_python_agent.hardware.check_versions',
+ autospec=True)
+ def test_execute_clean_step_with_args(self, mock_version, mock_dispatch,
+ mock_cache_node):
+ result = 'cleaned'
+ mock_dispatch.return_value = result
+
+ step = self.step['GenericHardwareManager'][0]
+ step['args'] = {'foo': 'bar'}
+ expected_result = {
+ 'clean_step': step,
+ 'clean_result': result
+ }
+ async_result = self.agent_extension.execute_clean_step(
+ step=self.step['GenericHardwareManager'][0],
+ node=self.node, ports=self.ports,
+ clean_version=self.version)
+ async_result.join()
+
+ mock_version.assert_called_once_with(self.version)
+ mock_dispatch.assert_called_once_with(
+ self.step['GenericHardwareManager'][0]['step'],
+ self.node, self.ports, foo='bar')
+ self.assertEqual(expected_result, async_result.command_result)
+ mock_cache_node.assert_called_once_with(self.node)
+
@mock.patch('ironic_python_agent.hardware.check_versions',
autospec=True)
def test_execute_clean_step_no_step(self, mock_version, mock_cache_node):