def test_network_details(self): self.mox.StubOutWithMock(api, 'quantum_network_details') api.quantum_network_details(IsA(http.HttpRequest), 'n1').AndReturn(self.network_details) self.mox.StubOutWithMock(api, 'quantum_list_ports') api.quantum_list_ports(IsA(http.HttpRequest), 'n1').AndReturn(self.ports) self.mox.StubOutWithMock(api, 'quantum_port_attachment') api.quantum_port_attachment(IsA(http.HttpRequest), 'n1', 'p1').AndReturn(self.port_attachment) self.mox.StubOutWithMock(api, 'quantum_port_details') api.quantum_port_details(IsA(http.HttpRequest), 'n1', 'p1').AndReturn(self.port_details) self.mox.StubOutWithMock(api, 'get_vif_ids') api.get_vif_ids(IsA(http.HttpRequest)).AndReturn(self.vifs) self.mox.ReplayAll() res = self.client.get(reverse('steer:engine:networks:detail', args=['n1'])) self.assertTemplateUsed(res, 'engine/networks/detail.html') self.assertIn('network', res.context) network = res.context['network'] self.assertEqual(network['name'], 'test_network') self.assertEqual(network['id'], 'n1')
def _get_port_states(request, network_id): """ Helper method to find port states for a network """ network_ports = [] # Get all vifs for comparison with port attachments vifs = api.get_vif_ids(request) # Get all ports on this network ports = api.quantum_list_ports(request, network_id) for port in ports['ports']: port_details = api.quantum_port_details(request, network_id, port['id']) # Get port attachments port_attachment = api.quantum_port_attachment(request, network_id, port['id']) # Find instance the attachment belongs to connected_instance = None if port_attachment['attachment']: for vif in vifs: if str(vif['id']) == str(port_attachment['attachment']['id']): connected_instance = vif['id'] break network_ports.append({ 'id': port_details['port']['id'], 'state': port_details['port']['state'], 'attachment': port_attachment['attachment'], 'instance': connected_instance}) return network_ports
def _get_port_states(request, network_id): """ Helper method to find port states for a network """ network_ports = [] # Get all vifs for comparison with port attachments vifs = api.get_vif_ids(request) # Get all ports on this network ports = api.quantum_list_ports(request, network_id) for port in ports["ports"]: port_details = api.quantum_port_details(request, network_id, port["id"]) # Get port attachments port_attachment = api.quantum_port_attachment(request, network_id, port["id"]) # Find instance the attachment belongs to connected_instance = None if port_attachment["attachment"]: for vif in vifs: if str(vif["id"]) == str(port_attachment["attachment"]["id"]): connected_instance = vif["id"] break network_ports.append( { "id": port_details["port"]["id"], "state": port_details["port"]["state"], "attachment": port_attachment["attachment"], "instance": connected_instance, } ) return network_ports
def __init__(self, request, *args, **kwargs): super(AttachPort, self).__init__(*args, **kwargs) # Populate VIF choices vif_choices = [('', "Select a VIF")] for vif in api.get_vif_ids(request): if vif['available']: name = "Instance %s VIF %s" % (vif['instance_name'], vif['id']) vif_choices.append((vif['id'], name,)) self.fields['vif_id'].choices = vif_choices
def test_port_attach(self): self.mox.StubOutWithMock(api, "quantum_attach_port") api.quantum_attach_port(IsA(http.HttpRequest), 'n1', 'p1', dict).AndReturn(True) self.mox.StubOutWithMock(api, "get_vif_ids") api.get_vif_ids(IsA(http.HttpRequest)).AndReturn([{ 'id': 'v1', 'instance_name': 'instance1', 'available': True}]) formData = {'port': 'p1', 'network': 'n1', 'vif_id': 'v1', 'method': 'AttachPort'} self.mox.ReplayAll() res = self.client.post(reverse('steer:engine:networks:port_attach', args=["n1", "p1"]), formData) self.assertRedirectsNoFollow(res, reverse('steer:engine:networks:detail', args=["n1"]))