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

« back to all changes in this revision

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

merged upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
            'netmask': '%s' % net.netmask,
39
39
            'vlan_tag': factory.make_vlan_tag(),
40
40
            'description': factory.make_string(),
 
41
            'default_gateway': factory.getRandomIPAddress(),
 
42
            'dns_servers': factory.getRandomIPAddress(),
41
43
        }
42
44
        response = self.client.post(reverse('networks_handler'), params)
43
45
        self.assertEqual(httplib.OK, response.status_code)
53
55
        self.assertIsNone(get_one(Network.objects.filter(name=name)))
54
56
 
55
57
    def test_GET_returns_networks(self):
56
 
        original_network = factory.make_network()
 
58
        original_network = factory.make_Network()
57
59
 
58
60
        response = self.client.get(reverse('networks_handler'))
59
61
        self.assertEqual(httplib.OK, response.status_code, response.content)
61
63
        parsed_result = json.loads(response.content)
62
64
        self.assertEqual(1, len(parsed_result))
63
65
        [returned_network] = parsed_result
64
 
        fields = {'name', 'ip', 'netmask', 'vlan_tag', 'description'}
 
66
        fields = {
 
67
            'name', 'ip', 'netmask', 'vlan_tag', 'description',
 
68
            'default_gateway', 'dns_servers'}
65
69
        self.assertEqual(
66
70
            fields.union({'resource_uri'}),
67
71
            set(returned_network.keys()))
80
84
        self.assertEqual([], json.loads(response.content))
81
85
 
82
86
    def test_GET_sorts_by_name(self):
83
 
        networks = factory.make_networks(3, sortable_name=True)
 
87
        networks = factory.make_Networks(3, sortable_name=True)
84
88
        response = self.client.get(reverse('networks_handler'))
85
89
        self.assertEqual(httplib.OK, response.status_code, response.content)
86
90
 
89
93
            [network['name'] for network in json.loads(response.content)])
90
94
 
91
95
    def test_GET_filters_by_node(self):
92
 
        networks = factory.make_networks(5)
93
 
        mac = factory.make_mac_address(networks=networks[1:3])
 
96
        networks = factory.make_Networks(5)
 
97
        mac = factory.make_MACAddress(networks=networks[1:3])
94
98
        node = mac.node
95
99
        response = self.client.get(
96
100
            reverse('networks_handler'),
102
106
            {network['name'] for network in json.loads(response.content)})
103
107
 
104
108
    def test_GET_combines_node_filters_as_intersection_of_networks(self):
105
 
        networks = factory.make_networks(5)
106
 
        mac1 = factory.make_mac_address(networks=networks[1:3])
107
 
        mac2 = factory.make_mac_address(networks=networks[2:4])
 
109
        networks = factory.make_Networks(5)
 
110
        mac1 = factory.make_MACAddress(networks=networks[1:3])
 
111
        mac2 = factory.make_MACAddress(networks=networks[2:4])
108
112
        node1 = mac1.node
109
113
        # Attach another MAC address to node1.
110
 
        factory.make_mac_address(networks=networks[1:2], node=node1)
 
114
        factory.make_MACAddress(networks=networks[1:2], node=node1)
111
115
        node2 = mac2.node
112
116
 
113
117
        response = self.client.get(
130
134
            json.loads(response.content))
131
135
 
132
136
    def test_GET_ignores_duplicates(self):
133
 
        factory.make_network()
134
 
        mac = factory.make_mac_address(networks=[factory.make_network()])
 
137
        factory.make_Network()
 
138
        mac = factory.make_MACAddress(networks=[factory.make_Network()])
135
139
        node = mac.node
136
140
        response = self.client.get(
137
141
            reverse('networks_handler'),