Make every swift clients use expected_success

Based on an original work by Swapnil Kulkarni in
I6a5511969d0432345529da6cd82544d2f8187468

Partially Implements blueprint: client-checks-success

Change-Id: I80bc2c2723bfeabb35fafc2b5733800ab5449f8c
This commit is contained in:
JordanP 2014-11-14 15:47:42 +01:00
parent 816131c2a0
commit a84dde3380
20 changed files with 32 additions and 135 deletions

View File

@ -74,8 +74,6 @@ class BulkTest(base.BaseObjectTest):
self.containers.append(container_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
# When uploading an archived file with the bulk operation, the response
# does not contain 'content-length' header. This is the special case,
# therefore the existence of response headers is checked without
@ -91,7 +89,6 @@ class BulkTest(base.BaseObjectTest):
param = {'format': 'json'}
resp, body = self.account_client.list_account_containers(param)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Account', 'GET')
self.assertIn(container_name, [b['name'] for b in body])
@ -100,7 +97,6 @@ class BulkTest(base.BaseObjectTest):
resp, contents_list = self.container_client.list_container_contents(
container_name, param)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'GET')
self.assertIn(object_name, [c['name'] for c in contents_list])

View File

@ -83,7 +83,6 @@ class AccountQuotasTest(base.BaseObjectTest):
resp, _ = self.object_client.create_object(self.container_name,
object_name, data)
self.assertEqual(resp["status"], "201")
self.assertHeaders(resp, 'Object', 'PUT')
@test.attr(type=["smoke"])

View File

@ -67,7 +67,6 @@ class AccountTest(base.BaseObjectTest):
resp, container_list = \
os_test_user.account_client.list_account_containers()
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
# When sending a request to an account which has not received a PUT
# container request, the response does not contain 'accept-ranges'
@ -93,7 +92,6 @@ class AccountTest(base.BaseObjectTest):
params = {'format': 'json'}
resp, container_list = self.account_client.list_account_containers(
params=params)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Account', 'GET')
self.assertIsNotNone(container_list)
self.assertTrue([c['name'] for c in container_list])
@ -106,7 +104,6 @@ class AccountTest(base.BaseObjectTest):
params = {'format': 'xml'}
resp, container_list = self.account_client.list_account_containers(
params=params)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Account', 'GET')
self.assertIsNotNone(container_list)
self.assertEqual(container_list.tag, 'account')
@ -123,7 +120,6 @@ class AccountTest(base.BaseObjectTest):
def test_list_extensions(self):
resp, extensions = self.account_client.list_extensions()
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertThat(resp, custom_matchers.AreAllWellFormatted())
@test.attr(type='smoke')
@ -182,7 +178,6 @@ class AccountTest(base.BaseObjectTest):
'end_marker': self.containers[self.containers_count - 1]}
resp, container_list = self.account_client.list_account_containers(
params=params)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Account', 'GET')
self.assertEqual(len(container_list), self.containers_count - 2)
@ -208,7 +203,6 @@ class AccountTest(base.BaseObjectTest):
'end_marker': self.containers[self.containers_count / 2]}
resp, container_list = self.account_client.list_account_containers(
params=params)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Account', 'GET')
self.assertEqual(len(container_list),
min(limit, self.containers_count / 2))
@ -222,7 +216,6 @@ class AccountTest(base.BaseObjectTest):
'end_marker': self.containers[self.containers_count - 1]}
resp, container_list = self.account_client.list_account_containers(
params=params)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Account', 'GET')
self.assertEqual(len(container_list),
min(limit, self.containers_count - 2))
@ -237,7 +230,6 @@ class AccountTest(base.BaseObjectTest):
resp, _ = self.account_client.create_account_metadata(metadata)
resp, _ = self.account_client.list_account_metadata()
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Account', 'HEAD')
self.assertIn('x-account-meta-test-account-meta1', resp)
self.assertIn('x-account-meta-test-account-meta2', resp)
@ -247,7 +239,6 @@ class AccountTest(base.BaseObjectTest):
def test_list_no_account_metadata(self):
# list no account metadata
resp, _ = self.account_client.list_account_metadata()
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Account', 'HEAD')
self.assertNotIn('x-account-meta-', str(resp))
@ -256,7 +247,6 @@ class AccountTest(base.BaseObjectTest):
# add metadata to account
metadata = {'test-account-meta1': 'Meta1'}
resp, _ = self.account_client.create_account_metadata(metadata)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Account', 'POST')
resp, body = self.account_client.list_account_metadata()
@ -272,7 +262,6 @@ class AccountTest(base.BaseObjectTest):
metadata = {'test-account-meta1': 'Meta1'}
self.account_client.create_account_metadata(metadata)
resp, _ = self.account_client.delete_account_metadata(metadata)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Account', 'POST')
resp, _ = self.account_client.list_account_metadata()
@ -284,7 +273,6 @@ class AccountTest(base.BaseObjectTest):
# registered at a server
metadata = {'test-account-meta1': ''}
resp, _ = self.account_client.create_account_metadata(metadata)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Account', 'POST')
resp, _ = self.account_client.list_account_metadata()
@ -298,7 +286,6 @@ class AccountTest(base.BaseObjectTest):
self.account_client.create_account_metadata(metadata_1)
metadata_2 = {'test-account-meta1': ''}
resp, _ = self.account_client.delete_account_metadata(metadata_2)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Account', 'POST')
resp, _ = self.account_client.list_account_metadata()
@ -313,7 +300,6 @@ class AccountTest(base.BaseObjectTest):
resp, body = self.account_client.create_and_delete_account_metadata(
metadata_2,
metadata_1)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Account', 'POST')
resp, _ = self.account_client.list_account_metadata()

