~rvb/maas/transaction-1.7-bug-1409852

« back to all changes in this revision

Viewing changes to src/maasserver/models/tests/test_nodegroupinterface.py

merged upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
 
32
32
 
33
33
def make_interface(network=None):
34
 
    nodegroup = factory.make_node_group(
 
34
    nodegroup = factory.make_NodeGroup(
35
35
        status=NODEGROUP_STATUS.ACCEPTED,
36
36
        management=NODEGROUPINTERFACE_MANAGEMENT.DHCP_AND_DNS,
37
37
        network=network)
79
79
            interface.display_management())
80
80
 
81
81
    def test_name_accepts_network_interface_name(self):
82
 
        cluster = factory.make_node_group()
 
82
        cluster = factory.make_NodeGroup()
83
83
        self.assertEqual(
84
84
            'eth0',
85
 
            factory.make_node_group_interface(cluster, name='eth0').name)
 
85
            factory.make_NodeGroupInterface(cluster, name='eth0').name)
86
86
 
87
87
    def test_name_accepts_network_interface_name_with_alias(self):
88
 
        cluster = factory.make_node_group()
 
88
        cluster = factory.make_NodeGroup()
89
89
        self.assertEqual(
90
90
            'eth0:1',
91
 
            factory.make_node_group_interface(cluster, name='eth0:1').name)
 
91
            factory.make_NodeGroupInterface(cluster, name='eth0:1').name)
92
92
 
93
93
    def test_name_accepts_vlan_interface(self):
94
 
        cluster = factory.make_node_group()
 
94
        cluster = factory.make_NodeGroup()
95
95
        self.assertEqual(
96
96
            'eth0.1',
97
 
            factory.make_node_group_interface(cluster, name='eth0.1').name)
 
97
            factory.make_NodeGroupInterface(cluster, name='eth0.1').name)
98
98
 
99
99
    def test_name_accepts_dashes(self):
100
 
        cluster = factory.make_node_group()
 
100
        cluster = factory.make_NodeGroup()
101
101
        self.assertEqual(
102
102
            'eth0-1',
103
 
            factory.make_node_group_interface(cluster, name='eth0-1').name)
 
103
            factory.make_NodeGroupInterface(cluster, name='eth0-1').name)
104
104
 
105
105
    def test_name_rejects_other_unusual_characters(self):
106
 
        cluster = factory.make_node_group()
 
106
        cluster = factory.make_NodeGroup()
107
107
        self.assertRaises(
108
108
            ValidationError,
109
 
            factory.make_node_group_interface, cluster, name='eth 0')
 
109
            factory.make_NodeGroupInterface, cluster, name='eth 0')
110
110
 
111
111
    def test_clean_ips_in_network_validates_IP(self):
112
112
        network = IPNetwork('192.168.0.3/24')
120
120
            'static_ip_range_high',
121
121
            ]
122
122
        for field in checked_fields:
