Remove _create_router in scenario.manager

_create_router is used only once in scenario.manager, so this is to:
1. remove _create_router
2. move the logic of creating router to _get_router
3. pass external_gateway_info argument to client.create_router
   instead of using client.update_router
4. use self.__class__.__name__ as prefix of random router name
5. remove self.assertEqual(router['name'], name), and add this
   check in api test test_create_show_list_update_delete_router.

Change-Id: I5aa5a42aaa1ebd654b7e979e3807d3edbf2efa9e
This commit is contained in:
zhufl
2017-10-10 16:18:29 +08:00
parent f801213ff1
commit 3484f9901c
2 changed files with 10 additions and 20 deletions

View File

@@ -65,9 +65,12 @@ class RoutersTest(base.BaseNetworkTest):
'The public_network_id option must be specified.')
def test_create_show_list_update_delete_router(self):
# Create a router
name = data_utils.rand_name(self.__class__.__name__ + '-router')
router = self._create_router(
name=name,
admin_state_up=False,
external_network_id=CONF.network.public_network_id)
self.assertEqual(router['name'], name)
self.assertEqual(router['admin_state_up'], False)
self.assertEqual(
router['external_gateway_info']['network_id'],

View File

@@ -1124,31 +1124,18 @@ class NetworkScenarioTest(ScenarioTest):
body = client.show_router(router_id)
return body['router']
elif network_id:
router = self._create_router(client, tenant_id)
kwargs = {'external_gateway_info': dict(network_id=network_id)}
router = client.update_router(router['id'], **kwargs)['router']
router = client.create_router(
name=data_utils.rand_name(self.__class__.__name__ + '-router'),
admin_state_up=True,
tenant_id=tenant_id,
external_gateway_info=dict(network_id=network_id))['router']
self.addCleanup(test_utils.call_and_ignore_notfound_exc,
client.delete_router, router['id'])
return router
else:
raise Exception("Neither of 'public_router_id' or "
"'public_network_id' has been defined.")
def _create_router(self, client=None, tenant_id=None,
namestart='router-smoke'):
if not client:
client = self.routers_client
if not tenant_id:
tenant_id = client.tenant_id
name = data_utils.rand_name(namestart)
result = client.create_router(name=name,
admin_state_up=True,
tenant_id=tenant_id)
router = result['router']
self.assertEqual(router['name'], name)
self.addCleanup(test_utils.call_and_ignore_notfound_exc,
client.delete_router,
router['id'])
return router
def create_networks(self, networks_client=None,
routers_client=None, subnets_client=None,
tenant_id=None, dns_nameservers=None,