View File

@ -45,13 +45,11 @@ class ObjectTestACLs(base.BaseObjectTest):
resp_meta, body = self.container_client.update_container_metadata(
self.container_name, metadata=cont_headers,
metadata_prefix='')
self.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp_meta, 'Container', 'POST')
# create object
object_name = data_utils.rand_name(name='Object')
resp, _ = self.object_client.create_object(self.container_name,
object_name, 'data')
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
# Trying to read the object with rights
self.custom_object_client.auth_provider.set_alt_auth_data(
@ -60,7 +58,6 @@ class ObjectTestACLs(base.BaseObjectTest):
)
resp, _ = self.custom_object_client.get_object(
self.container_name, object_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'GET')
@test.attr(type='smoke')
@ -72,7 +69,6 @@ class ObjectTestACLs(base.BaseObjectTest):
resp_meta, body = self.container_client.update_container_metadata(
self.container_name, metadata=cont_headers,
metadata_prefix='')
self.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp_meta, 'Container', 'POST')
# Trying to write the object with rights
self.custom_object_client.auth_provider.set_alt_auth_data(
@ -83,5 +79,4 @@ class ObjectTestACLs(base.BaseObjectTest):
resp, _ = self.custom_object_client.create_object(
self.container_name,
object_name, 'data')
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'PUT')

View File

