summaryrefslogtreecommitdiff
path: root/ironic/tests/unit/drivers
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2017-01-24 09:54:12 +0000
committerGerrit Code Review <review@openstack.org>2017-01-24 09:54:12 +0000
commite3a1e7bcfcb2244eb98c1abf37bbb53e5074809e (patch)
tree769e2decb4d208799822e73f326313da06340a97 /ironic/tests/unit/drivers
parent0efc44bdac2aaa6f246f85f0b5de614c1223986e (diff)
parentc46b720036a3cb6c07b3c76913ede8cb02ecdae2 (diff)
downloadironic-e3a1e7bcfcb2244eb98c1abf37bbb53e5074809e.tar.gz
Merge "iRMC management driver for Inject NMI"
Diffstat (limited to 'ironic/tests/unit/drivers')
-rw-r--r--ironic/tests/unit/drivers/modules/irmc/test_management.py33
-rw-r--r--ironic/tests/unit/drivers/third_party_driver_mock_specs.py1
2 files changed, 34 insertions, 0 deletions
diff --git a/ironic/tests/unit/drivers/modules/irmc/test_management.py b/ironic/tests/unit/drivers/modules/irmc/test_management.py
index f197692a4..48da7ee9e 100644
--- a/ironic/tests/unit/drivers/modules/irmc/test_management.py
+++ b/ironic/tests/unit/drivers/modules/irmc/test_management.py
@@ -361,3 +361,36 @@ class IRMCManagementTestCase(db_base.DbTestCase):
self.assertEqual("Failed to get sensor data for node 1be26c0b-" +
"03f2-4d2e-ae87-c02d7f33c123. Error: Fake Error",
str(e))
+
+ @mock.patch.object(irmc_management.LOG, 'error', spec_set=True,
+ autospec=True)
+ @mock.patch.object(irmc_common, 'get_irmc_client', spec_set=True,
+ autospec=True)
+ def test_management_interface_inject_nmi_ok(self, mock_get_irmc_client,
+ mock_log):
+ irmc_client = mock_get_irmc_client.return_value
+ with task_manager.acquire(self.context, self.node.uuid) as task:
+ self.driver.management.inject_nmi(task)
+
+ irmc_client.assert_called_once_with(
+ irmc_management.scci.POWER_RAISE_NMI)
+ self.assertFalse(mock_log.called)
+
+ @mock.patch.object(irmc_management.LOG, 'error', spec_set=True,
+ autospec=True)
+ @mock.patch.object(irmc_common, 'get_irmc_client', spec_set=True,
+ autospec=True)
+ def test_management_interface_inject_nmi_fail(self, mock_get_irmc_client,
+ mock_log):
+ irmc_client = mock_get_irmc_client.return_value
+ irmc_client.side_effect = Exception()
+ irmc_management.scci.SCCIClientError = Exception
+
+ with task_manager.acquire(self.context, self.node.uuid) as task:
+ self.assertRaises(exception.IRMCOperationError,
+ self.driver.management.inject_nmi,
+ task)
+
+ irmc_client.assert_called_once_with(
+ irmc_management.scci.POWER_RAISE_NMI)
+ self.assertTrue(mock_log.called)
diff --git a/ironic/tests/unit/drivers/third_party_driver_mock_specs.py b/ironic/tests/unit/drivers/third_party_driver_mock_specs.py
index 0519e8c8a..d7c766f1a 100644
--- a/ironic/tests/unit/drivers/third_party_driver_mock_specs.py
+++ b/ironic/tests/unit/drivers/third_party_driver_mock_specs.py
@@ -114,6 +114,7 @@ SCCICLIENT_IRMC_SCCI_SPEC = (
'POWER_ON',
'POWER_RESET',
'MOUNT_CD',
+ 'POWER_RAISE_NMI',
'UNMOUNT_CD',
'MOUNT_FD',
'UNMOUNT_FD',