blob: c8d378352e6ef630408ced35e2a846767e4a8528 [file] [log] [blame]
Daniel Mellado3c0aeab2016-01-29 11:30:25 +00001# Copyright 2013 OpenStack Foundation
2# All Rights Reserved.
3#
4# Licensed under the Apache License, Version 2.0 (the "License"); you may
5# not use this file except in compliance with the License. You may obtain
6# a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13# License for the specific language governing permissions and limitations
14# under the License.
15
Chandan Kumar667d3d32017-09-22 12:24:06 +053016from neutron_tempest_plugin.api import base
Daniel Mellado3c0aeab2016-01-29 11:30:25 +000017
18
19class BaseRouterTest(base.BaseAdminNetworkTest):
20 # NOTE(salv-orlando): This class inherits from BaseAdminNetworkTest
21 # as some router operations, such as enabling or disabling SNAT
22 # require admin credentials by default
23
24 def _cleanup_router(self, router):
25 self.delete_router(router)
26 self.routers.remove(router)
27
28 def _create_router(self, name, admin_state_up=False,
29 external_network_id=None, enable_snat=None):
30 # associate a cleanup with created routers to avoid quota limits
31 router = self.create_router(name, admin_state_up,
32 external_network_id, enable_snat)
33 self.addCleanup(self._cleanup_router, router)
34 return router
35
36 def _delete_router(self, router_id, network_client=None):
37 client = network_client or self.client
38 client.delete_router(router_id)
39 # Asserting that the router is not found in the list
40 # after deletion
41 list_body = self.client.list_routers()
42 routers_list = list()
43 for router in list_body['routers']:
44 routers_list.append(router['id'])
45 self.assertNotIn(router_id, routers_list)