@ -88,7 +88,6 @@ class ObjectACLsNegativeTest(base.BaseObjectTest):
object_name = data_utils.rand_name(name='Object')
resp, _ = self.object_client.create_object(
self.container_name, object_name, 'data')
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
# trying to get object with non authorized user token
self.custom_object_client.auth_provider.set_alt_auth_data(
@ -106,7 +105,6 @@ class ObjectACLsNegativeTest(base.BaseObjectTest):
object_name = data_utils.rand_name(name='Object')
resp, _ = self.object_client.create_object(
self.container_name, object_name, 'data')
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
# trying to delete object with non-authorized user token
self.custom_object_client.auth_provider.set_alt_auth_data(
@ -125,13 +123,11 @@ class ObjectACLsNegativeTest(base.BaseObjectTest):
resp_meta, body = self.container_client.update_container_metadata(
self.container_name, metadata=cont_headers,
metadata_prefix='')
self.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp_meta, 'Container', 'POST')
# create object
object_name = data_utils.rand_name(name='Object')
resp, _ = self.object_client.create_object(self.container_name,
object_name, 'data')
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
# Trying to read the object without rights
self.custom_object_client.auth_provider.set_alt_auth_data(
@ -150,7 +146,6 @@ class ObjectACLsNegativeTest(base.BaseObjectTest):
resp_meta, body = self.container_client.update_container_metadata(
self.container_name, metadata=cont_headers,
metadata_prefix='')
self.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp_meta, 'Container', 'POST')
# Trying to write the object without rights
self.custom_object_client.auth_provider.set_alt_auth_data(
@ -173,7 +168,6 @@ class ObjectACLsNegativeTest(base.BaseObjectTest):
resp_meta, body = self.container_client.update_container_metadata(
self.container_name, metadata=cont_headers,
metadata_prefix='')
self.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp_meta, 'Container', 'POST')
# Trying to write the object without write rights
self.custom_object_client.auth_provider.set_alt_auth_data(
@ -196,13 +190,11 @@ class ObjectACLsNegativeTest(base.BaseObjectTest):
resp_meta, body = self.container_client.update_container_metadata(
self.container_name, metadata=cont_headers,
metadata_prefix='')
self.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp_meta, 'Container', 'POST')
# create object
object_name = data_utils.rand_name(name='Object')
resp, _ = self.object_client.create_object(self.container_name,
object_name, 'data')
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
# Trying to delete the object without write rights
self.custom_object_client.auth_provider.set_alt_auth_data(

View File

@ -61,7 +61,6 @@ class ContainerQuotasTest(base.BaseObjectTest):
resp, _ = self.object_client.create_object(
self.container_name, object_name, data)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'PUT')
nafter = self._get_bytes_used()

View File

@ -51,7 +51,6 @@ class ContainerTest(base.BaseObjectTest):
container_name = data_utils.rand_name(name='TestContainer')
resp, body = self.container_client.create_container(container_name)
self.containers.append(container_name)
self.assertIn(resp['status'], ('202', '201'))
self.assertHeaders(resp, 'Container', 'PUT')
@test.attr(type='smoke')
@ -62,7 +61,6 @@ class ContainerTest(base.BaseObjectTest):
self.containers.append(container_name)
resp, _ = self.container_client.create_container(container_name)
self.assertIn(resp['status'], ('202', '201'))
self.assertHeaders(resp, 'Container', 'PUT')
@test.attr(type='smoke')
@ -74,7 +72,6 @@ class ContainerTest(base.BaseObjectTest):
container_name,
metadata=metadata)
self.containers.append(container_name)
self.assertIn(resp['status'], ('201', '202'))
self.assertHeaders(resp, 'Container', 'PUT')
resp, _ = self.container_client.list_container_metadata(
@ -93,7 +90,6 @@ class ContainerTest(base.BaseObjectTest):
container_name,
metadata=metadata)
self.containers.append(container_name)
self.assertIn(resp['status'], ('201', '202'))
self.assertHeaders(resp, 'Container', 'PUT')
resp, _ = self.container_client.list_container_metadata(
@ -116,7 +112,6 @@ class ContainerTest(base.BaseObjectTest):
resp, _ = self.container_client.create_container(
container_name,
remove_metadata=metadata_2)
self.assertIn(resp['status'], ('201', '202'))
self.assertHeaders(resp, 'Container', 'PUT')
resp, _ = self.container_client.list_container_metadata(
@ -135,7 +130,6 @@ class ContainerTest(base.BaseObjectTest):
resp, _ = self.container_client.create_container(
container_name,
remove_metadata=metadata)
self.assertIn(resp['status'], ('201', '202'))
self.assertHeaders(resp, 'Container', 'PUT')
resp, _ = self.container_client.list_container_metadata(
@ -148,7 +142,6 @@ class ContainerTest(base.BaseObjectTest):
container_name = self._create_container()
# delete container
resp, _ = self.container_client.delete_container(container_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'DELETE')
self.containers.remove(container_name)
@ -161,7 +154,6 @@ class ContainerTest(base.BaseObjectTest):
resp, object_list = self.container_client.list_container_contents(
container_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'GET')
self.assertEqual(object_name, object_list.strip('\n'))
@ -172,7 +164,6 @@ class ContainerTest(base.BaseObjectTest):
resp, object_list = self.container_client.list_container_contents(
container_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'GET')
self.assertEqual('', object_list.strip('\n'))
@ -187,7 +178,6 @@ class ContainerTest(base.BaseObjectTest):
resp, object_list = self.container_client.list_container_contents(
container_name,
params=params)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'GET')
self.assertEqual(object_name.split('/')[0], object_list.strip('/\n'))
@ -201,7 +191,6 @@ class ContainerTest(base.BaseObjectTest):
resp, object_list = self.container_client.list_container_contents(
container_name,
params=params)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'GET')
self.assertEqual(object_name, object_list.strip('\n'))
@ -215,7 +204,6 @@ class ContainerTest(base.BaseObjectTest):
resp, object_list = self.container_client.list_container_contents(
container_name,
params=params)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'GET')
self.assertIsNotNone(object_list)
@ -235,7 +223,6 @@ class ContainerTest(base.BaseObjectTest):
resp, object_list = self.container_client.list_container_contents(
container_name,
params=params)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'GET')
self.assertIsNotNone(object_list)
@ -260,7 +247,6 @@ class ContainerTest(base.BaseObjectTest):
resp, object_list = self.container_client.list_container_contents(
container_name,
params=params)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'GET')
self.assertEqual(object_name, object_list.strip('\n'))
@ -274,7 +260,6 @@ class ContainerTest(base.BaseObjectTest):
resp, object_list = self.container_client.list_container_contents(
container_name,
params=params)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'GET')
self.assertEqual(object_name, object_list.strip('\n'))
@ -289,7 +274,6 @@ class ContainerTest(base.BaseObjectTest):
resp, object_list = self.container_client.list_container_contents(
container_name,
params=params)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'GET')
self.assertEqual(object_name, object_list.strip('\n'))
@ -304,7 +288,6 @@ class ContainerTest(base.BaseObjectTest):
resp, object_list = self.container_client.list_container_contents(
container_name,
params=params)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'GET')
self.assertEqual(object_name, object_list.strip('\n'))
@ -320,7 +303,6 @@ class ContainerTest(base.BaseObjectTest):
resp, _ = self.container_client.list_container_metadata(
container_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'HEAD')
self.assertIn('x-container-meta-name', resp)
self.assertEqual(resp['x-container-meta-name'], metadata['name'])
@ -332,7 +314,6 @@ class ContainerTest(base.BaseObjectTest):
resp, _ = self.container_client.list_container_metadata(
container_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'HEAD')
self.assertNotIn('x-container-meta-', str(resp))
@ -350,7 +331,6 @@ class ContainerTest(base.BaseObjectTest):
container_name,
metadata=metadata_2,
remove_metadata=metadata_1)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'POST')
resp, _ = self.container_client.list_container_metadata(
@ -369,7 +349,6 @@ class ContainerTest(base.BaseObjectTest):
resp, _ = self.container_client.update_container_metadata(
container_name,
metadata=metadata)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'POST')
resp, _ = self.container_client.list_container_metadata(
@ -390,7 +369,6 @@ class ContainerTest(base.BaseObjectTest):
resp, _ = self.container_client.delete_container_metadata(
container_name,
metadata=metadata)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'POST')
resp, _ = self.container_client.list_container_metadata(
@ -406,7 +384,6 @@ class ContainerTest(base.BaseObjectTest):
resp, _ = self.container_client.update_container_metadata(
container_name,
metadata=metadata)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'POST')
resp, _ = self.container_client.list_container_metadata(
@ -426,7 +403,6 @@ class ContainerTest(base.BaseObjectTest):
resp, _ = self.container_client.delete_container_metadata(
container_name,
metadata=metadata)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'POST')
resp, _ = self.container_client.list_container_metadata(container_name)

