summaryrefslogtreecommitdiff
path: root/ironic/tests/unit/drivers/modules/redfish/test_management.py
diff options
context:
space:
mode:
authorIlya Etingof <etingof@gmail.com>2018-11-05 17:07:30 +0100
committerIlya Etingof <etingof@gmail.com>2018-11-05 18:24:07 +0100
commite8414886b7275a48412ce8b567972494b5c78f6a (patch)
tree6dc282f1b093befc291416492e15cdffd793fd45 /ironic/tests/unit/drivers/modules/redfish/test_management.py
parent8a64d03dc0c9dc6671898c9287e3d6b1f2873ecc (diff)
downloadironic-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.py25
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)