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

« back to all changes in this revision

Viewing changes to src/maasserver/api/tests/test_macaddress.py

merged upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
            reverse('node_mac_handler', args=['node-id', 'mac']))
39
39
 
40
40
    def createNodeWithMacs(self, owner=None):
41
 
        node = factory.make_node(owner=owner)
 
41
        node = factory.make_Node(owner=owner)
42
42
        mac1 = node.add_mac_address('aa:bb:cc:dd:ee:ff')
43
43
        mac2 = node.add_mac_address('22:bb:cc:dd:aa:ff')
44
44
        return node, mac1, mac2
66
66
    def test_macs_GET_node_not_found(self):
67
67
        # When fetching a MAC address, the api returns a 'Not Found' (404)
68
68
        # error if the MAC address does not exist.
69
 
        node = factory.make_node()
 
69
        node = factory.make_Node()
70
70
        response = self.client.get(
71
71
            reverse(
72
72
                'node_mac_handler',
77
77
    def test_macs_GET_node_bad_request(self):
78
78
        # When fetching a MAC address, the api returns a 'Bad Request' (400)
79
79
        # error if the MAC address is not valid.
80
 
        node = factory.make_node()
 
80
        node = factory.make_Node()
81
81
        url = reverse('node_mac_handler', args=[node.system_id, 'invalid-mac'])
82
82
        response = self.client.get(url)
83
83
 
85
85
 
86
86
    def test_macs_POST_add_mac(self):
87
87
        # The api allows to add a MAC address to an existing node.
88
 
        node = factory.make_node(owner=self.logged_in_user)
 
88
        node = factory.make_Node(owner=self.logged_in_user)
89
89
        nb_macs = MACAddress.objects.filter(node=node).count()
90
90
        response = self.client.post(
91
91
            reverse('node_macs_handler', args=[node.system_id]),
101
101
    def test_macs_POST_add_mac_without_edit_perm(self):
102
102
        # Adding a MAC address to a node requires the NODE_PERMISSION.EDIT
103
103
        # permission.
104
 
        node = factory.make_node()
 
104
        node = factory.make_Node()
105
105
        response = self.client.post(
106
106
            reverse('node_macs_handler', args=[node.system_id]),
107
107
            {'mac_address': '01:BB:CC:DD:EE:FF'})
138
138
            node.macaddress_set.count())
139
139
 
140
140
    def test_macs_DELETE_disconnects_from_network(self):
141
 
        network = factory.make_network()
142
 
        node = factory.make_node(owner=self.logged_in_user)
143
 
        mac = factory.make_mac_address(node=node, networks=[network])
 
141
        network = factory.make_Network()
 
142
        node = factory.make_Node(owner=self.logged_in_user)
 
143
        mac = factory.make_MACAddress(node=node, networks=[network])
144
144
        response = self.client.delete(
145
145
            reverse(
146
146
                'node_mac_handler', args=[node.system_id, mac.mac_address]))
151
151
        # When deleting a MAC address, the api returns a 'Forbidden' (403)
152
152
        # error if the node is not visible to the logged-in user.
153
153
        node, mac1, _ = self.createNodeWithMacs()
154
 
        factory.make_node(
155
 
            status=NODE_STATUS.ALLOCATED, owner=factory.make_user())
 
154
        factory.make_Node(
 
155
            status=NODE_STATUS.ALLOCATED, owner=factory.make_User())
156
156
        response = self.client.delete(
157
157
            reverse(
158
158
                'node_mac_handler',
163
163
    def test_macs_DELETE_not_found(self):
164
164
        # When deleting a MAC address, the api returns a 'Not Found' (404)
165
165
        # error if no existing MAC address is found.
166
 
        node = factory.make_node(owner=self.logged_in_user)
 
166
        node = factory.make_Node(owner=self.logged_in_user)
167
167
        response = self.client.delete(
168
168
            reverse(
169
169
                'node_mac_handler',
175
175
        # When deleting a MAC address, the api returns a 'Forbidden'
176
176
        # (403) error if the user does not have the 'edit' permission on the
177
177
        # node.
178
 
        node = factory.make_node(owner=self.logged_in_user)
 
178
        node = factory.make_Node(owner=self.logged_in_user)
179
179
        response = self.client.delete(
180
180
            reverse(
181
181
                'node_mac_handler',
186
186
    def test_macs_DELETE_bad_request(self):
187
187
        # When deleting a MAC address, the api returns a 'Bad Request' (400)
188
188
        # error if the provided MAC address is not valid.
189
 
        node = factory.make_node()
 
189
        node = factory.make_Node()
190
190
        response = self.client.delete(
191
191
            reverse(
192
192
                'node_mac_handler',