diff options
author | Ilya Etingof <etingof@gmail.com> | 2018-11-05 17:07:30 +0100 |
---|---|---|
committer | Ilya Etingof <etingof@gmail.com> | 2018-11-05 18:24:07 +0100 |
commit | e8414886b7275a48412ce8b567972494b5c78f6a (patch) | |
tree | 6dc282f1b093befc291416492e15cdffd793fd45 /ironic/tests/unit/drivers/modules/redfish/test_management.py | |
parent | 8a64d03dc0c9dc6671898c9287e3d6b1f2873ecc (diff) | |
download | ironic-e8414886b7275a48412ce8b567972494b5c78f6a.tar.gz |
Improve sushy mocks
This patch adds some missing objects to sushy mocking (through the
third-party drivers specs) and changes tests to monkey-patch the
`Sushy` class rather than the `sushy` module imported into the
namespace of the modules being tested.
Also mocked `sushy` exceptions pushed to the fixtures to simplify
test cases.
Change-Id: I56aafa5c8cd2a62e800615b3529c4ddd8c5394a6
Diffstat (limited to 'ironic/tests/unit/drivers/modules/redfish/test_management.py')
-rw-r--r-- | ironic/tests/unit/drivers/modules/redfish/test_management.py | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/ironic/tests/unit/drivers/modules/redfish/test_management.py b/ironic/tests/unit/drivers/modules/redfish/test_management.py index d42e4a4e7..0577bb63b 100644 --- a/ironic/tests/unit/drivers/modules/redfish/test_management.py +++ b/ironic/tests/unit/drivers/modules/redfish/test_management.py @@ -31,10 +31,6 @@ sushy = importutils.try_import('sushy') INFO_DICT = db_utils.get_test_redfish_info() -class MockedSushyError(Exception): - pass - - class RedfishManagementTestCase(db_base.DbTestCase): def setUp(self): @@ -122,12 +118,13 @@ class RedfishManagementTestCase(db_base.DbTestCase): fake_system.set_system_boot_source.reset_mock() mock_get_system.reset_mock() - @mock.patch('ironic.drivers.modules.redfish.management.sushy') + @mock.patch.object(sushy, 'Sushy', autospec=True) @mock.patch.object(redfish_utils, 'get_system', autospec=True) def test_set_boot_device_fail(self, mock_get_system, mock_sushy): fake_system = mock.Mock() - mock_sushy.exceptions.SushyError = MockedSushyError - fake_system.set_system_boot_source.side_effect = MockedSushyError + fake_system.set_system_boot_source.side_effect = ( + sushy.exceptions.SushyError() + ) mock_get_system.return_value = fake_system with task_manager.acquire(self.context, self.node.uuid, shared=False) as task: @@ -185,12 +182,12 @@ class RedfishManagementTestCase(db_base.DbTestCase): fake_system.set_system_boot_source.reset_mock() mock_get_system.reset_mock() - @mock.patch('ironic.drivers.modules.redfish.management.sushy') + @mock.patch.object(sushy, 'Sushy', autospec=True) @mock.patch.object(redfish_utils, 'get_system', autospec=True) def test_set_boot_mode_fail(self, mock_get_system, mock_sushy): fake_system = mock.Mock() - mock_sushy.exceptions.SushyError = MockedSushyError - fake_system.set_system_boot_source.side_effect = MockedSushyError + fake_system.set_system_boot_source.side_effect = ( + sushy.exceptions.SushyError) mock_get_system.return_value = fake_system with task_manager.acquire(self.context, self.node.uuid, shared=False) as task: @@ -232,12 +229,12 @@ class RedfishManagementTestCase(db_base.DbTestCase): fake_system.reset_system.assert_called_once_with(sushy.RESET_NMI) mock_get_system.assert_called_once_with(task.node) - @mock.patch('ironic.drivers.modules.redfish.management.sushy') + @mock.patch.object(sushy, 'Sushy', autospec=True) @mock.patch.object(redfish_utils, 'get_system', autospec=True) def test_inject_nmi_fail(self, mock_get_system, mock_sushy): fake_system = mock.Mock() - mock_sushy.exceptions.SushyError = MockedSushyError - fake_system.reset_system.side_effect = MockedSushyError + fake_system.reset_system.side_effect = ( + sushy.exceptions.SushyError) mock_get_system.return_value = fake_system with task_manager.acquire(self.context, self.node.uuid, shared=False) as task: @@ -245,5 +242,5 @@ class RedfishManagementTestCase(db_base.DbTestCase): exception.RedfishError, 'Redfish inject NMI', task.driver.management.inject_nmi, task) fake_system.reset_system.assert_called_once_with( - mock_sushy.RESET_NMI) + sushy.RESET_NMI) mock_get_system.assert_called_once_with(task.node) |