diff options
author | Jenkins <jenkins@review.openstack.org> | 2017-01-24 09:54:12 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2017-01-24 09:54:12 +0000 |
commit | e3a1e7bcfcb2244eb98c1abf37bbb53e5074809e (patch) | |
tree | 769e2decb4d208799822e73f326313da06340a97 /ironic/tests/unit/drivers | |
parent | 0efc44bdac2aaa6f246f85f0b5de614c1223986e (diff) | |
parent | c46b720036a3cb6c07b3c76913ede8cb02ecdae2 (diff) | |
download | ironic-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.py | 33 | ||||
-rw-r--r-- | ironic/tests/unit/drivers/third_party_driver_mock_specs.py | 1 |
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', |