110
110
reload_object(nodegroup),
111
111
MatchesStructure.byEquality(**data))
113
def test_contains_link_to_add_interface(self):
114
nodegroup = factory.make_node_group()
115
links = get_content_links(
116
self.client.get(reverse('cluster-edit', args=[nodegroup.uuid])))
118
reverse('cluster-interface-create', args=[nodegroup.uuid]), links)
114
121
class ClusterInterfaceDeleteTest(AdminLoggedInTestCase):
141
148
args=[nodegroup.uuid, interface.interface])
142
149
data = factory.get_interface_fields()
143
150
response = self.client.post(edit_link, data)
144
self.assertEqual(httplib.FOUND, response.status_code, response.content)
152
(httplib.FOUND, reverse('cluster-edit', args=[nodegroup.uuid])),
153
(response.status_code, extract_redirect(response)))
155
reload_object(interface),
156
MatchesStructure.byEquality(**data))
159
class ClusterInterfaceCreateTest(AdminLoggedInTestCase):
161
def test_can_create_cluster_interface(self):
162
nodegroup = factory.make_node_group(
163
management=NODEGROUPINTERFACE_MANAGEMENT.UNMANAGED)
164
create_link = reverse(
165
'cluster-interface-create', args=[nodegroup.uuid])
166
data = factory.get_interface_fields()
167
response = self.client.post(create_link, data)
169
(httplib.FOUND, reverse('cluster-edit', args=[nodegroup.uuid])),
170
(response.status_code, extract_redirect(response)))
171
interface = NodeGroupInterface.objects.get(
172
nodegroup__uuid=nodegroup.uuid, interface=data['interface'])
146
174
reload_object(interface),
147
175
MatchesStructure.byEquality(**data))