123
 
            nodegroup = factory.make_node_group(
 
123
            nodegroup = factory.make_NodeGroup(
124
124
                network=network, management=NODEGROUPINTERFACE_MANAGEMENT.DHCP)
125
125
            [interface] = nodegroup.get_managed_interfaces()
126
126
            setattr(interface, field, ip_outside_network)
133
133
            self.assertEqual({field: [message]}, exception.message_dict)
134
134
 
135
135
    def test_clean_network(self):
136
 
        nodegroup = factory.make_node_group(
 
136
        nodegroup = factory.make_NodeGroup(
137
137
            network=IPNetwork('192.168.0.3/24'),
138
138
            management=NODEGROUPINTERFACE_MANAGEMENT.DHCP)
139
139
        [interface] = nodegroup.get_managed_interfaces()
155
155
            'ip_range_high',
156
156
            ]
157
157
        for field in checked_fields:
158
 
            nodegroup = factory.make_node_group(
 
158
            nodegroup = factory.make_NodeGroup(
159
159
                network=network,
160
160
                management=NODEGROUPINTERFACE_MANAGEMENT.DHCP_AND_DNS)
161
161
            [interface] = nodegroup.get_managed_interfaces()
174
174
            'static_ip_range_high',
175
175
            ]
176
176
        for field in checked_fields:
177
 
            nodegroup = factory.make_node_group(
 
177
            nodegroup = factory.make_NodeGroup(
178
178
                network=network,
179
179
                management=NODEGROUPINTERFACE_MANAGEMENT.DHCP_AND_DNS)
180
180
            [interface] = nodegroup.get_managed_interfaces()
184
184
 
185
185
    def test_clean_network_config_sets_default_if_netmask_not_given(self):
186
186
        network = factory.getRandomNetwork()
187
 
        nodegroup = factory.make_node_group(
 
187
        nodegroup = factory.make_NodeGroup(
188
188
            network=network,
189
189
            management=NODEGROUPINTERFACE_MANAGEMENT.DHCP_AND_DNS)
190
190
        [interface] = nodegroup.get_managed_interfaces()
193
193
 
194
194
    def test_clean_network_config_sets_no_broadcast_without_netmask(self):
195
195
        network = factory.getRandomNetwork()
196
 
        nodegroup = factory.make_node_group(
 
196
        nodegroup = factory.make_NodeGroup(
197
197
            network=network,
198
198
            management=NODEGROUPINTERFACE_MANAGEMENT.UNMANAGED)
199
199
        interface = NodeGroupInterface.objects.get(nodegroup=nodegroup)
206
206
        # When the default value for broadcast_ip was introduced, it broke
207
207
        # the form but not tests.  The reason: the default was an IPAddress,
208
208
        # but GenericIPAddressValidation expects a string.
209
 
        nodegroup = factory.make_node_group()
 
209
        nodegroup = factory.make_NodeGroup()
210
210
        # Can't use the factory for this one; it may hide the problem.
211
211
        interface = NodeGroupInterface(
212
212
            nodegroup=nodegroup, name=factory.make_name('ngi'),
307
307
        self.assertEqual(errors, exception.message_dict)
308
308
 
309
309
    def test_manages_static_range_returns_False_if_not_managed(self):
310
 
        cluster = factory.make_node_group()
 
310
        cluster = factory.make_NodeGroup()
311
311
        network = IPNetwork("10.9.9.0/24")
312
 
        interface = factory.make_node_group_interface(
 
312
        interface = factory.make_NodeGroupInterface(
313
313
            cluster, network=network,
314
314
            ip_range_low='10.9.9.10', ip_range_high='10.9.9.50',
315
315
            static_ip_range_low='10.9.9.100',
332
332
        self.assertFalse(interface.manages_static_range())
333
333
 
334
334
    def test_manages_static_range_returns_True_if_manages_static_range(self):
335
 
        cluster = factory.make_node_group()
 
335
        cluster = factory.make_NodeGroup()
336
336
        network = IPNetwork("10.9.9.0/24")
337
 
        interface = factory.make_node_group_interface(
 
337
        interface = factory.make_NodeGroupInterface(
338
338
            cluster, network=network,
339
339
            ip_range_low='10.9.9.10', ip_range_high='10.9.9.50',
340
340
            static_ip_range_low='10.9.9.100',
344
344
 
345
345
    @staticmethod
346
346
    def make_managed_interface():
347
 
        return factory.make_node_group_interface(
 
347
        return factory.make_NodeGroupInterface(
348
348
            management=NODEGROUPINTERFACE_MANAGEMENT.DHCP,
349
 
            nodegroup=factory.make_node_group())
 
349
            nodegroup=factory.make_NodeGroup())
350
350
 
351
351
    def test_dynamic_ip_range_returns_None_if_range_low_not_set(self):
352
352
        interface = self.make_managed_interface()