示例#1
0
文件: tests.py 项目: jakedahn/horizon
    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)
示例#2
0
 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})
示例#3
0
文件: forms.py 项目: ehazlett/horizon
 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})
示例#4
0
    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)
示例#5
0
 def action(self, request, datum_id):
     body = {'port': {'state': 'DOWN'}}
     api.quantum_set_port_state(request,
                                self.table.kwargs['network_id'],
                                datum_id, body)
示例#6
0
 def action(self, request, datum_id):
     body = {'port': {'state': 'DOWN'}}
     api.quantum_set_port_state(request, self.table.kwargs['network_id'],
                                datum_id, body)