~lutostag/ubuntu/trusty/maas/1.5.2+packagefix

« back to all changes in this revision

Viewing changes to src/maasserver/tests/test_api_networks.py

  • Committer: Package Import Robot
  • Author(s): Andres Rodriguez
  • Date: 2014-03-28 10:43:53 UTC
  • mto: This revision was merged to the branch mainline in revision 57.
  • Revision ID: package-import@ubuntu.com-20140328104353-ekpolg0pm5xnvq2s
Tags: upstream-1.5+bzr2204
ImportĀ upstreamĀ versionĀ 1.5+bzr2204

Show diffs side-by-side

added added

removed removed

Lines of Context:
80
80
        self.assertEqual([], json.loads(response.content))
81
81
 
82
82
    def test_GET_sorts_by_name(self):
83
 
        original_names = [factory.make_name('net').lower() for _ in range(3)]
84
 
        for name in original_names:
85
 
            factory.make_network(name=name)
86
 
 
 
83
        networks = factory.make_networks(3, sortable_name=True)
87
84
        response = self.client.get(reverse('networks_handler'))
88
85
        self.assertEqual(httplib.OK, response.status_code, response.content)
89
86
 
90
87
        self.assertEqual(
91
 
            sorted(original_names),
 
88
            sorted(network.name for network in networks),
92
89
            [network['name'] for network in json.loads(response.content)])
93
90
 
94
91
    def test_GET_filters_by_node(self):
95
 
        networks = [factory.make_network() for _ in range(5)]
96
 
        node = factory.make_node(networks=networks[1:3])
97
 
 
 
92
        networks = factory.make_networks(5)
 
93
        mac = factory.make_mac_address(networks=networks[1:3])
 
94
        node = mac.node
98
95
        response = self.client.get(
99
96
            reverse('networks_handler'),
100
97
            {'node': [node.system_id]})
101
98
        self.assertEqual(httplib.OK, response.status_code, response.content)
102
99
 
103
100
        self.assertEqual(
104
 
            {network.name for network in node.networks.all()},
 
101
            {network.name for network in mac.networks.all()},
105
102
            {network['name'] for network in json.loads(response.content)})
106
103
 
107
104
    def test_GET_combines_node_filters_as_intersection_of_networks(self):
108
 
        networks = [factory.make_network() for _ in range(5)]
109
 
        node1 = factory.make_node(networks=networks[1:3])
110
 
        node2 = factory.make_node(networks=networks[2:4])
 
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])
 
108
        node1 = mac1.node
 
109
        # Attach another MAC address to node1.
 
110
        factory.make_mac_address(networks=networks[1:2], node=node1)
 
111
        node2 = mac2.node
111
112
 
112
113
        response = self.client.get(
113
114
            reverse('networks_handler'),
130
131
 
131
132
    def test_GET_ignores_duplicates(self):
132
133
        factory.make_network()
133
 
        node = factory.make_node(networks=[factory.make_network()])
 
134
        mac = factory.make_mac_address(networks=[factory.make_network()])
 
135
        node = mac.node
134
136
        response = self.client.get(
135
137
            reverse('networks_handler'),
136
138
            {'node': [node.system_id, node.system_id]})
137
139
        self.assertEqual(httplib.OK, response.status_code, response.content)
138
140
        self.assertEqual(
139
 
            {network.name for network in node.networks.all()},
 
141
            {network.name for network in mac.networks.all()},
140
142
            {network['name'] for network in json.loads(response.content)})