~ubuntu-branches/ubuntu/vivid/ironic/vivid-updates

« back to all changes in this revision

Viewing changes to ironic/tests/drivers/test_utils.py

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2015-01-05 12:21:37 UTC
  • mfrom: (1.2.4)
  • Revision ID: package-import@ubuntu.com-20150105122137-171bqrdpcxqipunk
Tags: 2015.1~b1-0ubuntu1
* New upstream beta release:
  - d/control: Align version requirements with upstream release.
* d/watch: Update uversionmangle to deal with kilo beta versioning
  changes.
* d/control: Bumped Standards-Version to 3.9.6, no changes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
from ironic.common import driver_factory
19
19
from ironic.common import exception
20
20
from ironic.conductor import task_manager
21
 
from ironic.db import api as db_api
22
21
from ironic.drivers.modules import fake
23
22
from ironic.drivers import utils as driver_utils
24
23
from ironic.tests.conductor import utils as mgr_utils
30
29
 
31
30
    def setUp(self):
32
31
        super(UtilsTestCase, self).setUp()
33
 
        self.dbapi = db_api.get_instance()
34
32
        mgr_utils.mock_the_extension_manager()
35
33
        self.driver = driver_factory.get_driver("fake")
36
34
        self.node = obj_utils.create_test_node(self.context)
50
48
        mock_fakea_validate.assert_called_once_with(method='first_method')
51
49
 
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')
55
53
 
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)
59
57
 
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,
63
 
                                                 mock_fakea_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')
76
 
 
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 = {
83
 
            'method_a': vendor_a,
84
 
            'method_b': vendor_b,
85
 
        }
86
 
        mixed_vendor = driver_utils.MixinVendorInterface(
87
 
            {},
88
 
            driver_vendor_mapping)
89
 
        mixed_vendor.driver_vendor_passthru('context',
90
 
                                            'method_a',
91
 
                                            param1='p1')
92
 
        vendor_a.driver_vendor_passthru.assert_called_once_with(
93
 
            'context',
94
 
            'method_a',
95
 
            param1='p1')
96
 
 
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,
101
 
                          'context',
102
 
                          'fake_method',
103
 
                          param='p1')
104
 
 
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,
109
 
                          'context',
110
 
                          'fake_method',
111
 
                          param='p1')
112
 
 
113
58
    def test_get_node_mac_addresses(self):
114
59
        ports = []
115
60
        ports.append(
116
61
            obj_utils.create_test_port(self.context,
117
 
                    id=6, address='aa:bb:cc',
 
62
                    address='aa:bb:cc',
118
63
                    uuid='bb43dc0b-03f2-4d2e-ae87-c02d7f33cc53',
119
64
                    node_id=self.node.id)
120
65
        )
121
66
        ports.append(
122
67
            obj_utils.create_test_port(self.context,
123
 
                    id=7, address='dd:ee:ff',
 
68
                    address='dd:ee:ff',
124
69
                    uuid='4fc26c0b-03f2-4d2e-ae87-c02d7f33c234',
125
70
                    node_id=self.node.id)
126
71
        )