diff options
author | Andrea Frittoli <andrea.frittoli@gmail.com> | 2017-09-09 16:31:34 +0200 |
---|---|---|
committer | zhufl <zhu.fanglei@zte.com.cn> | 2017-11-28 16:12:22 +0800 |
commit | 7f60fa695ea6e3e353dfa887e20a1e54a55def27 (patch) | |
tree | 42616f3d949dc742663b54f2637b2de55833a897 | |
parent | 87adf8d84f6b97df50e793a5566b2e1a2477dad8 (diff) | |
download | tempest-7f60fa695ea6e3e353dfa887e20a1e54a55def27.tar.gz |
Stop using resource_cleanup in identity_v3 tests
Replace resource_cleanup with addClassResourceCleanup in identity
v3 tests.
Besides, in test_update_endpoint, service2 should be created before
endpoint_for_update is created, because Service2 must be deleted after
endpoint_for_update is deleted, otherwise we will get a 404 error
when deleting endpoint_for_update if endpoint's service is deleted.
And in test_domain_configuration, group created in resource_setup
is not used anywhere, so to remove it.
Change-Id: I00f5308f953bac191697fb7312b5f56093e80039
4 files changed, 43 insertions, 56 deletions
diff --git a/tempest/api/identity/admin/v3/test_credentials.py b/tempest/api/identity/admin/v3/test_credentials.py index 15b20081e..ba19ff7b5 100644 --- a/tempest/api/identity/admin/v3/test_credentials.py +++ b/tempest/api/identity/admin/v3/test_credentials.py @@ -32,21 +32,18 @@ class CredentialsTestJSON(base.BaseIdentityV3AdminTest): u_email = '%s@testmail.tm' % u_name u_password = data_utils.rand_password() for _ in range(2): - cls.project = cls.projects_client.create_project( + project = cls.projects_client.create_project( data_utils.rand_name('project'), description=data_utils.rand_name('project-desc'))['project'] - cls.projects.append(cls.project['id']) + cls.addClassResourceCleanup( + cls.projects_client.delete_project, project['id']) + cls.projects.append(project['id']) cls.user_body = cls.users_client.create_user( name=u_name, description=u_desc, password=u_password, email=u_email, project_id=cls.projects[0])['user'] - - @classmethod - def resource_cleanup(cls): - cls.users_client.delete_user(cls.user_body['id']) - for p in cls.projects: - cls.projects_client.delete_project(p) - super(CredentialsTestJSON, cls).resource_cleanup() + cls.addClassResourceCleanup( + cls.users_client.delete_user, cls.user_body['id']) def _delete_credential(self, cred_id): self.creds_client.delete_credential(cred_id) diff --git a/tempest/api/identity/admin/v3/test_domain_configuration.py b/tempest/api/identity/admin/v3/test_domain_configuration.py index f7316970b..c4e062259 100644 --- a/tempest/api/identity/admin/v3/test_domain_configuration.py +++ b/tempest/api/identity/admin/v3/test_domain_configuration.py @@ -37,18 +37,6 @@ class DomainConfigurationTestJSON(base.BaseIdentityV3AdminTest): super(DomainConfigurationTestJSON, cls).setup_clients() cls.client = cls.domain_config_client - @classmethod - def resource_setup(cls): - super(DomainConfigurationTestJSON, cls).resource_setup() - cls.group = cls.groups_client.create_group( - name=data_utils.rand_name('group'), - description=data_utils.rand_name('group-desc'))['group'] - - @classmethod - def resource_cleanup(cls): - cls.groups_client.delete_group(cls.group['id']) - super(DomainConfigurationTestJSON, cls).resource_cleanup() - def _create_domain_and_config(self, config): domain = self.setup_test_domain() config = self.client.create_domain_config(domain['id'], **config)[ diff --git a/tempest/api/identity/admin/v3/test_endpoint_groups.py b/tempest/api/identity/admin/v3/test_endpoint_groups.py index 49dbba198..eef93c258 100644 --- a/tempest/api/identity/admin/v3/test_endpoint_groups.py +++ b/tempest/api/identity/admin/v3/test_endpoint_groups.py @@ -15,6 +15,7 @@ from tempest.api.identity import base from tempest.lib.common.utils import data_utils +from tempest.lib.common.utils import test_utils from tempest.lib import decorators @@ -28,11 +29,12 @@ class EndPointGroupsTest(base.BaseIdentityV3AdminTest): @classmethod def resource_setup(cls): super(EndPointGroupsTest, cls).resource_setup() - cls.service_ids = list() cls.endpoint_groups = list() # Create endpoint group so as to use it for LIST test service_id = cls._create_service() + cls.addClassResourceCleanup( + cls.services_client.delete_service, service_id) name = data_utils.rand_name('service_group') description = data_utils.rand_name('description') @@ -42,18 +44,12 @@ class EndPointGroupsTest(base.BaseIdentityV3AdminTest): name=name, description=description, filters=filters)['endpoint_group'] + cls.addClassResourceCleanup( + cls.client.delete_endpoint_group, endpoint_group['id']) cls.endpoint_groups.append(endpoint_group) @classmethod - def resource_cleanup(cls): - for e in cls.endpoint_groups: - cls.client.delete_endpoint_group(e['id']) - for s in cls.service_ids: - cls.services_client.delete_service(s) - super(EndPointGroupsTest, cls).resource_cleanup() - - @classmethod def _create_service(cls): s_name = data_utils.rand_name('service') s_type = data_utils.rand_name('type') @@ -64,7 +60,6 @@ class EndPointGroupsTest(base.BaseIdentityV3AdminTest): description=s_description)) service_id = service_data['service']['id'] - cls.service_ids.append(service_id) return service_id @decorators.idempotent_id('7c69e7a1-f865-402d-a2ea-44493017315a') @@ -78,6 +73,9 @@ class EndPointGroupsTest(base.BaseIdentityV3AdminTest): name=name, description=description, filters=filters)['endpoint_group'] + self.addCleanup( + test_utils.call_and_ignore_notfound_exc, + self.client.delete_endpoint_group, endpoint_group['id']) self.endpoint_groups.append(endpoint_group) @@ -115,7 +113,6 @@ class EndPointGroupsTest(base.BaseIdentityV3AdminTest): # Deleting the endpoint group created in this method self.client.delete_endpoint_group(endpoint_group['id']) - self.endpoint_groups.remove(endpoint_group) # Checking whether endpoint group is deleted successfully fetched_endpoints = \ @@ -136,10 +133,12 @@ class EndPointGroupsTest(base.BaseIdentityV3AdminTest): name=name, description=description, filters=filters)['endpoint_group'] - self.endpoint_groups.append(endpoint_group) + self.addCleanup(self.client.delete_endpoint_group, + endpoint_group['id']) # Creating new attr values to update endpoint group service2_id = self._create_service() + self.addCleanup(self.services_client.delete_service, service2_id) name2 = data_utils.rand_name('service_group2') description2 = data_utils.rand_name('description2') filters = {'service_id': service2_id} diff --git a/tempest/api/identity/admin/v3/test_endpoints.py b/tempest/api/identity/admin/v3/test_endpoints.py index 5d48f683a..874aaa470 100644 --- a/tempest/api/identity/admin/v3/test_endpoints.py +++ b/tempest/api/identity/admin/v3/test_endpoints.py @@ -15,6 +15,7 @@ from tempest.api.identity import base from tempest.lib.common.utils import data_utils +from tempest.lib.common.utils import test_utils from tempest.lib import decorators @@ -34,12 +35,18 @@ class EndPointsTestJSON(base.BaseIdentityV3AdminTest): interfaces = ['public', 'internal'] cls.setup_endpoint_ids = list() for i in range(2): - cls._create_service() + service = cls._create_service() + cls.service_ids.append(service['id']) + cls.addClassResourceCleanup( + cls.services_client.delete_service, service['id']) + region = data_utils.rand_name('region') url = data_utils.rand_url() endpoint = cls.client.create_endpoint( service_id=cls.service_ids[i], interface=interfaces[i], url=url, region=region, enabled=True)['endpoint'] + cls.addClassResourceCleanup( + cls.client.delete_endpoint, endpoint['id']) cls.setup_endpoint_ids.append(endpoint['id']) @classmethod @@ -53,17 +60,7 @@ class EndPointsTestJSON(base.BaseIdentityV3AdminTest): service_data = ( cls.services_client.create_service(name=s_name, type=s_type, description=s_description)) - service = service_data['service'] - cls.service_ids.append(service['id']) - return service - - @classmethod - def resource_cleanup(cls): - for e in cls.setup_endpoint_ids: - cls.client.delete_endpoint(e) - for s in cls.service_ids: - cls.services_client.delete_service(s) - super(EndPointsTestJSON, cls).resource_cleanup() + return service_data['service'] @decorators.idempotent_id('c19ecf90-240e-4e23-9966-21cee3f6a618') def test_list_endpoints(self): @@ -114,8 +111,8 @@ class EndPointsTestJSON(base.BaseIdentityV3AdminTest): interface=interface, url=url, region=region, enabled=True)['endpoint'] - - self.setup_endpoint_ids.append(endpoint['id']) + self.addCleanup(test_utils.call_and_ignore_notfound_exc, + self.client.delete_endpoint, endpoint['id']) # Asserting Create Endpoint response body self.assertEqual(region, endpoint['region']) self.assertEqual(url, endpoint['url']) @@ -137,7 +134,6 @@ class EndPointsTestJSON(base.BaseIdentityV3AdminTest): # Deleting the endpoint created in this method self.client.delete_endpoint(endpoint['id']) - self.setup_endpoint_ids.remove(endpoint['id']) # Checking whether endpoint is deleted successfully fetched_endpoints = self.client.list_endpoints()['endpoints'] @@ -147,8 +143,20 @@ class EndPointsTestJSON(base.BaseIdentityV3AdminTest): @decorators.attr(type='smoke') @decorators.idempotent_id('37e8f15e-ee7c-4657-a1e7-f6b61e375eff') def test_update_endpoint(self): - # Creating an endpoint so as to check update endpoint - # with new values + # NOTE(zhufl) Service2 should be created before endpoint_for_update + # is created, because Service2 must be deleted after + # endpoint_for_update is deleted, otherwise we will get a 404 error + # when deleting endpoint_for_update if endpoint's service is deleted. + + # Creating service for updating endpoint with new service ID + s_name = data_utils.rand_name('service') + s_type = data_utils.rand_name('type') + s_description = data_utils.rand_name('description') + service2 = self._create_service(s_name=s_name, s_type=s_type, + s_description=s_description) + self.addCleanup(self.services_client.delete_service, service2['id']) + + # Creating an endpoint so as to check update endpoint with new values region1 = data_utils.rand_name('region') url1 = data_utils.rand_url() interface1 = 'public' @@ -158,12 +166,7 @@ class EndPointsTestJSON(base.BaseIdentityV3AdminTest): url=url1, region=region1, enabled=True)['endpoint']) self.addCleanup(self.client.delete_endpoint, endpoint_for_update['id']) - # Creating service so as update endpoint with new service ID - s_name = data_utils.rand_name('service') - s_type = data_utils.rand_name('type') - s_description = data_utils.rand_name('description') - service2 = self._create_service(s_name=s_name, s_type=s_type, - s_description=s_description) + # Updating endpoint with new values region2 = data_utils.rand_name('region') url2 = data_utils.rand_url() |