From 22b3002fbc25d48ba2db3242d0898dff6c1a533e Mon Sep 17 00:00:00 2001 From: Kaitlin Farr Date: Fri, 24 Feb 2017 16:58:58 -0500 Subject: [PATCH] Clean up all secrets in functional tests The deletion of the secrets wasn't happening correctly in the clean-up methods for the CLI functional tests because items were being deleted from the lists as the list was being iterated over. Includes general clean-up of the entities being created and deleted. Change-Id: I87d0ef93505ee46ab8314a2562b5d4ab59717649 --- functionaltests/cli/v1/behaviors/container_behaviors.py | 5 ++++- functionaltests/cli/v1/behaviors/secret_behaviors.py | 5 ++++- functionaltests/cli/v1/smoke/test_acl.py | 1 - functionaltests/cli/v1/smoke/test_container.py | 1 + 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/functionaltests/cli/v1/behaviors/container_behaviors.py b/functionaltests/cli/v1/behaviors/container_behaviors.py index 2368376f..8e99520f 100644 --- a/functionaltests/cli/v1/behaviors/container_behaviors.py +++ b/functionaltests/cli/v1/behaviors/container_behaviors.py @@ -90,5 +90,8 @@ class ContainerBehaviors(base_behaviors.BaseBehaviors): def delete_all_created_containers(self): """Delete all containers that we created""" - for href in self.container_hrefs_to_delete: + # Create a copy of the list -- otherwise delete_container will remove + # items from the list as we are iterating over it + containers_to_delete = list(self.container_hrefs_to_delete) + for href in containers_to_delete: self.delete_container(href) diff --git a/functionaltests/cli/v1/behaviors/secret_behaviors.py b/functionaltests/cli/v1/behaviors/secret_behaviors.py index 783db8bc..1e970f1c 100644 --- a/functionaltests/cli/v1/behaviors/secret_behaviors.py +++ b/functionaltests/cli/v1/behaviors/secret_behaviors.py @@ -141,5 +141,8 @@ class SecretBehaviors(base_behaviors.BaseBehaviors): def delete_all_created_secrets(self): """Delete all secrets that we created""" - for href in self.secret_hrefs_to_delete: + # Create a copy of the list -- otherwise delete_secret will remove + # items from the list as we are iterating over it + secrets_to_delete = list(self.secret_hrefs_to_delete) + for href in secrets_to_delete: self.delete_secret(href) diff --git a/functionaltests/cli/v1/smoke/test_acl.py b/functionaltests/cli/v1/smoke/test_acl.py index 0a194c55..a1ae6f87 100644 --- a/functionaltests/cli/v1/smoke/test_acl.py +++ b/functionaltests/cli/v1/smoke/test_acl.py @@ -136,7 +136,6 @@ class ACLTestCase(CmdLineTestCase): secret_ref = self.secret_behaviors.store_secret() container_ref = self.container_behaviors.create_container( secret_hrefs=[secret_ref]) - secret_ref = self.secret_behaviors.store_secret() data = self.acl_behaviors.acl_submit(entity_ref=container_ref, project_access=False, diff --git a/functionaltests/cli/v1/smoke/test_container.py b/functionaltests/cli/v1/smoke/test_container.py index 58395bff..f0244ee0 100644 --- a/functionaltests/cli/v1/smoke/test_container.py +++ b/functionaltests/cli/v1/smoke/test_container.py @@ -28,6 +28,7 @@ class ContainerTestCase(CmdLineTestCase): def tearDown(self): super(ContainerTestCase, self).tearDown() + self.secret_behaviors.delete_all_created_secrets() self.container_behaviors.delete_all_created_containers() @testcase.attr('positive')