50
48
mock_fakea_validate.assert_called_once_with(method='first_method')
52
50
def test_vendor_interface_validate_bad_method(self):
53
self.assertRaises(exception.UnsupportedDriverExtension,
51
self.assertRaises(exception.InvalidParameterValue,
54
52
self.driver.vendor.validate, method='fake_method')
56
54
def test_vendor_interface_validate_none_method(self):
57
self.assertRaises(exception.InvalidParameterValue,
55
self.assertRaises(exception.MissingParameterValue,
58
56
self.driver.vendor.validate)
60
@mock.patch.object(fake.FakeVendorA, 'vendor_passthru')
61
@mock.patch.object(fake.FakeVendorB, 'vendor_passthru')
62
def test_vendor_interface_route_valid_method(self, mock_fakeb_vendor,
64
self.driver.vendor.vendor_passthru('task',
65
method='first_method',
66
param1='fake1', param2='fake2')
67
mock_fakea_vendor.assert_called_once_with('task',
68
method='first_method',
69
param1='fake1', param2='fake2')
70
self.driver.vendor.vendor_passthru('task',
71
method='second_method',
72
param1='fake1', param2='fake2')
73
mock_fakeb_vendor.assert_called_once_with('task',
74
method='second_method',
75
param1='fake1', param2='fake2')
77
def test_driver_passthru_mixin_success(self):
78
vendor_a = fake.FakeVendorA()
79
vendor_a.driver_vendor_passthru = mock.Mock()
80
vendor_b = fake.FakeVendorB()
81
vendor_b.driver_vendor_passthru = mock.Mock()
82
driver_vendor_mapping = {
86
mixed_vendor = driver_utils.MixinVendorInterface(
88
driver_vendor_mapping)
89
mixed_vendor.driver_vendor_passthru('context',
92
vendor_a.driver_vendor_passthru.assert_called_once_with(
97
def test_driver_passthru_mixin_unsupported(self):
98
mixed_vendor = driver_utils.MixinVendorInterface({}, {})
99
self.assertRaises(exception.UnsupportedDriverExtension,
100
mixed_vendor.driver_vendor_passthru,
105
def test_driver_passthru_mixin_unspecified(self):
106
mixed_vendor = driver_utils.MixinVendorInterface({})
107
self.assertRaises(exception.UnsupportedDriverExtension,
108
mixed_vendor.driver_vendor_passthru,
113
58
def test_get_node_mac_addresses(self):
116
61
obj_utils.create_test_port(self.context,
117
id=6, address='aa:bb:cc',
118
63
uuid='bb43dc0b-03f2-4d2e-ae87-c02d7f33cc53',
119
64
node_id=self.node.id)
122
67
obj_utils.create_test_port(self.context,
123
id=7, address='dd:ee:ff',
124
69
uuid='4fc26c0b-03f2-4d2e-ae87-c02d7f33c234',
125
70
node_id=self.node.id)