def test__register_and_validate_hardware_interfaces( self, esi_mock, default_mock, reg_mock, unreg_mock): # these must be same order as esi_mock side effect hardware_types = collections.OrderedDict(( ('fake-hardware', fake_hardware.FakeHardware()), ('manual-management', generic.ManualManagementHardware), )) esi_mock.side_effect = [ collections.OrderedDict(( ('management', ['fake', 'noop']), ('deploy', ['agent', 'iscsi']), )), collections.OrderedDict(( ('management', ['fake']), ('deploy', ['agent', 'fake']), )), ] default_mock.side_effect = ('fake', 'agent', 'fake', 'agent') expected_calls = [ mock.call(mock.ANY, 'fake-hardware', 'management', ['fake', 'noop'], 'fake'), mock.call(mock.ANY, 'fake-hardware', 'deploy', ['agent', 'iscsi'], 'agent'), mock.call(mock.ANY, 'manual-management', 'management', ['fake'], 'fake'), mock.call(mock.ANY, 'manual-management', 'deploy', ['agent', 'fake'], 'agent'), ] self.service._register_and_validate_hardware_interfaces(hardware_types) unreg_mock.assert_called_once_with(mock.ANY) # we're iterating over dicts, don't worry about order reg_mock.assert_has_calls(expected_calls)
def test__register_and_validate_no_valid_default(self, esi_mock, default_mock, reg_mock, unreg_mock): # these must be same order as esi_mock side effect hardware_types = collections.OrderedDict(( ('fake-hardware', fake_hardware.FakeHardware()), )) esi_mock.side_effect = [ collections.OrderedDict(( ('management', ['fake', 'noop']), ('deploy', ['agent', 'iscsi']), )), ] default_mock.side_effect = exception.NoValidDefaultForInterface("boo") self.assertRaises( exception.NoValidDefaultForInterface, self.service._register_and_validate_hardware_interfaces, hardware_types) default_mock.assert_called_once_with( hardware_types['fake-hardware'], mock.ANY, driver_name='fake-hardware') unreg_mock.assert_called_once_with(mock.ANY) self.assertFalse(reg_mock.called)
def _test_enabled_supported_interfaces(self, enable_storage): ht = fake_hardware.FakeHardware() expected = { 'boot': set(['fake']), 'console': set(['fake']), 'deploy': set(['fake']), 'inspect': set(['fake']), 'management': set(['fake']), 'network': set(['noop']), 'power': set(['fake']), 'raid': set(['fake']), 'storage': set([]), 'vendor': set(['fake']) } if enable_storage: self.config(enabled_storage_interfaces=['fake']) expected['storage'] = set(['fake']) mapping = driver_factory.enabled_supported_interfaces(ht) self.assertEqual(expected, mapping)