Exemple #1
0
    def test_firewall_add_router(self):
        tenant_id = self.tenant.id
        firewall = self.firewalls.first()
        routers = self.routers.list()

        existing_router_ids = firewall.router_ids
        add_router_ids = [routers[1].id]

        form_data = {'router_ids': add_router_ids}
        post_data = {'router_ids': add_router_ids + existing_router_ids}

        api_fwaas.firewall_get(
            IsA(http.HttpRequest), firewall.id).AndReturn(firewall)
        api_fwaas.firewall_unassociated_routers_list(
            IsA(http.HttpRequest), tenant_id).AndReturn(routers)

        firewall.router_ids = [add_router_ids, existing_router_ids]

        api_fwaas.firewall_update(
            IsA(http.HttpRequest),
            firewall.id, **post_data).AndReturn(firewall)

        self.mox.ReplayAll()

        res = self.client.post(
            reverse(self.ADDROUTER_PATH, args=(firewall.id,)), form_data)

        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, str(self.INDEX_URL))
Exemple #2
0
    def test_update_firewall_post(self):
        firewall = self.firewalls.first()
        tenant_id = self.tenant.id
        api_fwaas.firewall_get(IsA(http.HttpRequest),
                               firewall.id).AndReturn(firewall)

        data = {'name': 'new name',
                'description': 'new desc',
                'firewall_policy_id': firewall.firewall_policy_id,
                'admin_state_up': False
                }

        policies = self.fw_policies.list()
        api_fwaas.policy_list_for_tenant(
            IsA(http.HttpRequest), tenant_id).AndReturn(policies)

        api_fwaas.firewall_update(IsA(http.HttpRequest), firewall.id, **data)\
            .AndReturn(firewall)

        self.mox.ReplayAll()

        res = self.client.post(
            reverse(self.UPDATEFIREWALL_PATH, args=(firewall.id,)), data)

        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, str(self.INDEX_URL))
Exemple #3
0
    def test_update_firewall_get(self):
        firewall = self.firewalls.first()
        policies = self.fw_policies.list()
        tenant_id = self.tenant.id

        api_fwaas.policy_list_for_tenant(
            IsA(http.HttpRequest), tenant_id).AndReturn(policies)

        api_fwaas.firewall_get(IsA(http.HttpRequest),
                               firewall.id).AndReturn(firewall)

        self.mox.ReplayAll()

        res = self.client.get(
            reverse(self.UPDATEFIREWALL_PATH, args=(firewall.id,)))

        self.assertTemplateUsed(res, 'project/firewalls/updatefirewall.html')
Exemple #4
0
 def _get_object(self, *args, **kwargs):
     firewall_id = self.kwargs['firewall_id']
     try:
         firewall = api_fwaas.firewall_get(self.request, firewall_id)
         return firewall
     except Exception:
         redirect = self.success_url
         msg = _('Unable to retrieve firewall details.')
         exceptions.handle(self.request, msg, redirect=redirect)
Exemple #5
0
 def get_data(self):
     try:
         firewall_id = self.kwargs['firewall_id']
         firewall = api_fwaas.firewall_get(self.request, firewall_id)
     except Exception:
         exceptions.handle(self.request,
                           _('Unable to retrieve firewall details.'),
                           redirect=self.failure_url)
     return firewall
    def test_firewall_get(self):
        exp_firewall = self.firewalls.first()
        ret_dict = {'firewall': self.api_firewalls.first()}
        policy_dict = {'firewall_policy': self.api_fw_policies.first()}

        neutronclient.show_firewall(exp_firewall.id).AndReturn(ret_dict)
        neutronclient.show_firewall_policy(
            exp_firewall.firewall_policy_id).AndReturn(policy_dict)
        self.mox.ReplayAll()

        ret_val = api_fwaas.firewall_get(self.request, exp_firewall.id)
        self._assert_firewall_return_value(ret_val, exp_firewall)
Exemple #7
0
    def test_firewall_remove_router(self):
        firewall = self.firewalls.first()
        tenant_id = self.tenant.id
        routers = self.routers.list()
        existing_router_ids = firewall.router_ids

        form_data = {'router_ids': existing_router_ids}

        api_fwaas.firewall_get(IsA(http.HttpRequest),
                               firewall.id).AndReturn(firewall)
        api.neutron.router_list(IsA(http.HttpRequest),
                                tenant_id=tenant_id).AndReturn(routers)
        firewall.router_ids = []
        api_fwaas.firewall_update(IsA(http.HttpRequest), firewall.id,
                                  **form_data).AndReturn(firewall)

        self.mox.ReplayAll()

        res = self.client.post(
            reverse(self.REMOVEROUTER_PATH, args=(firewall.id, )), form_data)

        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, str(self.INDEX_URL))
Exemple #8
0
    def test_firewall_get(self):
        exp_firewall = self.firewalls.first()
        ret_dict = {'firewall': self.api_firewalls.first()}
        policy_dict = {'firewall_policy': self.api_fw_policies.first()}

        neutronclient.show_firewall(exp_firewall.id).AndReturn(ret_dict)
        neutronclient.show_firewall_policy(
            exp_firewall.firewall_policy_id).AndReturn(policy_dict)
        api_neutron.is_extension_supported(mox.IsA(
            http.HttpRequest), 'fwaasrouterinsertion').AndReturn(True)
        api_neutron.router_list(mox.IsA(http.HttpRequest),
                                id=exp_firewall.router_ids).AndReturn(
                                    exp_firewall.routers)
        self.mox.ReplayAll()

        ret_val = api_fwaas.firewall_get(self.request, exp_firewall.id)
        self._assert_firewall_return_value(ret_val, exp_firewall)
        self.assertEqual(exp_firewall.router_ids, ret_val.router_ids)
        self.assertEqual(exp_firewall.router_ids,
                         [r.id for r in ret_val.routers])
        self.assertEqual([r.name for r in exp_firewall.routers],
                         [r.name for r in ret_val.routers])
    def test_firewall_get(self):
        exp_firewall = self.firewalls.first()
        ret_dict = {'firewall': self.api_firewalls.first()}
        policy_dict = {'firewall_policy': self.api_fw_policies.first()}

        self.mock_show_firewall.return_value = ret_dict
        self.mock_show_firewall_policy.return_value = policy_dict
        self.mock_is_extension_supported.return_value = True
        self.mock_router_list.return_value = exp_firewall.routers

        ret_val = api_fwaas.firewall_get(self.request, exp_firewall.id)
        self._assert_firewall_return_value(ret_val, exp_firewall)
        self.assertEqual(exp_firewall.router_ids, ret_val.router_ids)
        self.assertEqual(exp_firewall.router_ids,
                         [r.id for r in ret_val.routers])
        self.assertEqual([r.name for r in exp_firewall.routers],
                         [r.name for r in ret_val.routers])
        self.mock_show_firewall.assert_called_once_with(exp_firewall.id)
        self.mock_show_firewall_policy.assert_called_once_with(
            exp_firewall.firewall_policy_id)
        self.mock_is_extension_supported.assert_called_once_with(
            helpers.IsHttpRequest(), 'fwaasrouterinsertion')
        self.mock_router_list.assert_called_once_with(
            helpers.IsHttpRequest(), id=exp_firewall.router_ids)