View File

@ -67,7 +67,6 @@ class StaticWebTest(base.BaseObjectTest):
# we should retrieve the self.object_name file
resp, body = self.custom_account_client.request("GET",
self.container_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
# This request is equivalent to GET object
self.assertHeaders(resp, 'Object', 'GET')
self.assertEqual(body, self.object_data)
@ -92,7 +91,6 @@ class StaticWebTest(base.BaseObjectTest):
# we should retrieve a listing of objects
resp, body = self.custom_account_client.request("GET",
self.container_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
# The target of the request is not any Swift resource. Therefore, the
# existence of response header is checked without a custom matcher.
self.assertIn('content-length', resp)
@ -131,7 +129,6 @@ class StaticWebTest(base.BaseObjectTest):
# we should retrieve a listing of objects
resp, body = self.custom_account_client.request("GET",
self.container_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertIn(self.object_name, body)
css = '<link rel="stylesheet" type="text/css" href="listings.css" />'
self.assertIn(css, body)

View File

@ -90,12 +90,10 @@ class ContainerSyncTest(base.BaseObjectTest):
(client_base_url, str(cont[1]))}
resp, body = \
cont_client[0].put(str(cont[0]), body=None, headers=headers)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
# create object in container
object_name = data_utils.rand_name(name='TestSyncObject')
data = object_name[::-1] # data_utils.arbitrary_string()
resp, _ = obj_client[0].create_object(cont[0], object_name, data)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.objects.append(object_name)
# wait until container contents list is not empty
@ -108,7 +106,6 @@ class ContainerSyncTest(base.BaseObjectTest):
cont_client[client_index].\
list_container_contents(self.containers[client_index],
params=params)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
object_lists.append(dict(
(obj['name'], obj) for obj in object_list))
# check that containers are not empty and have equal keys()
@ -128,5 +125,4 @@ class ContainerSyncTest(base.BaseObjectTest):
for obj_client, cont in obj_clients:
for obj_name in object_lists[0]:
resp, object_content = obj_client.get_object(cont, obj_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertEqual(object_content, obj_name[::-1])

View File

@ -43,7 +43,6 @@ class CrossdomainTest(base.BaseObjectTest):
def test_get_crossdomain_policy(self):
resp, body = self.account_client.get("crossdomain.xml", {})
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertTrue(body.startswith(self.xml_start) and
body.endswith(self.xml_end))

View File

@ -36,9 +36,6 @@ class HealthcheckTest(base.BaseObjectTest):
resp, _ = self.account_client.get("healthcheck", {})
# The status is expected to be 200
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
# The target of the request is not any Swift resource. Therefore, the
# existence of response header is checked without a custom matcher.
self.assertIn('content-length', resp)

View File

@ -51,7 +51,6 @@ class ObjectExpiryTest(base.BaseObjectTest):
resp, _ = \
self.object_client.list_object_metadata(self.container_name,
self.object_name)
self.assertEqual(resp['status'], '200')
self.assertHeaders(resp, 'Object', 'HEAD')
self.assertIn('x-delete-at', resp)
# we want to ensure that we will sleep long enough for things to
@ -60,7 +59,6 @@ class ObjectExpiryTest(base.BaseObjectTest):
resp, body = self.object_client.get_object(self.container_name,
self.object_name)
self.assertEqual(resp['status'], '200')
self.assertHeaders(resp, 'Object', 'GET')
self.assertIn('x-delete-at', resp)

View File

@ -117,12 +117,10 @@ class ObjectFormPostTest(base.BaseObjectTest):
url = "%s/%s" % (self.container_name, self.object_name)
resp, body = self.object_client.post(url, body, headers=headers)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, "Object", "POST")
# Ensure object is available
resp, body = self.object_client.get("%s/%s%s" % (
self.container_name, self.object_name, "testfile"))
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, "Object", "GET")
self.assertEqual(body, "hello world")

View File

@ -60,7 +60,6 @@ class ObjectTest(base.BaseObjectTest):
for i in six.moves.xrange(segments):
resp, _ = self.object_client.create_object_segments(
self.container_name, object_name, i, data_segments[i])
self.assertEqual(resp['status'], '201')
return object_name, data_segments
@ -97,7 +96,6 @@ class ObjectTest(base.BaseObjectTest):
data = data_utils.arbitrary_string()
resp, _ = self.object_client.create_object(self.container_name,
object_name, data)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
# check uploaded content
@ -117,7 +115,6 @@ class ObjectTest(base.BaseObjectTest):
object_name,
data,
metadata=metadata)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
resp, body = self.object_client.get_object(
@ -144,7 +141,6 @@ class ObjectTest(base.BaseObjectTest):
object_name,
data,
metadata=metadata)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
# download compressed object
@ -168,7 +164,6 @@ class ObjectTest(base.BaseObjectTest):
object_name,
data,
metadata=metadata)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
# check uploaded content
@ -212,7 +207,6 @@ class ObjectTest(base.BaseObjectTest):
name=object_name,
contents=StringIO.StringIO(data),
chunk_size=512)
self.assertEqual(status, 201)
self.assertHeaders(resp_headers, 'Object', 'PUT')
# check uploaded content
@ -239,7 +233,6 @@ class ObjectTest(base.BaseObjectTest):
object_name,
'',
metadata=metadata_2)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
resp, body = self.object_client.get_object(self.container_name,
@ -258,7 +251,6 @@ class ObjectTest(base.BaseObjectTest):
object_name,
data,
metadata=metadata)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
resp, body = self.object_client.get_object(self.container_name,
@ -278,7 +270,6 @@ class ObjectTest(base.BaseObjectTest):
object_name,
data,
metadata=metadata)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
resp, body = self.object_client.get_object(self.container_name,
@ -303,7 +294,6 @@ class ObjectTest(base.BaseObjectTest):
object_name,
data,
metadata=metadata_remove)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
resp, body = self.object_client.get_object(self.container_name,
@ -327,7 +317,6 @@ class ObjectTest(base.BaseObjectTest):
object_name,
data,
metadata=metadata_remove)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
resp, body = self.object_client.get_object(self.container_name,
@ -345,7 +334,6 @@ class ObjectTest(base.BaseObjectTest):
# delete object
resp, _ = self.object_client.delete_object(self.container_name,
object_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'DELETE')
@test.attr(type='smoke')
@ -359,7 +347,6 @@ class ObjectTest(base.BaseObjectTest):
object_name,
metadata,
metadata_prefix='')
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'POST')
resp, _ = self.object_client.list_object_metadata(
@ -384,7 +371,6 @@ class ObjectTest(base.BaseObjectTest):
object_name,
update_metadata,
metadata_prefix='')
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'POST')
resp, _ = self.object_client.list_object_metadata(
@ -410,7 +396,6 @@ class ObjectTest(base.BaseObjectTest):
object_name,
update_metadata,
metadata_prefix='')
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'POST')
resp, _ = self.object_client.list_object_metadata(
@ -439,7 +424,6 @@ class ObjectTest(base.BaseObjectTest):
object_name,
update_metadata,
metadata_prefix='')
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'POST')
resp, _ = self.object_client.list_object_metadata(
@ -458,7 +442,6 @@ class ObjectTest(base.BaseObjectTest):
object_name,
update_metadata,
metadata_prefix='')
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'POST')
resp, _ = self.object_client.list_object_metadata(
@ -484,7 +467,6 @@ class ObjectTest(base.BaseObjectTest):
object_name,
update_metadata,
metadata_prefix='')
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'POST')
resp, _ = self.object_client.list_object_metadata(
@ -506,7 +488,6 @@ class ObjectTest(base.BaseObjectTest):
resp, _ = self.object_client.list_object_metadata(
self.container_name,
object_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'HEAD')
self.assertIn('x-object-meta-test-meta', resp)
self.assertEqual(resp['x-object-meta-test-meta'], 'Meta')
@ -519,7 +500,6 @@ class ObjectTest(base.BaseObjectTest):
resp, _ = self.object_client.list_object_metadata(
self.container_name,
object_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'HEAD')
self.assertNotIn('x-object-meta-', str(resp))
@ -542,7 +522,6 @@ class ObjectTest(base.BaseObjectTest):
resp, _ = self.object_client.list_object_metadata(
self.container_name,
object_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
# Check only the existence of common headers with custom matcher
self.assertThat(resp, custom_matchers.ExistsAllResponseHeaders(
@ -573,7 +552,6 @@ class ObjectTest(base.BaseObjectTest):
# get object
resp, body = self.object_client.get_object(self.container_name,
object_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'GET')
self.assertEqual(body, data)
@ -592,7 +570,6 @@ class ObjectTest(base.BaseObjectTest):
self.container_name,
object_name,
metadata=None)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'GET')
self.assertIn('x-object-meta-test-meta', resp)
self.assertEqual(resp['x-object-meta-test-meta'], 'Meta')
@ -613,7 +590,6 @@ class ObjectTest(base.BaseObjectTest):
self.container_name,
object_name,
metadata=metadata)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'GET')
self.assertEqual(body, data[rand_num - 3: rand_num])
@ -637,7 +613,6 @@ class ObjectTest(base.BaseObjectTest):
self.container_name,
object_name,
metadata=None)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
# Check only the existence of common headers with custom matcher
self.assertThat(resp, custom_matchers.ExistsAllResponseHeaders(
@ -678,7 +653,6 @@ class ObjectTest(base.BaseObjectTest):
self.container_name,
object_name,
metadata=list_metadata)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'GET')
self.assertEqual(body, data)
@ -699,7 +673,6 @@ class ObjectTest(base.BaseObjectTest):
self.container_name,
object_name,
metadata=list_metadata)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'GET')
self.assertEqual(body, data)
@ -721,7 +694,6 @@ class ObjectTest(base.BaseObjectTest):
self.container_name,
object_name,
metadata=list_metadata)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'GET')
self.assertEqual(body, data)
@ -737,7 +709,6 @@ class ObjectTest(base.BaseObjectTest):
self.container_name,
object_name,
metadata=list_metadata)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'GET')
self.assertEqual(body, data)
@ -751,7 +722,6 @@ class ObjectTest(base.BaseObjectTest):
self.container_name,
object_name,
metadata=list_metadata)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'GET')
self.assertEqual(body, data)
@ -774,7 +744,6 @@ class ObjectTest(base.BaseObjectTest):
# copy source object to destination
resp, _ = self.object_client.copy_object_in_same_container(
self.container_name, src_object_name, dst_object_name)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
# check data
@ -796,7 +765,6 @@ class ObjectTest(base.BaseObjectTest):
self.assertNotEqual(resp_tmp['content-type'], metadata['content-type'])
resp, _ = self.object_client.copy_object_in_same_container(
self.container_name, object_name, object_name, metadata)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
# check the content type
@ -822,7 +790,6 @@ class ObjectTest(base.BaseObjectTest):
resp, _ = self.object_client.copy_object_2d_way(self.container_name,
src_object_name,
dst_object_name)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'COPY')
self.assertEqual(
resp['x-copied-from'],
@ -855,14 +822,12 @@ class ObjectTest(base.BaseObjectTest):
resp, _ = self.object_client.update_object_metadata(src_container_name,
object_name,
orig_metadata)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'POST')
# copy object from source container to destination container
resp, _ = self.object_client.copy_object_across_containers(
src_container_name, object_name, dst_container_name,
object_name)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
# check if object is present in destination container
@ -884,7 +849,6 @@ class ObjectTest(base.BaseObjectTest):
dst_object_name, resp = self._copy_object_2d(src_object_name,
metadata)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'COPY')
self.assertNotIn('x-object-meta-src', resp)
@ -904,7 +868,6 @@ class ObjectTest(base.BaseObjectTest):
metadata = {'x-object-meta-test': ''}
dst_obj_name, resp = self._copy_object_2d(src_obj_name, metadata)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'COPY')
expected = {'x-object-meta-test': '',
@ -927,7 +890,6 @@ class ObjectTest(base.BaseObjectTest):
metadata = {'x-object-meta-test': 'value'}
dst_obj_name, resp = self._copy_object_2d(src_obj_name, metadata)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'COPY')
expected = {'x-object-meta-test': 'value',
@ -951,7 +913,6 @@ class ObjectTest(base.BaseObjectTest):
for i in six.moves.xrange(segments):
resp, _ = self.object_client.create_object_segments(
self.container_name, object_name, i, data_segments[i])
self.assertEqual(resp['status'], '201')
# creating a manifest file
metadata = {'X-Object-Manifest': '%s/%s/'
% (self.container_name, object_name)}
@ -1012,7 +973,6 @@ 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.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'GET')
@ -1035,7 +995,6 @@ 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.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp_meta, 'Container', 'POST')
# create object
@ -1044,13 +1003,11 @@ class PublicObjectTest(base.BaseObjectTest):
base_text=object_name)
resp, _ = self.object_client.create_object(self.container_name,
object_name, data)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
# list container metadata
resp_meta, _ = self.container_client.list_container_metadata(
self.container_name)
self.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp_meta, 'Container', 'HEAD')
self.assertIn('x-container-read', resp_meta)
@ -1075,7 +1032,6 @@ class PublicObjectTest(base.BaseObjectTest):
resp_meta, body = self.container_client.update_container_metadata(
self.container_name, metadata=cont_headers,
metadata_prefix='')
self.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp_meta, 'Container', 'POST')
# create object
@ -1084,13 +1040,11 @@ class PublicObjectTest(base.BaseObjectTest):
base_text=object_name)
resp, _ = self.object_client.create_object(self.container_name,
object_name, data)
self.assertEqual(resp['status'], '201')
self.assertHeaders(resp, 'Object', 'PUT')
# list container metadata
resp, _ = self.container_client.list_container_metadata(
self.container_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Container', 'HEAD')
self.assertIn('x-container-read', resp)

View File

@ -120,7 +120,6 @@ class ObjectSloTest(base.BaseObjectTest):
manifest,
params)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self._assertHeadersSLO(resp, 'PUT')
@test.attr(type='gate')
@ -132,7 +131,6 @@ class ObjectSloTest(base.BaseObjectTest):
self.container_name,
object_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self._assertHeadersSLO(resp, 'HEAD')
@test.attr(type='gate')
@ -144,7 +142,6 @@ class ObjectSloTest(base.BaseObjectTest):
self.container_name,
object_name)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self._assertHeadersSLO(resp, 'GET')
sum_data = self.content + self.content
@ -161,8 +158,6 @@ class ObjectSloTest(base.BaseObjectTest):
object_name,
params=params_del)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
# When deleting SLO using multipart manifest, the response contains
# not 'content-length' but 'transfer-encoding' header. This is the
# special case, therefore the existence of response headers is checked

