From 26eda82c3b2f08225c399c288e2c62c30d8efe0a Mon Sep 17 00:00:00 2001 From: Meg Heisler Date: Mon, 12 Nov 2018 12:06:54 -0600 Subject: [PATCH] Refactor cleanups for test_trusts While executing test_trusts, tests that throw exceptions before the cleanup call but after resource creation can cause resource leaks. This change aims to address this by changing the cleanup call to be closer to the original resource creation. Change-Id: Ifd1f987ad8f5cf712aa42d4b8927b4a157be6787 --- tempest/api/identity/admin/v3/test_trusts.py | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/tempest/api/identity/admin/v3/test_trusts.py b/tempest/api/identity/admin/v3/test_trusts.py index 2530072216..83b3c30b2f 100644 --- a/tempest/api/identity/admin/v3/test_trusts.py +++ b/tempest/api/identity/admin/v3/test_trusts.py @@ -39,7 +39,6 @@ class TrustsV3TestJSON(base.BaseIdentityV3AdminTest): # Use alt_username as the trustee self.trust_id = None self.create_trustor_and_roles() - self.addCleanup(self.cleanup_user_and_roles) def tearDown(self): if self.trust_id: @@ -55,6 +54,7 @@ class TrustsV3TestJSON(base.BaseIdentityV3AdminTest): trustor_project_name, domain_id=CONF.identity.default_domain_id)['project'] self.trustor_project_id = project['id'] + self.addCleanup(self.projects_client.delete_project, project['id']) self.assertIsNotNone(self.trustor_project_id) # Create a trustor User @@ -69,6 +69,7 @@ class TrustsV3TestJSON(base.BaseIdentityV3AdminTest): email=u_email, project_id=self.trustor_project_id, domain_id=CONF.identity.default_domain_id)['user'] + self.addCleanup(self.users_client.delete_user, user['id']) self.trustor_user_id = user['id'] # And two roles, one we'll delegate and one we won't @@ -76,10 +77,12 @@ class TrustsV3TestJSON(base.BaseIdentityV3AdminTest): self.not_delegated_role = data_utils.rand_name('NotDelegatedRole') role = self.roles_client.create_role(name=self.delegated_role)['role'] + self.addCleanup(self.roles_client.delete_role, role['id']) self.delegated_role_id = role['id'] role = self.roles_client.create_role( name=self.not_delegated_role)['role'] + self.addCleanup(self.roles_client.delete_role, role['id']) self.not_delegated_role_id = role['id'] # Assign roles to trustor @@ -109,16 +112,6 @@ class TrustsV3TestJSON(base.BaseIdentityV3AdminTest): os = clients.Manager(credentials=creds) self.trustor_client = os.trusts_client - def cleanup_user_and_roles(self): - if self.trustor_user_id: - self.users_client.delete_user(self.trustor_user_id) - if self.trustor_project_id: - self.projects_client.delete_project(self.trustor_project_id) - if self.delegated_role_id: - self.roles_client.delete_role(self.delegated_role_id) - if self.not_delegated_role_id: - self.roles_client.delete_role(self.not_delegated_role_id) - def create_trust(self, impersonate=True, expires=None): trust_create = self.trustor_client.create_trust(