diff options
author | Jenkins <jenkins@review.openstack.org> | 2017-02-10 19:47:45 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2017-02-10 19:47:45 +0000 |
commit | 622ab95ffdb48b0254adc1588fb07c406021017e (patch) | |
tree | 3c63136ebcfa5acb34a00b2cae275df5fed3e5f7 /ironic | |
parent | 94bbbf860a87e54ea872d3a619f65e190d894b02 (diff) | |
parent | dd2a85af09f4274f95466c657f85e0e08f52903e (diff) | |
download | ironic-622ab95ffdb48b0254adc1588fb07c406021017e.tar.gz |
Merge "Mock client initializations for irmc and oneview"
Diffstat (limited to 'ironic')
-rw-r--r-- | ironic/tests/unit/drivers/modules/irmc/test_power.py | 5 | ||||
-rw-r--r-- | ironic/tests/unit/drivers/third_party_driver_mocks.py | 15 |
2 files changed, 15 insertions, 5 deletions
diff --git a/ironic/tests/unit/drivers/modules/irmc/test_power.py b/ironic/tests/unit/drivers/modules/irmc/test_power.py index ee54970c8..5f7f85e19 100644 --- a/ironic/tests/unit/drivers/modules/irmc/test_power.py +++ b/ironic/tests/unit/drivers/modules/irmc/test_power.py @@ -260,9 +260,12 @@ class IRMCPowerInternalMethodsTestCase(db_base.DbTestCase): @mock.patch.object(irmc_power, '_wait_power_state', spec_set=True, autospec=True) + @mock.patch.object(irmc_common, 'get_irmc_client', spec_set=True, + autospec=True) @mock.patch.object(irmc_boot, 'attach_boot_iso_if_needed') def test__set_power_state_snmp_exception(self, attach_boot_iso_if_needed_mock, + get_irmc_client_mock, _wait_power_state_mock): target_state = states.SOFT_REBOOT _wait_power_state_mock.side_effect = exception.SNMPFailure( @@ -276,6 +279,8 @@ class IRMCPowerInternalMethodsTestCase(db_base.DbTestCase): target_state) attach_boot_iso_if_needed_mock.assert_called_once_with( task) + get_irmc_client_mock.return_value.assert_called_once_with( + irmc_power.STATES_MAP[target_state]) _wait_power_state_mock.assert_called_once_with( task, target_state, timeout=None) diff --git a/ironic/tests/unit/drivers/third_party_driver_mocks.py b/ironic/tests/unit/drivers/third_party_driver_mocks.py index 5c1a373e6..817fec03d 100644 --- a/ironic/tests/unit/drivers/third_party_driver_mocks.py +++ b/ironic/tests/unit/drivers/third_party_driver_mocks.py @@ -94,9 +94,6 @@ if not oneview_client: oneview_client = mock.MagicMock(spec_set=mock_specs.ONEVIEWCLIENT_SPEC) sys.modules['oneview_client'] = oneview_client sys.modules['oneview_client.client'] = oneview_client.client - sys.modules['oneview_client.client.Client'] = mock.MagicMock( - spec_set=mock_specs.ONEVIEWCLIENT_CLIENT_CLS_SPEC - ) states = mock.MagicMock( spec_set=mock_specs.ONEVIEWCLIENT_STATES_SPEC, ONEVIEW_POWER_OFF='Off', @@ -111,8 +108,16 @@ if not oneview_client: oneview_client.exceptions.OneViewException = type('OneViewException', (Exception,), {}) sys.modules['oneview_client.models'] = oneview_client.models - if 'ironic.drivers.oneview' in sys.modules: - six.moves.reload_module(sys.modules['ironic.drivers.modules.oneview']) + +oneview_client_module = importutils.try_import('oneview_client.client') +# NOTE(vdrok): Always mock the oneview client, as it tries to establish +# connection to oneview right in __init__, and stevedore does not seem to care +# about mocks when it loads a module in mock_the_extension_manager +sys.modules['oneview_client.client'].Client = mock.MagicMock( + spec_set=mock_specs.ONEVIEWCLIENT_CLIENT_CLS_SPEC +) +if 'ironic.drivers.oneview' in sys.modules: + six.moves.reload_module(sys.modules['ironic.drivers.modules.oneview']) # attempt to load the external 'python-dracclient' library, which is required |