diff --git a/tempest/api/object_storage/test_account_services.py b/tempest/api/object_storage/test_account_services.py index b40774efcf..029f2d5d6f 100644 --- a/tempest/api/object_storage/test_account_services.py +++ b/tempest/api/object_storage/test_account_services.py @@ -19,6 +19,7 @@ from tempest.api.object_storage import base from tempest.common.utils.data_utils import rand_name from tempest import exceptions from tempest.test import attr +from tempest.test import HTTP_SUCCESS class AccountTest(base.BaseObjectTest): @@ -47,7 +48,7 @@ class AccountTest(base.BaseObjectTest): def test_list_account_metadata(self): # list all account metadata resp, metadata = self.account_client.list_account_metadata() - self.assertEqual(resp['status'], '204') + self.assertIn(int(resp['status']), HTTP_SUCCESS) self.assertIn('x-account-object-count', resp) self.assertIn('x-account-container-count', resp) self.assertIn('x-account-bytes-used', resp) @@ -59,7 +60,7 @@ class AccountTest(base.BaseObjectTest): # add metadata to account resp, _ = self.account_client.create_account_metadata( metadata={header: data}) - self.assertEqual(resp['status'], '204') + self.assertIn(int(resp['status']), HTTP_SUCCESS) resp, _ = self.account_client.list_account_metadata() self.assertIn('x-account-meta-' + header, resp) @@ -68,7 +69,7 @@ class AccountTest(base.BaseObjectTest): # delete metadata from account resp, _ = \ self.account_client.delete_account_metadata(metadata=[header]) - self.assertEqual(resp['status'], '204') + self.assertIn(int(resp['status']), HTTP_SUCCESS) resp, _ = self.account_client.list_account_metadata() self.assertNotIn('x-account-meta-' + header, resp) diff --git a/tempest/api/object_storage/test_container_services.py b/tempest/api/object_storage/test_container_services.py index 70f704f7ae..5cb6341a89 100644 --- a/tempest/api/object_storage/test_container_services.py +++ b/tempest/api/object_storage/test_container_services.py @@ -19,6 +19,7 @@ from tempest.api.object_storage import base from tempest.common.utils.data_utils import arbitrary_string from tempest.common.utils.data_utils import rand_name from tempest.test import attr +from tempest.test import HTTP_SUCCESS class ContainerTest(base.BaseObjectTest): @@ -46,7 +47,7 @@ class ContainerTest(base.BaseObjectTest): self.containers.append(container_name) # delete container resp, _ = self.container_client.delete_container(container_name) - self.assertEqual(resp['status'], '204') + self.assertIn(int(resp['status']), HTTP_SUCCESS) self.containers.remove(container_name) @attr(type='smoke') @@ -74,7 +75,7 @@ class ContainerTest(base.BaseObjectTest): resp, object_list = \ self.container_client.\ list_container_contents(container_name, params=params) - self.assertEqual(resp['status'], '200') + self.assertIn(int(resp['status']), HTTP_SUCCESS) self.assertIsNotNone(object_list) object_names = [obj['name'] for obj in object_list] @@ -95,12 +96,12 @@ class ContainerTest(base.BaseObjectTest): resp, _ = \ self.container_client.update_container_metadata(container_name, metadata=metadata) - self.assertEqual(resp['status'], '204') + self.assertIn(int(resp['status']), HTTP_SUCCESS) # list container metadata resp, _ = self.container_client.list_container_metadata( container_name) - self.assertEqual(resp['status'], '204') + self.assertIn(int(resp['status']), HTTP_SUCCESS) self.assertIn('x-container-meta-name', resp) self.assertIn('x-container-meta-description', resp) self.assertEqual(resp['x-container-meta-name'], 'Pictures') @@ -110,10 +111,10 @@ class ContainerTest(base.BaseObjectTest): resp, _ = self.container_client.delete_container_metadata( container_name, metadata=metadata.keys()) - self.assertEqual(resp['status'], '204') + self.assertIn(int(resp['status']), HTTP_SUCCESS) # check if the metadata are no longer there resp, _ = self.container_client.list_container_metadata(container_name) - self.assertEqual(resp['status'], '204') + self.assertIn(int(resp['status']), HTTP_SUCCESS) self.assertNotIn('x-container-meta-name', resp) self.assertNotIn('x-container-meta-description', resp) diff --git a/tempest/api/object_storage/test_object_services.py b/tempest/api/object_storage/test_object_services.py index a83e92c6ab..2f52a654d7 100644 --- a/tempest/api/object_storage/test_object_services.py +++ b/tempest/api/object_storage/test_object_services.py @@ -23,6 +23,7 @@ from tempest.common.utils.data_utils import arbitrary_string from tempest.common.utils.data_utils import rand_name from tempest import exceptions from tempest.test import attr +from tempest.test import HTTP_SUCCESS class ObjectTest(base.BaseObjectTest): @@ -72,7 +73,7 @@ class ObjectTest(base.BaseObjectTest): # delete object resp, _ = self.object_client.delete_object(self.container_name, object_name) - self.assertEqual(resp['status'], '204') + self.assertIn(int(resp['status']), HTTP_SUCCESS) @attr(type='smoke') def test_object_metadata(self): @@ -89,12 +90,12 @@ class ObjectTest(base.BaseObjectTest): orig_metadata = {meta_key: meta_value} resp, _ = self.object_client.update_object_metadata( self.container_name, object_name, orig_metadata) - self.assertEqual(resp['status'], '202') + self.assertIn(int(resp['status']), HTTP_SUCCESS) # get object metadata resp, resp_metadata = self.object_client.list_object_metadata( self.container_name, object_name) - self.assertEqual(resp['status'], '200') + self.assertIn(int(resp['status']), HTTP_SUCCESS) actual_meta_key = 'x-object-meta-' + meta_key self.assertTrue(actual_meta_key in resp) self.assertEqual(resp[actual_meta_key], meta_value) @@ -111,7 +112,7 @@ class ObjectTest(base.BaseObjectTest): # get object resp, body = self.object_client.get_object(self.container_name, object_name) - self.assertEqual(resp['status'], '200') + self.assertIn(int(resp['status']), HTTP_SUCCESS) self.assertEqual(body, data) @attr(type='smoke') @@ -209,7 +210,7 @@ class ObjectTest(base.BaseObjectTest): resp, _ = self.object_client.update_object_metadata(src_container_name, object_name, orig_metadata) - self.assertEqual(resp['status'], '202') + self.assertIn(int(resp['status']), HTTP_SUCCESS) try: # copy object from source container to destination container resp, _ = self.object_client.copy_object_across_containers( @@ -309,7 +310,7 @@ class ObjectTest(base.BaseObjectTest): metadata = {'Temp-URL-Key': key} resp, _ = self.account_client.create_account_metadata( metadata=metadata) - self.assertEqual(resp['status'], '204') + self.assertIn(int(resp['status']), HTTP_SUCCESS) flag = True resp, _ = self.account_client.list_account_metadata() self.assertIn('x-account-meta-temp-url-key', resp) @@ -386,7 +387,7 @@ class ObjectTest(base.BaseObjectTest): md5 = hashlib.md5(local_data).hexdigest() headers = {'If-None-Match': md5} resp, body = self.object_client.get(url, headers=headers) - self.assertEqual(resp['status'], '200') + self.assertIn(int(resp['status']), HTTP_SUCCESS) class PublicObjectTest(base.BaseObjectTest): @@ -408,7 +409,7 @@ class PublicObjectTest(base.BaseObjectTest): cont_headers = {'X-Container-Read': '.r:*,.rlistings'} resp_meta, body = self.container_client.update_container_metadata( self.container_name, metadata=cont_headers, metadata_prefix='') - self.assertEqual(resp_meta['status'], '204') + self.assertIn(int(resp_meta['status']), HTTP_SUCCESS) # create object object_name = rand_name(name='Object') data = arbitrary_string(size=len(object_name), @@ -420,7 +421,7 @@ class PublicObjectTest(base.BaseObjectTest): # list container metadata resp_meta, _ = self.container_client.list_container_metadata( self.container_name) - self.assertEqual(resp_meta['status'], '204') + self.assertIn(int(resp['status']), HTTP_SUCCESS) self.assertIn('x-container-read', resp_meta) self.assertEqual(resp_meta['x-container-read'], '.r:*,.rlistings') @@ -438,7 +439,7 @@ class PublicObjectTest(base.BaseObjectTest): resp_meta, body = self.container_client.update_container_metadata( self.container_name, metadata=cont_headers, metadata_prefix='') - self.assertEqual(resp_meta['status'], '204') + self.assertIn(int(resp_meta['status']), HTTP_SUCCESS) # create object object_name = rand_name(name='Object') data = arbitrary_string(size=len(object_name) * 1, @@ -450,7 +451,7 @@ class PublicObjectTest(base.BaseObjectTest): # list container metadata resp, _ = self.container_client.list_container_metadata( self.container_name) - self.assertEqual(resp['status'], '204') + self.assertIn(int(resp['status']), HTTP_SUCCESS) self.assertIn('x-container-read', resp) self.assertEqual(resp['x-container-read'], '.r:*,.rlistings') diff --git a/tempest/test.py b/tempest/test.py index 5f403b3326..6be37bee7e 100644 --- a/tempest/test.py +++ b/tempest/test.py @@ -27,6 +27,9 @@ from tempest import manager LOG = logging.getLogger(__name__) +# All the successful HTTP status codes from RFC 2616 +HTTP_SUCCESS = (200, 201, 202, 203, 204, 205, 206) + def attr(*args, **kwargs): """A decorator which applies the nose and testtools attr decorator