From 50688db21bcbfd2c78431bfcf97ca916d28e1b8f Mon Sep 17 00:00:00 2001 From: "jeremy.zhang" Date: Mon, 9 Oct 2017 14:54:58 +0800 Subject: [PATCH] Fix senario test: test_swift_acl_anonymous_download In Zuul and Jenkins gate jobs like [1][2], the senario test: test_swift_acl_anonymous_download is always failed, which is in file test_object_storage_basic_ops.py. The reason is that the function 'change_container_acl' in tempest.senario.manager.ObjectStorageSenarioTest is implemented incorrectly. This patch fixes the problem. [1] legacy-tempest-dsvm-neutron-scenario-multinode-lvm-multibackend [2] gate-tempest-dsvm-neutron-scenario-multinode-lvm-multibackend-ubuntu-xenial-nv Closes-bug: #1722164 Change-Id: I4b3b6f4d7c5fd5e1e968b0144ecc2a7b3eae206b --- tempest/scenario/manager.py | 8 -------- tempest/scenario/test_object_storage_basic_ops.py | 14 ++++++++++---- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/tempest/scenario/manager.py b/tempest/scenario/manager.py index c70ab494e0..f866fac4de 100644 --- a/tempest/scenario/manager.py +++ b/tempest/scenario/manager.py @@ -1324,14 +1324,6 @@ class ObjectStorageScenarioTest(ScenarioTest): for obj in not_present_obj: self.assertNotIn(obj, object_list) - def change_container_acl(self, container_name, acl): - metadata_param = {'metadata_prefix': 'x-container-', - 'metadata': {'read': acl}} - self.container_client.create_update_or_delete_container_metadata( - container_name, create_update_metadata=metadata_param) - resp, _ = self.container_client.list_container_metadata(container_name) - self.assertEqual(resp['x-container-read'], acl) - def download_and_verify(self, container_name, obj_name, expected_data): _, obj = self.object_client.get_object(container_name, obj_name) self.assertEqual(obj, expected_data) diff --git a/tempest/scenario/test_object_storage_basic_ops.py b/tempest/scenario/test_object_storage_basic_ops.py index da0b1e84f7..cbe321e5fd 100644 --- a/tempest/scenario/test_object_storage_basic_ops.py +++ b/tempest/scenario/test_object_storage_basic_ops.py @@ -58,12 +58,18 @@ class TestObjectStorageBasicOps(manager.ObjectStorageScenarioTest): 5. Delete the object and container """ container_name = self.create_container() - obj_name, _ = self.upload_object_to_container(container_name) + obj_name, obj_data = self.upload_object_to_container(container_name) obj_url = '%s/%s/%s' % (self.object_client.base_url, container_name, obj_name) resp, _ = self.object_client.raw_request(obj_url, 'GET') self.assertEqual(resp.status, 401) - - self.change_container_acl(container_name, '.r:*') - resp, _ = self.object_client.raw_request(obj_url, 'GET') + metadata_param = {'X-Container-Read': '.r:*'} + self.container_client.create_update_or_delete_container_metadata( + container_name, create_update_metadata=metadata_param, + create_update_metadata_prefix='') + resp, _ = self.container_client.list_container_metadata(container_name) + self.assertEqual(metadata_param['X-Container-Read'], + resp['x-container-read']) + resp, data = self.object_client.raw_request(obj_url, 'GET') self.assertEqual(resp.status, 200) + self.assertEqual(obj_data, data)