diff options
Diffstat (limited to 'ironic/tests/unit/drivers/modules/oneview/test_power.py')
-rw-r--r-- | ironic/tests/unit/drivers/modules/oneview/test_power.py | 113 |
1 files changed, 95 insertions, 18 deletions
diff --git a/ironic/tests/unit/drivers/modules/oneview/test_power.py b/ironic/tests/unit/drivers/modules/oneview/test_power.py index 5800a43a9..7e99dbe91 100644 --- a/ironic/tests/unit/drivers/modules/oneview/test_power.py +++ b/ironic/tests/unit/drivers/modules/oneview/test_power.py @@ -30,6 +30,7 @@ from ironic.tests.unit.db import base as db_base from ironic.tests.unit.db import utils as db_utils from ironic.tests.unit.objects import utils as obj_utils +oneview_models = importutils.try_import('oneview_client.models') oneview_exceptions = importutils.try_import('oneview_client.exceptions') POWER_ON = 'On' @@ -142,87 +143,163 @@ class OneViewPowerDriverTestCase(db_base.DbTestCase): ) def test_set_power_on(self, mock_get_ov_client): + + sp_uri = '/any/server-profile' oneview_client = mock_get_ov_client() + fake_sh = oneview_models.ServerHardware() + fake_sh.server_profile_uri = sp_uri + oneview_client = mock_get_ov_client.return_value + oneview_client.get_server_hardware_by_uuid.return_value = fake_sh oneview_client.power_on.return_value = POWER_ON self.driver.power.oneview_client = oneview_client with task_manager.acquire(self.context, self.node.uuid) as task: + driver_info = task.node.driver_info + driver_info['applied_server_profile_uri'] = sp_uri + task.node.driver_info = driver_info self.driver.power.set_power_state(task, states.POWER_ON) - oneview_client.power_on.assert_called_once_with(self.info) + self.info['applied_server_profile_uri'] = sp_uri + oneview_client.power_on.assert_called_once_with(self.info) def test_set_power_off(self, mock_get_ov_client): + + sp_uri = '/any/server-profile' oneview_client = mock_get_ov_client() + fake_sh = oneview_models.ServerHardware() + fake_sh.server_profile_uri = sp_uri + oneview_client = mock_get_ov_client.return_value + oneview_client.get_server_hardware_by_uuid.return_value = fake_sh oneview_client.power_off.return_value = POWER_OFF self.driver.power.oneview_client = oneview_client with task_manager.acquire(self.context, self.node.uuid) as task: + driver_info = task.node.driver_info + driver_info['applied_server_profile_uri'] = sp_uri + task.node.driver_info = driver_info self.driver.power.set_power_state(task, states.POWER_OFF) - oneview_client.power_off.assert_called_once_with(self.info) + self.info['applied_server_profile_uri'] = sp_uri + oneview_client.power_off.assert_called_once_with(self.info) def test_set_power_on_fail(self, mock_get_ov_client): + + sp_uri = '/any/server-profile' oneview_client = mock_get_ov_client() - oneview_client.power_on.side_effect = \ - oneview_exceptions.OneViewException() + fake_sh = oneview_models.ServerHardware() + fake_sh.server_profile_uri = sp_uri + oneview_client.get_server_hardware_by_uuid.return_value = fake_sh + exc = oneview_exceptions.OneViewException() + oneview_client.power_on.side_effect = exc self.driver.power.oneview_client = oneview_client with task_manager.acquire(self.context, self.node.uuid) as task: + driver_info = task.node.driver_info + driver_info['applied_server_profile_uri'] = sp_uri + task.node.driver_info = driver_info self.assertRaises(exception.OneViewError, self.driver.power.set_power_state, task, states.POWER_ON) + self.info['applied_server_profile_uri'] = sp_uri oneview_client.power_on.assert_called_once_with(self.info) def test_set_power_off_fail(self, mock_get_ov_client): + + sp_uri = '/any/server-profile' oneview_client = mock_get_ov_client() - oneview_client.power_off.side_effect = \ - oneview_exceptions.OneViewException() + fake_sh = oneview_models.ServerHardware() + fake_sh.server_profile_uri = sp_uri + oneview_client.get_server_hardware_by_uuid.return_value = fake_sh + exc = oneview_exceptions.OneViewException() + oneview_client.power_off.side_effect = exc self.driver.power.oneview_client = oneview_client with task_manager.acquire(self.context, self.node.uuid) as task: + driver_info = task.node.driver_info + driver_info['applied_server_profile_uri'] = sp_uri + task.node.driver_info = driver_info self.assertRaises(exception.OneViewError, self.driver.power.set_power_state, task, states.POWER_OFF) + self.info['applied_server_profile_uri'] = sp_uri oneview_client.power_off.assert_called_once_with(self.info) def test_set_power_invalid_state(self, mock_get_ov_client): + + sp_uri = '/any/server-profile' + oneview_client = mock_get_ov_client() + fake_sh = oneview_models.ServerHardware() + fake_sh.server_profile_uri = sp_uri + oneview_client.get_server_hardware_by_uuid.return_value = fake_sh + exc = oneview_exceptions.OneViewException() + oneview_client.power_off.side_effect = exc + self.driver.power.oneview_client = oneview_client + with task_manager.acquire(self.context, self.node.uuid) as task: + driver_info = task.node.driver_info + driver_info['applied_server_profile_uri'] = sp_uri + task.node.driver_info = driver_info self.assertRaises(exception.InvalidParameterValue, self.driver.power.set_power_state, task, 'fake state') def test_set_power_reboot(self, mock_get_ov_client): + + sp_uri = '/any/server-profile' oneview_client = mock_get_ov_client() + fake_sh = oneview_models.ServerHardware() + fake_sh.server_profile_uri = sp_uri + oneview_client.get_server_hardware_by_uuid.return_value = fake_sh oneview_client.power_off.return_value = POWER_OFF oneview_client.power_on.return_value = POWER_ON self.driver.power.oneview_client = oneview_client with task_manager.acquire(self.context, self.node.uuid) as task: + driver_info = task.node.driver_info + driver_info['applied_server_profile_uri'] = sp_uri + task.node.driver_info = driver_info self.driver.power.set_power_state(task, states.REBOOT) - oneview_client.power_off.assert_called_once_with(self.info) - oneview_client.power_on.assert_called_once_with(self.info) + self.info['applied_server_profile_uri'] = sp_uri + oneview_client.power_off.assert_called_once_with(self.info) + oneview_client.power_off.assert_called_once_with(self.info) + oneview_client.power_on.assert_called_once_with(self.info) def test_reboot(self, mock_get_ov_client): + + sp_uri = '/any/server-profile' oneview_client = mock_get_ov_client() + fake_sh = oneview_models.ServerHardware() + fake_sh.server_profile_uri = sp_uri + oneview_client.get_server_hardware_by_uuid.return_value = fake_sh oneview_client.power_off.return_value = POWER_OFF oneview_client.power_on.return_value = POWER_ON self.driver.power.oneview_client = oneview_client with task_manager.acquire(self.context, self.node.uuid) as task: + driver_info = task.node.driver_info + driver_info['applied_server_profile_uri'] = sp_uri + task.node.driver_info = driver_info self.driver.power.reboot(task) - - oneview_client.power_off.assert_called_once_with(self.info) - oneview_client.power_on.assert_called_once_with(self.info) + self.info['applied_server_profile_uri'] = sp_uri + oneview_client.power_off.assert_called_once_with(self.info) + oneview_client.power_on.assert_called_once_with(self.info) def test_reboot_fail(self, mock_get_ov_client): + + sp_uri = '/any/server-profile' oneview_client = mock_get_ov_client() - oneview_client.power_off.side_effect = \ - oneview_exceptions.OneViewException() + fake_sh = oneview_models.ServerHardware() + fake_sh.server_profile_uri = sp_uri + oneview_client.get_server_hardware_by_uuid.return_value = fake_sh + exc = oneview_exceptions.OneViewException() + oneview_client.power_off.side_effect = exc self.driver.power.oneview_client = oneview_client with task_manager.acquire(self.context, self.node.uuid) as task: + driver_info = task.node.driver_info + driver_info['applied_server_profile_uri'] = sp_uri + task.node.driver_info = driver_info self.assertRaises(exception.OneViewError, - self.driver.power.reboot, - task) - - oneview_client.power_off.assert_called_once_with(self.info) - self.assertFalse(oneview_client.power_on.called) + self.driver.power.reboot, task) + self.info['applied_server_profile_uri'] = sp_uri + oneview_client.power_off.assert_called_once_with(self.info) + self.assertFalse(oneview_client.power_on.called) |