Cleanup 'firewall' usage in v2 dashboard (part 1)
This commit cleans up usage of 'firewall' (in favor of
'firewall group') in the API wrapper layer and messages.
Change-Id: Icf496933ebfd00eac15e24c9c15249c4d18d86de
Partial-Bug: #1723952
Akihiro Motoki
5 years ago
222 | 222 | |
223 | 223 | @profiler.trace |
224 | 224 | def firewall_group_create(request, **kwargs): |
225 | """Create a firewall for specified policy | |
225 | """Create a firewall group for specified policy | |
226 | 226 | |
227 | 227 | :param request: request context |
228 | :param name: name for firewall | |
229 | :param description: description for firewall | |
230 | :param firewall_policy_id: policy id used by firewall | |
228 | :param name: name for firewall group | |
229 | :param description: description for firewall group | |
230 | :param firewall_policy_id: policy id used by firewall group | |
231 | 231 | :param shared: boolean (default false) |
232 | 232 | :param admin_state_up: boolean (default true) |
233 | :return: Firewall object | |
233 | :return: Firewall group object | |
234 | 234 | """ |
235 | 235 | body = {'firewall_group': kwargs} |
236 | 236 | firewall_group = neutronclient(request).create_fwaas_firewall_group(body) |
238 | 238 | |
239 | 239 | |
240 | 240 | @profiler.trace |
241 | def firewall_list(request, **kwargs): | |
242 | return _firewall_list(request, **kwargs) | |
243 | ||
244 | ||
245 | @profiler.trace | |
246 | def firewall_list_for_tenant(request, tenant_id, **kwargs): | |
247 | """Return a firewall list available for the tenant. | |
248 | ||
249 | The list contains firewalls owned by the tenant and shared firewalls. | |
250 | This is required because Neutron returns all resources including | |
241 | def firewall_group_list(request, **kwargs): | |
242 | return _firewall_group_list(request, **kwargs) | |
243 | ||
244 | ||
245 | @profiler.trace | |
246 | def firewall_group_list_for_tenant(request, tenant_id, **kwargs): | |
247 | """Return a firewall group list available for the tenant. | |
248 | ||
249 | The list contains firewall groups owned by the tenant and shared firewall | |
250 | groups. This is required because Neutron returns all resources including | |
251 | 251 | all tenants if a user has admin role. |
252 | 252 | """ |
253 | fwg = firewall_list(request, tenant_id=tenant_id, | |
254 | shared=False, **kwargs) | |
255 | shared_fwg = firewall_list(request, shared=True, **kwargs) | |
253 | fwg = firewall_group_list(request, tenant_id=tenant_id, | |
254 | shared=False, **kwargs) | |
255 | shared_fwg = firewall_group_list(request, shared=True, **kwargs) | |
256 | 256 | return fwg + shared_fwg |
257 | 257 | |
258 | 258 | |
259 | # TODO(SarathMekala): Support expand_policy for _firewall_list | |
260 | def _firewall_list(request, **kwargs): | |
259 | # TODO(SarathMekala): Support expand_policy for _firewall_group_list | |
260 | def _firewall_group_list(request, **kwargs): | |
261 | 261 | firewall_groups = neutronclient(request).list_fwaas_firewall_groups( |
262 | 262 | **kwargs).get('firewall_groups') |
263 | 263 | return [FirewallGroup(f) for f in firewall_groups] |
264 | 264 | |
265 | 265 | |
266 | 266 | @profiler.trace |
267 | def firewall_get(request, firewall_id): | |
268 | return _firewall_get(request, firewall_id, expand_policy=True) | |
269 | ||
270 | ||
271 | def _firewall_get(request, firewallgroup_id, expand_policy): | |
267 | def firewall_group_get(request, firewallgroup_id): | |
268 | return _firewall_group_get(request, firewallgroup_id, expand_policy=True) | |
269 | ||
270 | ||
271 | def _firewall_group_get(request, firewallgroup_id, expand_policy): | |
272 | 272 | firewall_group = neutronclient(request).show_fwaas_firewall_group( |
273 | 273 | firewallgroup_id).get('firewall_group') |
274 | 274 | if expand_policy: |
289 | 289 | |
290 | 290 | |
291 | 291 | @profiler.trace |
292 | def firewall_delete(request, firewallgroup_id): | |
292 | def firewall_group_delete(request, firewallgroup_id): | |
293 | 293 | neutronclient(request).delete_fwaas_firewall_group(firewallgroup_id) |
294 | 294 | |
295 | 295 | |
296 | 296 | @profiler.trace |
297 | def firewall_update(request, firewallgroup_id, **kwargs): | |
297 | def firewall_group_update(request, firewallgroup_id, **kwargs): | |
298 | 298 | body = {'firewall_group': kwargs} |
299 | 299 | firewall_group = neutronclient(request).update_fwaas_firewall_group( |
300 | 300 | firewallgroup_id, body).get('firewall_group') |
192 | 192 | name_or_id = context.get('name') or firewallgroup_id |
193 | 193 | body = self._convert_req_body(_get_request_body(context, self.initial)) |
194 | 194 | try: |
195 | firewall = api_fwaas_v2.firewall_update(request, firewallgroup_id, | |
196 | **body) | |
197 | msg = _('Firewall %s was successfully updated.') % name_or_id | |
198 | messages.success(request, msg) | |
199 | return firewall | |
200 | except Exception as e: | |
201 | msg = (_('Failed to update firewall %(name)s: %(reason)s') % | |
195 | fwg = api_fwaas_v2.firewall_group_update(request, | |
196 | firewallgroup_id, | |
197 | **body) | |
198 | msg = _('Firewall group %s was successfully updated.') % name_or_id | |
199 | messages.success(request, msg) | |
200 | return fwg | |
201 | except Exception as e: | |
202 | msg = (_('Failed to update firewall group %(name)s: %(reason)s') % | |
202 | 203 | {'name': name_or_id, 'reason': e}) |
203 | 204 | redirect = reverse(self.failure_url) |
204 | 205 | exceptions.handle(request, msg, redirect=redirect) |
236 | 237 | ports.append(add_port) |
237 | 238 | body['ports'] = ports |
238 | 239 | try: |
239 | firewallgroup = api_fwaas_v2.firewall_update( | |
240 | firewallgroup = api_fwaas_v2.firewall_group_update( | |
240 | 241 | request, firewallgroup_id, **body) |
241 | msg = _('FirewallGroup %s was successfully updated.') % name_or_id | |
242 | msg = (_('Added the port(s) to the firewall group %s ' | |
243 | 'successfully.') % name_or_id) | |
242 | 244 | messages.success(request, msg) |
243 | 245 | return firewallgroup |
244 | 246 | except Exception as e: |
245 | msg = (_('Failed to update firewallgroup %(name)s: %(reason)s') % | |
247 | msg = (_('Failed to add the port(s) to the firewall group ' | |
248 | '%(name)s: %(reason)s') % | |
246 | 249 | {'name': name_or_id, 'reason': e}) |
247 | 250 | redirect = reverse(self.failure_url) |
248 | 251 | exceptions.handle(request, msg, redirect=redirect) |
275 | 278 | ports.remove(remove_port) |
276 | 279 | body['ports'] = ports |
277 | 280 | try: |
278 | firewallgroup = api_fwaas_v2.firewall_update( | |
281 | firewallgroup = api_fwaas_v2.firewall_group_update( | |
279 | 282 | request, firewallgroup_id, **body) |
280 | msg = _('FirewallGroup %s was successfully updated.') % name_or_id | |
283 | msg = _('Removed the port(s) from the firewall group %s ' | |
284 | 'successfully.') % name_or_id | |
281 | 285 | messages.success(request, msg) |
282 | 286 | return firewallgroup |
283 | 287 | except Exception as e: |
284 | msg = (_('Failed to update firewallgroup %(name)s: %(reason)s') % | |
288 | msg = (_('Failed to remove the port(s) from the firewall group ' | |
289 | '%(name)s: %(reason)s') % | |
285 | 290 | {'name': name_or_id, 'reason': e}) |
286 | 291 | redirect = reverse(self.failure_url) |
287 | 292 | exceptions.handle(request, msg, redirect=redirect) |
35 | 35 | except Exception: |
36 | 36 | LOG.error("Call to list enabled services failed. This is likely " |
37 | 37 | "due to a problem communicating with the Neutron " |
38 | "endpoint. Firewalls panel will not be displayed.") | |
38 | "endpoint. Firewall Groups panel will not be displayed.") | |
39 | 39 | return False |
40 | 40 | if not super(Firewall_V2, self).allowed(context): |
41 | 41 | return False |
140 | 140 | |
141 | 141 | def delete(self, request, obj_id): |
142 | 142 | try: |
143 | api_fwaas_v2.firewall_delete(request, obj_id) | |
143 | api_fwaas_v2.firewall_group_delete(request, obj_id) | |
144 | 144 | except Exception as e: |
145 | exceptions.handle(request, _('Unable to delete firewall. %s') % e) | |
145 | exceptions.handle(request, | |
146 | _('Unable to delete firewall group. %s') % e) | |
146 | 147 | |
147 | 148 | |
148 | 149 | class UpdateRuleLink(policy.PolicyTargetMixin, tables.LinkAction): |
76 | 76 | try: |
77 | 77 | tenant_id = self.request.user.tenant_id |
78 | 78 | request = self.tab_group.request |
79 | fw_groups = api_fwaas_v2.firewall_list_for_tenant(request, | |
80 | tenant_id) | |
79 | fw_groups = api_fwaas_v2.firewall_group_list_for_tenant(request, | |
80 | tenant_id) | |
81 | 81 | tenant_policies = api_fwaas_v2.policy_list_for_tenant( |
82 | 82 | request, tenant_id) |
83 | 83 | policy_dict = self.get_policy_dict(policies=tenant_policies) |
91 | 91 | except Exception: |
92 | 92 | fw_groups = [] |
93 | 93 | exceptions.handle(self.tab_group.request, |
94 | _('Unable to retrieve firewall list.')) | |
94 | _('Unable to retrieve firewall group list.')) | |
95 | 95 | |
96 | 96 | return fw_groups |
97 | 97 |
45 | 45 | |
46 | 46 | def setup_mocks(self): |
47 | 47 | firewallgroups = self.firewall_groups_v2.list() |
48 | self.mock_firewall_list_for_tenant.return_value = firewallgroups | |
48 | self.mock_firewall_group_list_for_tenant.return_value = firewallgroups | |
49 | 49 | policies = self.fw_policies_v2.list() |
50 | 50 | self.mock_policy_list_for_tenant.return_value = policies |
51 | 51 | self.mock_rule_list_for_tenant.return_value = self.fw_rules_v2.list() |
53 | 53 | def check_mocks(self): |
54 | 54 | tenant_id = self.tenant.id |
55 | 55 | |
56 | self.mock_firewall_list_for_tenant.assert_called_once_with( | |
56 | self.mock_firewall_group_list_for_tenant.assert_called_once_with( | |
57 | 57 | helpers.IsHttpRequest(), tenant_id) |
58 | 58 | # TODO(amotoki): get_firewallgroupstable_data() also calls |
59 | 59 | # policy_list_for_tenant(). This needs to be clean up. |
66 | 66 | def setup_mocks_with_exception(self): |
67 | 67 | self.mock_rule_list_for_tenant.side_effect = self.exceptions.neutron |
68 | 68 | self.mock_policy_list_for_tenant.side_effect = self.exceptions.neutron |
69 | self.mock_firewall_list_for_tenant.side_effect = \ | |
69 | self.mock_firewall_group_list_for_tenant.side_effect = \ | |
70 | 70 | self.exceptions.neutron |
71 | 71 | |
72 | 72 | def check_mocks_with_exception(self): |
75 | 75 | helpers.IsHttpRequest(), tenant_id) |
76 | 76 | self.mock_policy_list_for_tenant.assert_called_once_with( |
77 | 77 | helpers.IsHttpRequest(), tenant_id) |
78 | self.mock_firewall_list_for_tenant.assert_called_once_with( | |
79 | helpers.IsHttpRequest(), tenant_id) | |
80 | ||
81 | @helpers.create_mocks({api_fwaas_v2: ('firewall_list_for_tenant', | |
78 | self.mock_firewall_group_list_for_tenant.assert_called_once_with( | |
79 | helpers.IsHttpRequest(), tenant_id) | |
80 | ||
81 | @helpers.create_mocks({api_fwaas_v2: ('firewall_group_list_for_tenant', | |
82 | 82 | 'policy_list_for_tenant', |
83 | 83 | 'rule_list_for_tenant',)}) |
84 | 84 | def test_index_firewallgroups(self): |
94 | 94 | len(self.firewall_groups_v2.list())) |
95 | 95 | self.check_mocks() |
96 | 96 | |
97 | @helpers.create_mocks({api_fwaas_v2: ('firewall_list_for_tenant', | |
97 | @helpers.create_mocks({api_fwaas_v2: ('firewall_group_list_for_tenant', | |
98 | 98 | 'policy_list_for_tenant', |
99 | 99 | 'rule_list_for_tenant',)}) |
100 | 100 | def test_index_policies(self): |
111 | 111 | len(self.fw_policies_v2.list())) |
112 | 112 | self.check_mocks() |
113 | 113 | |
114 | @helpers.create_mocks({api_fwaas_v2: ('firewall_list_for_tenant', | |
114 | @helpers.create_mocks({api_fwaas_v2: ('firewall_group_list_for_tenant', | |
115 | 115 | 'policy_list_for_tenant', |
116 | 116 | 'rule_list_for_tenant',)}) |
117 | 117 | def test_index_rules(self): |
128 | 128 | len(self.fw_rules_v2.list())) |
129 | 129 | self.check_mocks() |
130 | 130 | |
131 | @helpers.create_mocks({api_fwaas_v2: ('firewall_list_for_tenant', | |
131 | @helpers.create_mocks({api_fwaas_v2: ('firewall_group_list_for_tenant', | |
132 | 132 | 'policy_list_for_tenant', |
133 | 133 | 'rule_list_for_tenant')}) |
134 | 134 | def test_index_exception_firewallgroups(self): |
144 | 144 | |
145 | 145 | self.check_mocks_with_exception() |
146 | 146 | |
147 | @helpers.create_mocks({api_fwaas_v2: ('firewall_list_for_tenant', | |
147 | @helpers.create_mocks({api_fwaas_v2: ('firewall_group_list_for_tenant', | |
148 | 148 | 'policy_list_for_tenant', |
149 | 149 | 'rule_list_for_tenant')}) |
150 | 150 | def test_index_exception_policies(self): |
162 | 162 | |
163 | 163 | self.check_mocks_with_exception() |
164 | 164 | |
165 | @helpers.create_mocks({api_fwaas_v2: ('firewall_list_for_tenant', | |
165 | @helpers.create_mocks({api_fwaas_v2: ('firewall_group_list_for_tenant', | |
166 | 166 | 'policy_list_for_tenant', |
167 | 167 | 'rule_list_for_tenant')}) |
168 | 168 | def test_index_exception_rules(self): |
587 | 587 | self.mock_policy_update.assert_called_once_with( |
588 | 588 | helpers.IsHttpRequest(), policy.id, **expected_put_data) |
589 | 589 | |
590 | @helpers.create_mocks({api_fwaas_v2: ('firewall_get', | |
590 | @helpers.create_mocks({api_fwaas_v2: ('firewall_group_get', | |
591 | 591 | 'policy_list_for_tenant')}) |
592 | 592 | def test_update_firewall_group_get(self): |
593 | 593 | firewall_group = self.firewall_groups_v2.first() |
595 | 595 | tenant_id = self.tenant.id |
596 | 596 | |
597 | 597 | self.mock_policy_list_for_tenant.return_value = policies |
598 | self.mock_firewall_get.return_value = firewall_group | |
598 | self.mock_firewall_group_get.return_value = firewall_group | |
599 | 599 | |
600 | 600 | res = self.client.get( |
601 | 601 | reverse(self.UPDATEFIREWALLGROUP_PATH, args=(firewall_group.id,))) |
605 | 605 | |
606 | 606 | self.mock_policy_list_for_tenant.assert_called_once_with( |
607 | 607 | helpers.IsHttpRequest(), tenant_id) |
608 | self.mock_firewall_get.assert_called_once_with( | |
608 | self.mock_firewall_group_get.assert_called_once_with( | |
609 | 609 | helpers.IsHttpRequest(), firewall_group.id) |
610 | 610 | |
611 | @helpers.create_mocks({api_fwaas_v2: ('firewall_get', | |
612 | 'policy_list_for_tenant', | |
613 | 'firewall_update')}) | |
611 | @helpers.create_mocks({api_fwaas_v2: ('firewall_group_get', | |
612 | 'policy_list_for_tenant', | |
613 | 'firewall_group_update')}) | |
614 | 614 | def test_update_firewall_post(self): |
615 | 615 | fwg = self.firewall_groups_v2.first() |
616 | 616 | tenant_id = self.tenant.id |
632 | 632 | 'admin_state_up': False, |
633 | 633 | } |
634 | 634 | |
635 | self.mock_firewall_get.return_value = fwg | |
635 | self.mock_firewall_group_get.return_value = fwg | |
636 | 636 | self.mock_policy_list_for_tenant.return_value = policies |
637 | self.mock_firewall_update.return_value = fwg | |
637 | self.mock_firewall_group_update.return_value = fwg | |
638 | 638 | |
639 | 639 | res = self.client.post( |
640 | 640 | reverse( |
647 | 647 | self.assertNoFormErrors(res) |
648 | 648 | self.assertRedirectsNoFollow(res, str(self.INDEX_URL)) |
649 | 649 | |
650 | self.mock_firewall_get.assert_called_once_with( | |
650 | self.mock_firewall_group_get.assert_called_once_with( | |
651 | 651 | helpers.IsHttpRequest(), fwg.id) |
652 | 652 | self.mock_policy_list_for_tenant.assert_called_once_with( |
653 | 653 | helpers.IsHttpRequest(), tenant_id) |
654 | self.mock_firewall_update.assert_called_once_with( | |
654 | self.mock_firewall_group_update.assert_called_once_with( | |
655 | 655 | helpers.IsHttpRequest(), fwg.id, **expected_put_data) |
656 | 656 | |
657 | 657 | @helpers.create_mocks({api_fwaas_v2: ('policy_get', 'policy_insert_rule', |
770 | 770 | self.mock_policy_delete.assert_called_once_with( |
771 | 771 | helpers.IsHttpRequest(), policy.id) |
772 | 772 | |
773 | @helpers.create_mocks({api_fwaas_v2: ('firewall_list_for_tenant', | |
774 | 'policy_list_for_tenant', | |
775 | 'firewall_delete',)}) | |
773 | @helpers.create_mocks({api_fwaas_v2: ('firewall_group_list_for_tenant', | |
774 | 'policy_list_for_tenant', | |
775 | 'firewall_group_delete',)}) | |
776 | 776 | def test_delete_firewall_group(self): |
777 | 777 | fwl = self.firewall_groups_v2.first() |
778 | 778 | |
779 | self.mock_firewall_list_for_tenant.return_value = [fwl] | |
779 | self.mock_firewall_group_list_for_tenant.return_value = [fwl] | |
780 | 780 | self.mock_policy_list_for_tenant.return_value = \ |
781 | 781 | self.fw_policies_v2.list() |
782 | self.mock_firewall_delete.return_value = None | |
782 | self.mock_firewall_group_delete.return_value = None | |
783 | 783 | |
784 | 784 | form_data = { |
785 | 785 | "action": "FirewallGroupsTable__deletefirewallgroup__%s" % |
788 | 788 | |
789 | 789 | self.assertNoFormErrors(res) |
790 | 790 | |
791 | self.mock_firewall_list_for_tenant.assert_called_once_with( | |
791 | self.mock_firewall_group_list_for_tenant.assert_called_once_with( | |
792 | 792 | helpers.IsHttpRequest(), self.tenant.id) |
793 | 793 | self.mock_policy_list_for_tenant.assert_called_once_with( |
794 | 794 | helpers.IsHttpRequest(), self.tenant.id) |
795 | self.mock_firewall_delete.assert_called_once_with( | |
795 | self.mock_firewall_group_delete.assert_called_once_with( | |
796 | 796 | helpers.IsHttpRequest(), fwl.id) |
161 | 161 | def get_data(self): |
162 | 162 | try: |
163 | 163 | firewallgroup_id = self.kwargs['firewallgroup_id'] |
164 | firewall_group = api_fwaas_v2.firewall_get(self.request, | |
165 | firewallgroup_id) | |
164 | firewall_group = api_fwaas_v2.firewall_group_get(self.request, | |
165 | firewallgroup_id) | |
166 | 166 | except Exception: |
167 | 167 | exceptions.handle(self.request, |
168 | _('Unable to retrieve firewall details.'), | |
168 | _('Unable to retrieve firewall group details.'), | |
169 | 169 | redirect=self.failure_url) |
170 | 170 | return firewall_group |
171 | 171 | |
274 | 274 | |
275 | 275 | @memoized.memoized_method |
276 | 276 | def _get_object(self, *args, **kwargs): |
277 | firewall_id = self.kwargs['firewall_id'] | |
278 | try: | |
279 | firewall = api_fwaas_v2.firewall_get(self.request, | |
280 | firewall_id) | |
281 | return firewall | |
282 | except Exception: | |
283 | redirect = self.success_url | |
284 | msg = _('Unable to retrieve firewall details.') | |
285 | exceptions.handle(self.request, msg, redirect=redirect) | |
286 | ||
287 | def get_initial(self): | |
288 | firewall = self._get_object() | |
289 | initial = firewall.to_dict() | |
277 | fwg_id = self.kwargs['firewall_id'] | |
278 | try: | |
279 | fwg = api_fwaas_v2.firewall_group_get(self.request, fwg_id) | |
280 | return fwg | |
281 | except Exception: | |
282 | redirect = self.success_url | |
283 | msg = _('Unable to retrieve firewall group details.') | |
284 | exceptions.handle(self.request, msg, redirect=redirect) | |
285 | ||
286 | def get_initial(self): | |
287 | fwg = self._get_object() | |
288 | initial = fwg.to_dict() | |
290 | 289 | return initial |
291 | 290 | |
292 | 291 | |
298 | 297 | submit_label = _("Save Changes") |
299 | 298 | submit_url = "horizon:project:firewalls_v2:addport" |
300 | 299 | success_url = reverse_lazy("horizon:project:firewalls_v2:index") |
301 | page_title = _("Add port to FirewallGroup {{ name }}") | |
300 | page_title = _("Add port to Firewall Group {{ name }}") | |
302 | 301 | |
303 | 302 | def get_context_data(self, **kwargs): |
304 | 303 | context = super(AddPortView, self).get_context_data(**kwargs) |
314 | 313 | def _get_object(self, *args, **kwargs): |
315 | 314 | firewallgroup_id = self.kwargs['firewallgroup_id'] |
316 | 315 | try: |
317 | firewallgroup = api_fwaas_v2.firewall_get(self.request, | |
318 | firewallgroup_id) | |
316 | firewallgroup = api_fwaas_v2.firewall_group_get(self.request, | |
317 | firewallgroup_id) | |
319 | 318 | return firewallgroup |
320 | 319 | except Exception: |
321 | 320 | redirect = self.success_url |
352 | 351 | def _get_object(self, *args, **kwargs): |
353 | 352 | firewallgroup_id = self.kwargs['firewallgroup_id'] |
354 | 353 | try: |
355 | firewallgroup = api_fwaas_v2.firewall_get(self.request, | |
356 | firewallgroup_id) | |
354 | firewallgroup = api_fwaas_v2.firewall_group_get(self.request, | |
355 | firewallgroup_id) | |
357 | 356 | return firewallgroup |
358 | 357 | except Exception: |
359 | 358 | redirect = self.success_url |
360 | msg = _('Unable to retrieve firewallgroup details.') | |
359 | msg = _('Unable to retrieve firewall group details.') | |
361 | 360 | exceptions.handle(self.request, msg, redirect=redirect) |
362 | 361 | |
363 | 362 | def get_initial(self): |
347 | 347 | name = _("FirewallGroup") |
348 | 348 | permissions = ('openstack.services.network',) |
349 | 349 | help_text = _("Create a firewall group based on a policy.\n\n" |
350 | "A firewall represents a logical firewall resource that " | |
351 | "a tenant can instantiate and manage. A firewall must " | |
352 | "be associated with one policy, all other fields are " | |
353 | "optional.") | |
350 | "A firewall group represents a logical firewall " | |
351 | "resource that a tenant can instantiate and manage. " | |
352 | "A firewall group must be associated with one policy, " | |
353 | "all other fields are optional.") | |
354 | 354 | |
355 | 355 | |
356 | 356 | class AddFirewallGroupStep(workflows.Step): |
381 | 381 | |
382 | 382 | @helpers.create_mocks({neutronclient: ('list_fwaas_firewall_groups', |
383 | 383 | 'list_fwaas_firewall_policies')}) |
384 | def test_firewall_list(self): | |
384 | def test_firewall_group_list(self): | |
385 | 385 | exp_firewalls = self.firewall_groups_v2.list() |
386 | 386 | firewalls_dict = { |
387 | 387 | 'firewall_groups': self.api_firewall_groups_v2.list()} |
388 | 388 | |
389 | 389 | self.mock_list_fwaas_firewall_groups.return_value = firewalls_dict |
390 | 390 | |
391 | ret_val = api_fwaas_v2.firewall_list(self.request) | |
391 | ret_val = api_fwaas_v2.firewall_group_list(self.request) | |
392 | 392 | for (v, d) in zip(ret_val, exp_firewalls): |
393 | 393 | self._assert_firewall_return_value(v, d, expand_policy=False) |
394 | 394 | self.mock_list_fwaas_firewall_groups.assert_called_once_with() |
395 | 395 | |
396 | 396 | @helpers.create_mocks({neutronclient: ('list_fwaas_firewall_groups', |
397 | 397 | 'list_fwaas_firewall_policies')}) |
398 | def test_firewall_list_for_tenant(self): | |
398 | def test_firewall_group_list_for_tenant(self): | |
399 | 399 | tenant_id = self.request.user.project_id |
400 | 400 | exp_firewalls = self.firewall_groups_v2.list() |
401 | 401 | firewalls_dict = { |
406 | 406 | firewalls_dict, |
407 | 407 | ] |
408 | 408 | |
409 | ret_val = api_fwaas_v2.firewall_list_for_tenant( | |
409 | ret_val = api_fwaas_v2.firewall_group_list_for_tenant( | |
410 | 410 | self.request, tenant_id) |
411 | 411 | for (v, d) in zip(ret_val, exp_firewalls): |
412 | 412 | self._assert_firewall_return_value(v, d, expand_policy=False) |
547 | 547 | |
548 | 548 | @helpers.create_mocks({neutronclient: ('show_fwaas_firewall_group', |
549 | 549 | 'show_fwaas_firewall_policy')}) |
550 | def test_firewall_get(self): | |
550 | def test_firewall_group_get(self): | |
551 | 551 | exp_firewall = self.firewall_groups_v2.first() |
552 | 552 | ret_dict = {'firewall_group': self.api_firewall_groups_v2.first()} |
553 | 553 | |
565 | 565 | {'firewall_policy': egress_policy} |
566 | 566 | ] |
567 | 567 | |
568 | ret_val = api_fwaas_v2.firewall_get(self.request, exp_firewall.id) | |
568 | ret_val = api_fwaas_v2.firewall_group_get(self.request, | |
569 | exp_firewall.id) | |
569 | 570 | self._assert_firewall_return_value(ret_val, exp_firewall) |
570 | 571 | |
571 | 572 | self.mock_show_fwaas_firewall_group.assert_called_once_with( |
577 | 578 | ]) |
578 | 579 | |
579 | 580 | @helpers.create_mocks({neutronclient: ('update_fwaas_firewall_group',)}) |
580 | def test_firewall_update(self): | |
581 | def test_firewall_group_update(self): | |
581 | 582 | firewall = self.firewall_groups_v2.first() |
582 | 583 | firewall_dict = self.api_firewall_groups_v2.first() |
583 | 584 | |
599 | 600 | |
600 | 601 | self.mock_update_fwaas_firewall_group.return_value = ret_dict |
601 | 602 | |
602 | ret_val = api_fwaas_v2.firewall_update(self.request, | |
603 | firewall.id, **form_data) | |
603 | ret_val = api_fwaas_v2.firewall_group_update(self.request, | |
604 | firewall.id, **form_data) | |
604 | 605 | self.assertIsInstance(ret_val, api_fwaas_v2.FirewallGroup) |
605 | 606 | self.assertEqual(firewall.name, ret_val.name) |
606 | 607 | self.assertTrue(ret_val.id) |