From 091d823712f6c727971e01d4946fd63648580433 Mon Sep 17 00:00:00 2001 From: Clenimar Filemon Date: Fri, 5 Aug 2016 13:36:29 -0300 Subject: [PATCH] Cast sets to lists in acl functional tests ``acl_users`` can be either a set or a list. As long as Python sets are not JSON serializable, cast them to lists in functional tests. This way we avoid gate failures like [1]. [1] http://logs.openstack.org/46/319446/7/check/gate-python-barbicanclient-devstack-dsvm/cb80e0c/console.html#_2016-08-04_15_38_51_649177 Change-Id: I6b8601f7168120cf0e15716cc22b8834ddb127e8 --- barbicanclient/barbican_cli/acls.py | 4 +++- functionaltests/client/v1/functional/test_acl.py | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/barbicanclient/barbican_cli/acls.py b/barbicanclient/barbican_cli/acls.py index 938ba099..5a1272a1 100644 --- a/barbicanclient/barbican_cli/acls.py +++ b/barbicanclient/barbican_cli/acls.py @@ -253,7 +253,9 @@ class RemoveACLUsers(lister.Lister, ArgMixin): acl_users = server_acl.users acl_users = set(acl_users).difference(input_acl.users) del server_acl.users[:] - server_acl.users = acl_users + # Python sets are not JSON serializable. + # Cast acl_users to a list. + server_acl.users = list(acl_users) server_entity.submit() # apply changes to server server_entity.load_acls_data() diff --git a/functionaltests/client/v1/functional/test_acl.py b/functionaltests/client/v1/functional/test_acl.py index cdfcd0eb..548929e0 100644 --- a/functionaltests/client/v1/functional/test_acl.py +++ b/functionaltests/client/v1/functional/test_acl.py @@ -503,7 +503,8 @@ class ACLsTestCase(BaseACLsTestCase): acl_users = server_acl.read.users if acl_users and remove_users: acl_users = set(acl_users).difference(remove_users) - server_acl.read.users = acl_users + # Python sets are not JSON serializable. Cast acl_users to a list. + server_acl.read.users = list(acl_users) if kwargs.get('remove_project_access') is not None: server_acl.read.project_access = \ @@ -554,7 +555,8 @@ class ACLsTestCase(BaseACLsTestCase): acl_users = server_acl.read.users if acl_users and remove_users: acl_users = set(acl_users).difference(remove_users) - server_acl.read.users = acl_users + # Python sets are not JSON serializable. Cast acl_users to a list. + server_acl.read.users = list(acl_users) if kwargs.get('remove_project_access') is not None: server_acl.read.project_access = \