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))
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))
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')
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)
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)
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))
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)