Merge "Optimize and enhance the code of "test_routers.py""
diff --git a/tempest/api/network/test_routers.py b/tempest/api/network/test_routers.py
index 8b03631..be3cf65 100644
--- a/tempest/api/network/test_routers.py
+++ b/tempest/api/network/test_routers.py
@@ -27,22 +27,6 @@
 
 class RoutersTest(base.BaseNetworkTest):
 
-    def _cleanup_router(self, router):
-        self.delete_router(router)
-
-    def _create_router(self, name=None, admin_state_up=False,
-                       external_network_id=None, enable_snat=None):
-        # associate a cleanup with created routers to avoid quota limits
-        router = self.create_router(name, admin_state_up,
-                                    external_network_id, enable_snat)
-        self.addCleanup(self._cleanup_router, router)
-        return router
-
-    def _create_subnet(self, network, gateway='', cidr=None):
-        subnet = self.create_subnet(network, gateway, cidr)
-        self.addCleanup(self.subnets_client.delete_subnet, subnet['id'])
-        return subnet
-
     def _add_router_interface_with_subnet_id(self, router_id, subnet_id):
         interface = self.routers_client.add_router_interface(
             router_id, subnet_id=subnet_id)
@@ -70,10 +54,11 @@
     def test_create_show_list_update_delete_router(self):
         # Create a router
         router_name = data_utils.rand_name(self.__class__.__name__ + '-router')
-        router = self._create_router(
-            name=router_name,
+        router = self.create_router(
+            router_name,
             admin_state_up=False,
             external_network_id=CONF.network.public_network_id)
+        self.addCleanup(self.delete_router, router)
         self.assertEqual(router['name'], router_name)
         self.assertEqual(router['admin_state_up'], False)
         self.assertEqual(
@@ -106,8 +91,10 @@
             name=network_name)['network']
         self.addCleanup(self.networks_client.delete_network,
                         network['id'])
-        subnet = self._create_subnet(network)
-        router = self._create_router()
+        subnet = self.create_subnet(network)
+        self.addCleanup(self.subnets_client.delete_subnet, subnet['id'])
+        router = self.create_router()
+        self.addCleanup(self.delete_router, router)
         # Add router interface with subnet id
         interface = self.routers_client.add_router_interface(
             router['id'], subnet_id=subnet['id'])
@@ -129,8 +116,10 @@
             name=network_name)['network']
         self.addCleanup(self.networks_client.delete_network,
                         network['id'])
-        self._create_subnet(network)
-        router = self._create_router()
+        subnet = self.create_subnet(network)
+        self.addCleanup(self.subnets_client.delete_subnet, subnet['id'])
+        router = self.create_router()
+        self.addCleanup(self.delete_router, router)
         port_body = self.ports_client.create_port(
             network_id=network['id'])
         # add router interface to port created above
@@ -188,7 +177,8 @@
         test_routes = []
         routes_num = 4
         # Create a router
-        router = self._create_router(admin_state_up=True)
+        router = self.create_router(admin_state_up=True)
+        self.addCleanup(self.delete_router, router)
         self.addCleanup(
             self._delete_extra_routes,
             router['id'])
@@ -201,6 +191,7 @@
             self.addCleanup(self.networks_client.delete_network,
                             network['id'])
             subnet = self.create_subnet(network, cidr=next_cidr)
+            self.addCleanup(self.subnets_client.delete_subnet, subnet['id'])
             next_cidr = next_cidr.next()
 
             # Add router interface with subnet id
@@ -247,7 +238,8 @@
 
     @decorators.idempotent_id('a8902683-c788-4246-95c7-ad9c6d63a4d9')
     def test_update_router_admin_state(self):
-        router = self._create_router()
+        router = self.create_router()
+        self.addCleanup(self.delete_router, router)
         self.assertFalse(router['admin_state_up'])
         # Update router admin state
         update_body = self.routers_client.update_router(router['id'],
@@ -264,14 +256,18 @@
             name=network_name)['network']
         self.addCleanup(self.networks_client.delete_network,
                         network01['id'])
+        network_name = data_utils.rand_name(self.__class__.__name__)
         network02 = self.networks_client.create_network(
-            name=data_utils.rand_name(self.__class__.__name__))['network']
+            name=network_name)['network']
         self.addCleanup(self.networks_client.delete_network,
                         network02['id'])
-        subnet01 = self._create_subnet(network01)
+        subnet01 = self.create_subnet(network01)
+        self.addCleanup(self.subnets_client.delete_subnet, subnet01['id'])
         sub02_cidr = self.cidr.next()
-        subnet02 = self._create_subnet(network02, cidr=sub02_cidr)
-        router = self._create_router()
+        subnet02 = self.create_subnet(network02, cidr=sub02_cidr)
+        self.addCleanup(self.subnets_client.delete_subnet, subnet02['id'])
+        router = self.create_router()
+        self.addCleanup(self.delete_router, router)
         interface01 = self._add_router_interface_with_subnet_id(router['id'],
                                                                 subnet01['id'])
         self._verify_router_interface(router['id'], subnet01['id'],
@@ -288,8 +284,10 @@
             name=network_name)['network']
         self.addCleanup(self.networks_client.delete_network,
                         network['id'])
-        subnet = self._create_subnet(network)
-        router = self._create_router()
+        subnet = self.create_subnet(network)
+        self.addCleanup(self.subnets_client.delete_subnet, subnet['id'])
+        router = self.create_router()
+        self.addCleanup(self.delete_router, router)
         fixed_ip = [{'subnet_id': subnet['id']}]
         interface = self._add_router_interface_with_subnet_id(router['id'],
                                                               subnet['id'])