def test_port_detach(self): self.mox.StubOutWithMock(api, 'quantum_network_details') self.mox.StubOutWithMock(api, 'quantum_list_ports') self.mox.StubOutWithMock(api, 'quantum_port_attachment') self.mox.StubOutWithMock(api, 'quantum_port_details') self.mox.StubOutWithMock(api, 'get_vif_ids') self.mox.StubOutWithMock(api, "quantum_set_port_state") network_details = {'network': {'id': 'n1', 'name': 'network1'}} api.quantum_network_details(IsA(http.HttpRequest), 'n1').AndReturn(network_details) api.quantum_list_ports(IsA(http.HttpRequest), 'n1').AndReturn(self.ports) api.quantum_port_attachment(IsA(http.HttpRequest), 'n1', 'p1').AndReturn(self.port_attachment) api.quantum_port_details(IsA(http.HttpRequest), 'n1', 'p1').AndReturn(self.port_details) api.get_vif_ids(IsA(http.HttpRequest)).AndReturn(self.vifs) api.quantum_set_port_state(IsA(http.HttpRequest), 'n1', 'p1', {'port': {'state': 'DOWN'}}).AndReturn(True) formData = {'action': "network_details__detach_port__p1"} self.mox.ReplayAll() detail_url = reverse('horizon:nova:networks:detail', args=["n1"]) res = self.client.post(detail_url, formData) self.assertRedirectsNoFollow(res, detail_url)
def handle(self, request, data): try: LOG.info('Toggling port state to %s' % data['state']) body = {'port': {'state': '%s' % data['state']}} api.quantum_set_port_state(request, data['network'], data['port'], body) except Exception, e: messages.error(request, _('Unable to set port state to %(state)s: %(message)s') % {"state": data['state'], "message": e.message})
def handle(self, request, data): try: LOG.info('Toggling port state to %s' % data['state']) body = {'port': {'state': '%s' % data['state']}} api.quantum_set_port_state(request, data['network'], data['port'], body) except Exception, e: if not hasattr(e, 'message'): e.message = str(e) messages.error(request, _('Unable to set port state to %(state)s: %(message)s') % {"state": data['state'], "message": e.message})
def test_port_detach(self): self.mox.StubOutWithMock(api, 'quantum_network_details') self.mox.StubOutWithMock(api, 'quantum_list_ports') self.mox.StubOutWithMock(api, 'quantum_port_attachment') self.mox.StubOutWithMock(api, 'quantum_port_details') self.mox.StubOutWithMock(api, 'get_vif_ids') self.mox.StubOutWithMock(api, "quantum_set_port_state") network_details = {'network': {'id': 'n1', 'name': 'network1'}} api.quantum_network_details(IsA(http.HttpRequest), 'n1').AndReturn(network_details) api.quantum_list_ports(IsA(http.HttpRequest), 'n1').AndReturn(self.ports) api.quantum_port_attachment(IsA(http.HttpRequest), 'n1', 'p1').AndReturn(self.port_attachment) api.quantum_port_details(IsA(http.HttpRequest), 'n1', 'p1').AndReturn(self.port_details) api.get_vif_ids(IsA(http.HttpRequest)).AndReturn(self.vifs) api.quantum_set_port_state(IsA(http.HttpRequest), 'n1', 'p1', { 'port': { 'state': 'DOWN' } }).AndReturn(True) formData = {'action': "network_details__detach_port__p1"} self.mox.StubOutWithMock(messages, 'success') messages.success(IgnoreArg(), IsA(basestring)) self.mox.ReplayAll() detail_url = reverse('horizon:nova:networks:detail', args=["n1"]) res = self.client.post(detail_url, formData) self.assertRedirectsNoFollow(res, detail_url)
def action(self, request, datum_id): body = {'port': {'state': 'DOWN'}} api.quantum_set_port_state(request, self.table.kwargs['network_id'], datum_id, body)