View File

@ -105,13 +105,11 @@ class ObjectTempUrlTest(base.BaseObjectTest):
# trying to get object using temp url within expiry time
resp, body = self.object_client.get(url)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'GET')
self.assertEqual(body, self.content)
# Testing a HEAD on this Temp URL
resp, body = self.object_client.head(url)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'HEAD')
@test.attr(type='gate')
@ -136,7 +134,6 @@ class ObjectTempUrlTest(base.BaseObjectTest):
self.object_name, "GET",
expires, key2)
resp, body = self.object_client.get(url)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertEqual(body, self.content)
@test.attr(type='gate')
@ -153,12 +150,10 @@ class ObjectTempUrlTest(base.BaseObjectTest):
# trying to put random data in the object using temp url
resp, body = self.object_client.put(url, new_data, None)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'PUT')
# Testing a HEAD on this Temp URL
resp, body = self.object_client.head(url)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'HEAD')
# Validate that the content of the object has been modified
@ -181,7 +176,6 @@ class ObjectTempUrlTest(base.BaseObjectTest):
# Testing a HEAD on this Temp URL
resp, body = self.object_client.head(url)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'HEAD')
@test.attr(type='gate')
@ -196,7 +190,6 @@ class ObjectTempUrlTest(base.BaseObjectTest):
# trying to get object using temp url within expiry time
resp, body = self.object_client.get(url)
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
self.assertHeaders(resp, 'Object', 'GET')
self.assertEqual(body, self.content)
self.assertEqual(resp['content-disposition'], 'inline')

