Move create_keypair to api.base module and add creation params.

For coherence with other resources move create_keypair to base class
an add more creation parameters.

This also fix deletion of keypairs when are created with other
clients than default one.

Change-Id: Iff0b7ffdb17235a75c37a3890db1445b95547554
This commit is contained in:
Federico Ressi 2018-06-19 09:52:10 +02:00
parent 41c4392471
commit ab286e418f
2 changed files with 21 additions and 25 deletions

View File

@ -124,6 +124,7 @@ class BaseNetworkTest(test.BaseTestCase):
cls.projects = []
cls.log_objects = []
cls.reserved_subnet_cidrs = set()
cls.keypairs = []
@classmethod
def resource_cleanup(cls):
@ -221,6 +222,9 @@ class BaseNetworkTest(test.BaseTestCase):
cls._try_delete_resource(cls.admin_client.delete_log,
log_object['id'])
for keypair in cls.keypairs:
cls._try_delete_resource(cls.delete_keypair, keypair)
super(BaseNetworkTest, cls).resource_cleanup()
@classmethod
@ -593,6 +597,23 @@ class BaseNetworkTest(test.BaseTestCase):
cls.security_groups.append(body['security_group'])
return body['security_group']
@classmethod
def create_keypair(cls, client=None, name=None, **kwargs):
client = client or cls.os_primary.keypairs_client
name = name or data_utils.rand_name('keypair-test')
keypair = client.create_keypair(name=name, **kwargs)['keypair']
# save client for later cleanup
keypair['client'] = client
cls.keypairs.append(keypair)
return keypair
@classmethod
def delete_keypair(cls, keypair, client=None):
client = (client or keypair.get('client') or
cls.os_primary.keypairs_client)
client.delete_keypair(keypair_name=keypair['name'])
class BaseAdminNetworkTest(BaseNetworkTest):

View File

@ -33,20 +33,6 @@ LOG = log.getLogger(__name__)
class BaseTempestTestCase(base_api.BaseNetworkTest):
@classmethod
def resource_setup(cls):
super(BaseTempestTestCase, cls).resource_setup()
cls.keypairs = []
@classmethod
def resource_cleanup(cls):
for keypair in cls.keypairs:
client = keypair['client']
client.delete_keypair(
keypair_name=keypair['keypair']['name'])
super(BaseTempestTestCase, cls).resource_cleanup()
def create_server(self, flavor_ref, image_ref, key_name, networks,
**kwargs):
@ -104,17 +90,6 @@ class BaseTempestTestCase(base_api.BaseNetworkTest):
server['server']['id'])
return server
@classmethod
def create_keypair(cls, client=None):
client = client or cls.os_primary.keypairs_client
name = data_utils.rand_name('keypair-test')
body = client.create_keypair(name=name)
body.update(client=client)
if client is cls.os_primary.keypairs_client:
cls.keypairs.append(body)
return body['keypair']
@classmethod
def create_secgroup_rules(cls, rule_list, secgroup_id=None,
client=None):