Merge "Adding description for testcases - swift part3"
diff --git a/tempest/api/object_storage/test_container_acl_negative.py b/tempest/api/object_storage/test_container_acl_negative.py
index 90b24b4..73d7f27 100644
--- a/tempest/api/object_storage/test_container_acl_negative.py
+++ b/tempest/api/object_storage/test_container_acl_negative.py
@@ -22,6 +22,7 @@
 
 
 class ObjectACLsNegativeTest(base.BaseObjectTest):
+    """Negative tests of object ACLs"""
 
     credentials = [['operator', CONF.object_storage.operator_role],
                    ['operator_alt', CONF.object_storage.operator_role]]
@@ -48,6 +49,7 @@
     @decorators.attr(type=['negative'])
     @decorators.idempotent_id('af587587-0c24-4e15-9822-8352ce711013')
     def test_write_object_without_using_creds(self):
+        """Test writing object without using credentials"""
         # trying to create object with empty headers
         # X-Auth-Token is not provided
         object_name = data_utils.rand_name(name='Object')
@@ -62,6 +64,7 @@
     @decorators.attr(type=['negative'])
     @decorators.idempotent_id('af85af0b-a025-4e72-a90e-121babf55720')
     def test_delete_object_without_using_creds(self):
+        """Test deleting object without using credentials"""
         # create object
         object_name = data_utils.rand_name(name='Object')
         self.object_client.create_object(self.container_name, object_name,
@@ -79,7 +82,7 @@
     @decorators.attr(type=['negative'])
     @decorators.idempotent_id('63d84e37-55a6-42e2-9e5f-276e60e26a00')
     def test_write_object_with_non_authorized_user(self):
-        # attempt to upload another file using non-authorized user
+        """Test writing object with non-authorized user"""
         # User provided token is forbidden. ACL are not set
         object_name = data_utils.rand_name(name='Object')
         # trying to create object with non-authorized user
@@ -94,7 +97,7 @@
     @decorators.attr(type=['negative'])
     @decorators.idempotent_id('abf63359-be52-4feb-87dd-447689fc77fd')
     def test_read_object_with_non_authorized_user(self):
-        # attempt to read object using non-authorized user
+        """Test reading object with non-authorized user"""
         # User provided token is forbidden. ACL are not set
         object_name = data_utils.rand_name(name='Object')
         resp, _ = self.object_client.create_object(
@@ -112,7 +115,7 @@
     @decorators.attr(type=['negative'])
     @decorators.idempotent_id('7343ac3d-cfed-4198-9bb0-00149741a492')
     def test_delete_object_with_non_authorized_user(self):
-        # attempt to delete object using non-authorized user
+        """Test deleting object with non-authorized user"""
         # User provided token is forbidden. ACL are not set
         object_name = data_utils.rand_name(name='Object')
         resp, _ = self.object_client.create_object(
@@ -130,7 +133,7 @@
     @decorators.attr(type=['negative'])
     @decorators.idempotent_id('9ed01334-01e9-41ea-87ea-e6f465582823')
     def test_read_object_without_rights(self):
-        # attempt to read object using non-authorized user
+        """Test reading object without rights"""
         # update X-Container-Read metadata ACL
         cont_headers = {'X-Container-Read': 'badtenant:baduser'}
         resp_meta, _ = (
@@ -155,7 +158,7 @@
     @decorators.attr(type=['negative'])
     @decorators.idempotent_id('a3a585a7-d8cf-4b65-a1a0-edc2b1204f85')
     def test_write_object_without_rights(self):
-        # attempt to write object using non-authorized user
+        """Test writing object without rights"""
         # update X-Container-Write metadata ACL
         cont_headers = {'X-Container-Write': 'badtenant:baduser'}
         resp_meta, _ = (
@@ -177,7 +180,7 @@
     @decorators.attr(type=['negative'])
     @decorators.idempotent_id('8ba512ad-aa6e-444e-b882-2906a0ea2052')
     def test_write_object_without_write_rights(self):
-        # attempt to write object using non-authorized user
+        """Test writing object without write rights"""
         # update X-Container-Read and X-Container-Write metadata ACL
         tenant_name = self.os_operator.credentials.tenant_name
         username = self.os_operator.credentials.username
@@ -203,7 +206,7 @@
     @decorators.attr(type=['negative'])
     @decorators.idempotent_id('b4e366f8-f185-47ab-b789-df4416f9ecdb')
     def test_delete_object_without_write_rights(self):
-        # attempt to delete object using non-authorized user
+        """Test deleting object without write rights"""
         # update X-Container-Read and X-Container-Write metadata ACL
         tenant_name = self.os_operator.credentials.tenant_name
         username = self.os_operator.credentials.username
diff --git a/tempest/api/object_storage/test_container_services_negative.py b/tempest/api/object_storage/test_container_services_negative.py
index b8c83b7..31c33db 100644
--- a/tempest/api/object_storage/test_container_services_negative.py
+++ b/tempest/api/object_storage/test_container_services_negative.py
@@ -25,6 +25,7 @@
 
 
 class ContainerNegativeTest(base.BaseObjectTest):
+    """Negative tests of containers"""
 
     @classmethod
     def resource_setup(cls):
@@ -41,7 +42,7 @@
         CONF.object_storage_feature_enabled.discoverability,
         'Discoverability function is disabled')
     def test_create_container_name_exceeds_max_length(self):
-        # Attempts to create a container name that is longer than max
+        """Test creating container with name longer than max"""
         max_length = self.constraints['max_container_name_length']
         # create a container with long name
         container_name = data_utils.arbitrary_string(size=max_length + 1)
@@ -58,8 +59,7 @@
         CONF.object_storage_feature_enabled.discoverability,
         'Discoverability function is disabled')
     def test_create_container_metadata_name_exceeds_max_length(self):
-        # Attempts to create container with metadata name
-        # that is longer than max.
+        """Test creating container with metadata name longer than max"""
         max_length = self.constraints['max_meta_name_length']
         container_name = data_utils.rand_name(name='TestContainer')
         metadata_name = 'X-Container-Meta-' + data_utils.arbitrary_string(
@@ -77,8 +77,7 @@
         CONF.object_storage_feature_enabled.discoverability,
         'Discoverability function is disabled')
     def test_create_container_metadata_value_exceeds_max_length(self):
-        # Attempts to create container with metadata value
-        # that is longer than max.
+        """Test creating container with metadata value longer than max"""
         max_length = self.constraints['max_meta_value_length']
         container_name = data_utils.rand_name(name='TestContainer')
         metadata_value = data_utils.arbitrary_string(size=max_length + 1)
@@ -95,8 +94,7 @@
         CONF.object_storage_feature_enabled.discoverability,
         'Discoverability function is disabled')
     def test_create_container_metadata_exceeds_overall_metadata_count(self):
-        # Attempts to create container with metadata that exceeds the
-        # default count
+        """Test creating container with metadata exceeding default count"""
         max_count = self.constraints['max_meta_count']
         container_name = data_utils.rand_name(name='TestContainer')
         metadata = {}
@@ -113,8 +111,7 @@
     @decorators.attr(type=["negative"])
     @decorators.idempotent_id('1a95ab2e-b712-4a98-8a4d-8ce21b7557d6')
     def test_get_metadata_headers_with_invalid_container_name(self):
-        # Attempts to retrieve metadata headers with an invalid
-        # container name.
+        """Test getting metadata headers with invalid container name"""
         self.assertRaises(exceptions.NotFound,
                           self.container_client.list_container_metadata,
                           'invalid_container_name')
@@ -122,7 +119,7 @@
     @decorators.attr(type=["negative"])
     @decorators.idempotent_id('125a24fa-90a7-4cfc-b604-44e49d788390')
     def test_update_metadata_with_nonexistent_container_name(self):
-        # Attempts to update metadata using a nonexistent container name.
+        """Test updating metadata using a nonexistent container name"""
         metadata = {'animal': 'penguin'}
 
         self.assertRaises(
@@ -133,7 +130,7 @@
     @decorators.attr(type=["negative"])
     @decorators.idempotent_id('65387dbf-a0e2-4aac-9ddc-16eb3f1f69ba')
     def test_delete_with_nonexistent_container_name(self):
-        # Attempts to delete metadata using a nonexistent container name.
+        """Test deleting metadata using a non existent container name"""
         metadata = {'animal': 'penguin'}
 
         self.assertRaises(
@@ -144,8 +141,7 @@
     @decorators.attr(type=["negative"])
     @decorators.idempotent_id('14331d21-1e81-420a-beea-19cb5e5207f5')
     def test_list_all_container_objects_with_nonexistent_container(self):
-        # Attempts to get a listing of all objects on a container
-        # that doesn't exist.
+        """Test getting a list of all objects on a non existent container"""
         params = {'limit': 9999, 'format': 'json'}
         self.assertRaises(exceptions.NotFound,
                           self.container_client.list_container_objects,
@@ -154,8 +150,7 @@
     @decorators.attr(type=["negative"])
     @decorators.idempotent_id('86b2ab08-92d5-493d-acd2-85f0c848819e')
     def test_list_all_container_objects_on_deleted_container(self):
-        # Attempts to get a listing of all objects on a container
-        # that was deleted.
+        """Test getting a list of all objects on a deleted container"""
         container_name = self.create_container()
         # delete container
         resp, _ = self.container_client.delete_container(container_name)
@@ -168,6 +163,7 @@
     @decorators.attr(type=["negative"])
     @decorators.idempotent_id('42da116e-1e8c-4c96-9e06-2f13884ed2b1')
     def test_delete_non_empty_container(self):
+        """Test deleting a container with object in it"""
         # create a container and an object within it
         # attempt to delete a container that isn't empty.
         container_name = self.create_container()
diff --git a/tempest/api/object_storage/test_container_staticweb.py b/tempest/api/object_storage/test_container_staticweb.py
index 1243b83..ef98ed8 100644
--- a/tempest/api/object_storage/test_container_staticweb.py
+++ b/tempest/api/object_storage/test_container_staticweb.py
@@ -21,6 +21,7 @@
 
 
 class StaticWebTest(base.BaseObjectTest):
+    """Test static web"""
 
     @classmethod
     def resource_setup(cls):
@@ -47,6 +48,7 @@
     @decorators.idempotent_id('c1f055ab-621d-4a6a-831f-846fcb578b8b')
     @utils.requires_ext(extension='staticweb', service='object')
     def test_web_index(self):
+        """Test web index"""
         headers = {'web-index': self.object_name}
 
         self.container_client.create_update_or_delete_container_metadata(
@@ -79,6 +81,7 @@
     @decorators.idempotent_id('941814cf-db9e-4b21-8112-2b6d0af10ee5')
     @utils.requires_ext(extension='staticweb', service='object')
     def test_web_listing(self):
+        """Test web listing"""
         headers = {'web-listings': 'true'}
 
         self.container_client.create_update_or_delete_container_metadata(
@@ -111,6 +114,7 @@
     @decorators.idempotent_id('bc37ec94-43c8-4990-842e-0e5e02fc8926')
     @utils.requires_ext(extension='staticweb', service='object')
     def test_web_listing_css(self):
+        """Test web listing css"""
         headers = {'web-listings': 'true',
                    'web-listings-css': 'listings.css'}
 
@@ -134,6 +138,7 @@
     @decorators.idempotent_id('f18b4bef-212e-45e7-b3ca-59af3a465f82')
     @utils.requires_ext(extension='staticweb', service='object')
     def test_web_error(self):
+        """Test web error"""
         headers = {'web-listings': 'true',
                    'web-error': self.object_name}
 
diff --git a/tempest/api/object_storage/test_object_formpost.py b/tempest/api/object_storage/test_object_formpost.py
index cd834bf..d857d3b 100644
--- a/tempest/api/object_storage/test_object_formpost.py
+++ b/tempest/api/object_storage/test_object_formpost.py
@@ -25,6 +25,7 @@
 
 
 class ObjectFormPostTest(base.BaseObjectTest):
+    """Test object post with form"""
 
     metadata = {}
     containers = []
@@ -110,6 +111,7 @@
     @decorators.idempotent_id('80fac02b-6e54-4f7b-be0d-a965b5cbef76')
     @utils.requires_ext(extension='formpost', service='object')
     def test_post_object_using_form(self):
+        """Test posting object using form"""
         body, content_type = self.get_multipart_form()
 
         headers = {'Content-Type': content_type,
diff --git a/tempest/api/object_storage/test_object_formpost_negative.py b/tempest/api/object_storage/test_object_formpost_negative.py
index df6a0fd..0499eef 100644
--- a/tempest/api/object_storage/test_object_formpost_negative.py
+++ b/tempest/api/object_storage/test_object_formpost_negative.py
@@ -26,6 +26,7 @@
 
 
 class ObjectFormPostNegativeTest(base.BaseObjectTest):
+    """Negative tests of object post with form"""
 
     metadata = {}
     containers = []
@@ -112,6 +113,7 @@
     @utils.requires_ext(extension='formpost', service='object')
     @decorators.attr(type=['negative'])
     def test_post_object_using_form_expired(self):
+        """Test posting object using expired form"""
         body, content_type = self.get_multipart_form(expires=1)
         time.sleep(2)
 
@@ -129,6 +131,7 @@
     @utils.requires_ext(extension='formpost', service='object')
     @decorators.attr(type=['negative'])
     def test_post_object_using_form_invalid_signature(self):
+        """Test posting object using form with invalid signature"""
         self.key = "Wrong"
         body, content_type = self.get_multipart_form()
 
diff --git a/tempest/api/object_storage/test_object_temp_url.py b/tempest/api/object_storage/test_object_temp_url.py
index b99f93a..29354b6 100644
--- a/tempest/api/object_storage/test_object_temp_url.py
+++ b/tempest/api/object_storage/test_object_temp_url.py
@@ -25,6 +25,7 @@
 
 
 class ObjectTempUrlTest(base.BaseObjectTest):
+    """Test object temp url"""
 
     @classmethod
     def resource_setup(cls):
@@ -90,6 +91,7 @@
     @decorators.idempotent_id('f91c96d4-1230-4bba-8eb9-84476d18d991')
     @utils.requires_ext(extension='tempurl', service='object')
     def test_get_object_using_temp_url(self):
+        """Test getting object using temp url"""
         expires = self._get_expiry_date()
 
         # get a temp URL for the created object
@@ -109,6 +111,7 @@
     @decorators.idempotent_id('671f9583-86bd-4128-a034-be282a68c5d8')
     @utils.requires_ext(extension='tempurl', service='object')
     def test_get_object_using_temp_url_key_2(self):
+        """Test getting object using metadata 'Temp-URL-Key-2'"""
         key2 = 'Meta2-'
         metadata = {'Temp-URL-Key-2': key2}
         self.account_client.create_update_or_delete_account_metadata(
@@ -134,6 +137,7 @@
     @decorators.idempotent_id('9b08dade-3571-4152-8a4f-a4f2a873a735')
     @utils.requires_ext(extension='tempurl', service='object')
     def test_put_object_using_temp_url(self):
+        """Test putting object using temp url"""
         new_data = data_utils.random_bytes(size=len(self.object_name))
 
         expires = self._get_expiry_date()
@@ -160,6 +164,7 @@
     @decorators.idempotent_id('249a0111-5ad3-4534-86a7-1993d55f9185')
     @utils.requires_ext(extension='tempurl', service='object')
     def test_head_object_using_temp_url(self):
+        """Test HEAD operation of object using temp url"""
         expires = self._get_expiry_date()
 
         # get a temp URL for the created object
@@ -174,6 +179,7 @@
     @decorators.idempotent_id('9d9cfd90-708b-465d-802c-e4a8090b823d')
     @utils.requires_ext(extension='tempurl', service='object')
     def test_get_object_using_temp_url_with_inline_query_parameter(self):
+        """Test getting object using temp url with inline query parameter"""
         expires = self._get_expiry_date()
 
         # get a temp URL for the created object
diff --git a/tempest/api/object_storage/test_object_temp_url_negative.py b/tempest/api/object_storage/test_object_temp_url_negative.py
index 17ae6c1..bbb4827 100644
--- a/tempest/api/object_storage/test_object_temp_url_negative.py
+++ b/tempest/api/object_storage/test_object_temp_url_negative.py
@@ -26,6 +26,7 @@
 
 
 class ObjectTempUrlNegativeTest(base.BaseObjectTest):
+    """Negative tests of object temp url"""
 
     metadata = {}
     containers = []
@@ -96,7 +97,7 @@
     @decorators.idempotent_id('5a583aca-c804-41ba-9d9a-e7be132bdf0b')
     @utils.requires_ext(extension='tempurl', service='object')
     def test_get_object_after_expiration_time(self):
-
+        """Test getting object after expiration time"""
         expires = self._get_expiry_date(1)
         # get a temp URL for the created object
         url = self._get_temp_url(self.container_name,