View File

@ -36,7 +36,6 @@ class ContainerTest(base.BaseObjectTest):
def assertContainer(self, container, count, byte, versioned):
resp, _ = self.container_client.list_container_metadata(container)
self.assertEqual(resp['status'], ('204'))
self.assertHeaders(resp, 'Container', 'HEAD')
header_value = resp.get('x-container-object-count', 'Missing Header')
self.assertEqual(header_value, count)
@ -55,7 +54,6 @@ class ContainerTest(base.BaseObjectTest):
resp, body = self.container_client.create_container(
vers_container_name)
self.containers.append(vers_container_name)
self.assertIn(resp['status'], ('202', '201'))
self.assertHeaders(resp, 'Container', 'PUT')
self.assertContainer(vers_container_name, '0', '0', 'Missing Header')
@ -66,7 +64,6 @@ class ContainerTest(base.BaseObjectTest):
metadata=headers,
metadata_prefix='')
self.containers.append(base_container_name)
self.assertIn(resp['status'], ('202', '201'))
self.assertHeaders(resp, 'Container', 'PUT')
self.assertContainer(base_container_name, '0', '0',
vers_container_name)

View File

@ -52,6 +52,7 @@ class AccountClient(rest_client.RestClient):
headers[remove_metadata_prefix + key] = remove_metadata[key]
resp, body = self.put(url, data, headers)
self.expected_success(200, resp.status)
return resp, body
def delete_account(self, data=None, params=None):
@ -61,6 +62,7 @@ class AccountClient(rest_client.RestClient):
url = '?%s%s' % (url, urllib.urlencode(params))
resp, body = self.delete(url, headers={}, body=data)
self.expected_success(200, resp.status)
return resp, body
def list_account_metadata(self):
@ -69,6 +71,7 @@ class AccountClient(rest_client.RestClient):
Returns all account metadata headers
"""
resp, body = self.head('')
self.expected_success(204, resp.status)
return resp, body
def create_account_metadata(self, metadata,
@ -85,6 +88,7 @@ class AccountClient(rest_client.RestClient):
url = '?%s%s' % (url, urllib.urlencode(params))
resp, body = self.post(url, headers=headers, body=data)
self.expected_success([200, 204], resp.status)
return resp, body
def delete_account_metadata(self, metadata,
@ -97,6 +101,7 @@ class AccountClient(rest_client.RestClient):
for item in metadata:
headers[metadata_prefix + item] = metadata[item]
resp, body = self.post('', headers=headers, body=None)
self.expected_success(204, resp.status)
return resp, body
def create_and_delete_account_metadata(
@ -115,6 +120,7 @@ class AccountClient(rest_client.RestClient):
headers[delete_metadata_prefix + key] = delete_metadata[key]
resp, body = self.post('', headers=headers, body=None)
self.expected_success(204, resp.status)
return resp, body
def list_account_containers(self, params=None):
@ -147,6 +153,7 @@ class AccountClient(rest_client.RestClient):
body = etree.fromstring(body)
else:
body = body.strip().splitlines()
self.expected_success([200, 204], resp.status)
return resp, body
def list_extensions(self):
@ -156,6 +163,7 @@ class AccountClient(rest_client.RestClient):
finally:
self.reset_path()
body = json.loads(body)
self.expected_success(200, resp.status)
return resp, body
@ -230,4 +238,5 @@ class AccountClientCustomizedHeader(rest_client.RestClient):
headers[str(key)] = metadata[key]
resp, body = self.get(url, headers=headers)
self.expected_success(200, resp.status)
return resp, body

View File

@ -53,12 +53,14 @@ class ContainerClient(rest_client.RestClient):
headers[remove_metadata_prefix + key] = remove_metadata[key]
resp, body = self.put(url, body=None, headers=headers)
self.expected_success([201, 202], resp.status)
return resp, body
def delete_container(self, container_name):
"""Deletes the container (if it's empty)."""
url = str(container_name)
resp, body = self.delete(url)
self.expected_success(204, resp.status)
return resp, body
def update_container_metadata(
@ -79,6 +81,7 @@ class ContainerClient(rest_client.RestClient):
headers[remove_metadata_prefix + key] = remove_metadata[key]
resp, body = self.post(url, body=None, headers=headers)
self.expected_success(204, resp.status)
return resp, body
def delete_container_metadata(self, container_name, metadata,
@ -92,6 +95,7 @@ class ContainerClient(rest_client.RestClient):
headers[metadata_prefix + item] = metadata[item]
resp, body = self.post(url, body=None, headers=headers)
self.expected_success(204, resp.status)
return resp, body
def list_container_metadata(self, container_name):
@ -100,6 +104,7 @@ class ContainerClient(rest_client.RestClient):
"""
url = str(container_name)
resp, body = self.head(url)
self.expected_success(204, resp.status)
return resp, body
def list_all_container_objects(self, container, params=None):
@ -121,6 +126,7 @@ class ContainerClient(rest_client.RestClient):
resp, objlist = self.list_container_contents(
container,
params={'limit': limit, 'format': 'json'})
self.expected_success(200, resp.status)
return objlist
"""tmp = []
for obj in objlist:
@ -186,4 +192,5 @@ class ContainerClient(rest_client.RestClient):
body = json.loads(body)
elif params and params.get('format') == 'xml':
body = etree.fromstring(body)
self.expected_success([200, 204], resp.status)
return resp, body

View File

@ -46,11 +46,14 @@ class ObjectClient(rest_client.RestClient):
url += '?%s' % urllib.urlencode(params)
resp, body = self.put(url, data, headers)
self.expected_success(201, resp.status)
return resp, body
def update_object(self, container, object_name, data):
"""Upload data to replace current storage object."""
return self.create_object(container, object_name, data)
resp, body = self.create_object(container, object_name, data)
self.expected_success(201, resp.status)
return resp, body
def delete_object(self, container, object_name, params=None):
"""Delete storage object."""
@ -58,6 +61,7 @@ class ObjectClient(rest_client.RestClient):
if params:
url += '?%s' % urllib.urlencode(params)
resp, body = self.delete(url, headers={})
self.expected_success([200, 204], resp.status)
return resp, body
def update_object_metadata(self, container, object_name, metadata,
@ -70,6 +74,7 @@ class ObjectClient(rest_client.RestClient):
url = "%s/%s" % (str(container), str(object_name))
resp, body = self.post(url, None, headers=headers)
self.expected_success(202, resp.status)
return resp, body
def list_object_metadata(self, container, object_name):
@ -77,6 +82,7 @@ class ObjectClient(rest_client.RestClient):
url = "%s/%s" % (str(container), str(object_name))
resp, body = self.head(url)
self.expected_success(200, resp.status)
return resp, body
def get_object(self, container, object_name, metadata=None):
@ -89,6 +95,7 @@ class ObjectClient(rest_client.RestClient):
url = "{0}/{1}".format(container, object_name)
resp, body = self.get(url, headers=headers)
self.expected_success([200, 206], resp.status)
return resp, body
def copy_object_in_same_container(self, container, src_object_name,
@ -105,6 +112,7 @@ class ObjectClient(rest_client.RestClient):
headers[str(key)] = metadata[key]
resp, body = self.put(url, None, headers=headers)
self.expected_success(201, resp.status)
return resp, body
def copy_object_across_containers(self, src_container, src_object_name,
@ -122,6 +130,7 @@ class ObjectClient(rest_client.RestClient):
headers[str(key)] = metadata[key]
resp, body = self.put(url, None, headers=headers)
self.expected_success(201, resp.status)
return resp, body
def copy_object_2d_way(self, container, src_object_name, dest_object_name,
@ -137,12 +146,14 @@ class ObjectClient(rest_client.RestClient):
headers[str(key)] = metadata[key]
resp, body = self.copy(url, headers=headers)
self.expected_success(201, resp.status)
return resp, body
def create_object_segments(self, container, object_name, segment, data):
"""Creates object segments."""
url = "{0}/{1}/{2}".format(container, object_name, segment)
resp, body = self.put(url, data)
self.expected_success(201, resp.status)
return resp, body
def put_object_with_chunk(self, container, name, contents, chunk_size):
@ -167,7 +178,7 @@ class ObjectClient(rest_client.RestClient):
resp_headers[header.lower()] = value
self._error_checker('PUT', None, headers, contents, resp, body)
self.expected_success(201, resp.status)
return resp.status, resp.reason, resp_headers
@ -220,6 +231,7 @@ class ObjectClientCustomizedHeader(rest_client.RestClient):
url = "{0}/{1}".format(container, object_name)
resp, body = self.get(url, headers=headers)
self.expected_success(200, resp.status)
return resp, body
def create_object(self, container, object_name, data, metadata=None):
@ -234,6 +246,7 @@ class ObjectClientCustomizedHeader(rest_client.RestClient):
headers['content-length'] = '0'
url = "%s/%s" % (str(container), str(object_name))
resp, body = self.put(url, data, headers=headers)
self.expected_success(201, resp.status)
return resp, body
def delete_object(self, container, object_name, metadata=None):
@ -246,6 +259,7 @@ class ObjectClientCustomizedHeader(rest_client.RestClient):
url = "%s/%s" % (str(container), str(object_name))
resp, body = self.delete(url, headers=headers)
self.expected_success(200, resp.status)
return resp, body
def create_object_continue(self, container, object_name,