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:
parent
816131c2a0
commit
a84dde3380
|
@ -74,8 +74,6 @@ class BulkTest(base.BaseObjectTest):
|
||||||
|
|
||||||
self.containers.append(container_name)
|
self.containers.append(container_name)
|
||||||
|
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
|
|
||||||
# When uploading an archived file with the bulk operation, the response
|
# When uploading an archived file with the bulk operation, the response
|
||||||
# does not contain 'content-length' header. This is the special case,
|
# does not contain 'content-length' header. This is the special case,
|
||||||
# therefore the existence of response headers is checked without
|
# therefore the existence of response headers is checked without
|
||||||
|
@ -91,7 +89,6 @@ class BulkTest(base.BaseObjectTest):
|
||||||
param = {'format': 'json'}
|
param = {'format': 'json'}
|
||||||
resp, body = self.account_client.list_account_containers(param)
|
resp, body = self.account_client.list_account_containers(param)
|
||||||
|
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Account', 'GET')
|
self.assertHeaders(resp, 'Account', 'GET')
|
||||||
|
|
||||||
self.assertIn(container_name, [b['name'] for b in body])
|
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(
|
resp, contents_list = self.container_client.list_container_contents(
|
||||||
container_name, param)
|
container_name, param)
|
||||||
|
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'GET')
|
self.assertHeaders(resp, 'Container', 'GET')
|
||||||
|
|
||||||
self.assertIn(object_name, [c['name'] for c in contents_list])
|
self.assertIn(object_name, [c['name'] for c in contents_list])
|
||||||
|
|
|
@ -83,7 +83,6 @@ class AccountQuotasTest(base.BaseObjectTest):
|
||||||
resp, _ = self.object_client.create_object(self.container_name,
|
resp, _ = self.object_client.create_object(self.container_name,
|
||||||
object_name, data)
|
object_name, data)
|
||||||
|
|
||||||
self.assertEqual(resp["status"], "201")
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
||||||
@test.attr(type=["smoke"])
|
@test.attr(type=["smoke"])
|
||||||
|
|
|
@ -67,7 +67,6 @@ class AccountTest(base.BaseObjectTest):
|
||||||
|
|
||||||
resp, container_list = \
|
resp, container_list = \
|
||||||
os_test_user.account_client.list_account_containers()
|
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
|
# When sending a request to an account which has not received a PUT
|
||||||
# container request, the response does not contain 'accept-ranges'
|
# container request, the response does not contain 'accept-ranges'
|
||||||
|
@ -93,7 +92,6 @@ class AccountTest(base.BaseObjectTest):
|
||||||
params = {'format': 'json'}
|
params = {'format': 'json'}
|
||||||
resp, container_list = self.account_client.list_account_containers(
|
resp, container_list = self.account_client.list_account_containers(
|
||||||
params=params)
|
params=params)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Account', 'GET')
|
self.assertHeaders(resp, 'Account', 'GET')
|
||||||
self.assertIsNotNone(container_list)
|
self.assertIsNotNone(container_list)
|
||||||
self.assertTrue([c['name'] for c in container_list])
|
self.assertTrue([c['name'] for c in container_list])
|
||||||
|
@ -106,7 +104,6 @@ class AccountTest(base.BaseObjectTest):
|
||||||
params = {'format': 'xml'}
|
params = {'format': 'xml'}
|
||||||
resp, container_list = self.account_client.list_account_containers(
|
resp, container_list = self.account_client.list_account_containers(
|
||||||
params=params)
|
params=params)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Account', 'GET')
|
self.assertHeaders(resp, 'Account', 'GET')
|
||||||
self.assertIsNotNone(container_list)
|
self.assertIsNotNone(container_list)
|
||||||
self.assertEqual(container_list.tag, 'account')
|
self.assertEqual(container_list.tag, 'account')
|
||||||
|
@ -123,7 +120,6 @@ class AccountTest(base.BaseObjectTest):
|
||||||
def test_list_extensions(self):
|
def test_list_extensions(self):
|
||||||
resp, extensions = self.account_client.list_extensions()
|
resp, extensions = self.account_client.list_extensions()
|
||||||
|
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertThat(resp, custom_matchers.AreAllWellFormatted())
|
self.assertThat(resp, custom_matchers.AreAllWellFormatted())
|
||||||
|
|
||||||
@test.attr(type='smoke')
|
@test.attr(type='smoke')
|
||||||
|
@ -182,7 +178,6 @@ class AccountTest(base.BaseObjectTest):
|
||||||
'end_marker': self.containers[self.containers_count - 1]}
|
'end_marker': self.containers[self.containers_count - 1]}
|
||||||
resp, container_list = self.account_client.list_account_containers(
|
resp, container_list = self.account_client.list_account_containers(
|
||||||
params=params)
|
params=params)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Account', 'GET')
|
self.assertHeaders(resp, 'Account', 'GET')
|
||||||
self.assertEqual(len(container_list), self.containers_count - 2)
|
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]}
|
'end_marker': self.containers[self.containers_count / 2]}
|
||||||
resp, container_list = self.account_client.list_account_containers(
|
resp, container_list = self.account_client.list_account_containers(
|
||||||
params=params)
|
params=params)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Account', 'GET')
|
self.assertHeaders(resp, 'Account', 'GET')
|
||||||
self.assertEqual(len(container_list),
|
self.assertEqual(len(container_list),
|
||||||
min(limit, self.containers_count / 2))
|
min(limit, self.containers_count / 2))
|
||||||
|
@ -222,7 +216,6 @@ class AccountTest(base.BaseObjectTest):
|
||||||
'end_marker': self.containers[self.containers_count - 1]}
|
'end_marker': self.containers[self.containers_count - 1]}
|
||||||
resp, container_list = self.account_client.list_account_containers(
|
resp, container_list = self.account_client.list_account_containers(
|
||||||
params=params)
|
params=params)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Account', 'GET')
|
self.assertHeaders(resp, 'Account', 'GET')
|
||||||
self.assertEqual(len(container_list),
|
self.assertEqual(len(container_list),
|
||||||
min(limit, self.containers_count - 2))
|
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.create_account_metadata(metadata)
|
||||||
|
|
||||||
resp, _ = self.account_client.list_account_metadata()
|
resp, _ = self.account_client.list_account_metadata()
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Account', 'HEAD')
|
self.assertHeaders(resp, 'Account', 'HEAD')
|
||||||
self.assertIn('x-account-meta-test-account-meta1', resp)
|
self.assertIn('x-account-meta-test-account-meta1', resp)
|
||||||
self.assertIn('x-account-meta-test-account-meta2', 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):
|
def test_list_no_account_metadata(self):
|
||||||
# list no account metadata
|
# list no account metadata
|
||||||
resp, _ = self.account_client.list_account_metadata()
|
resp, _ = self.account_client.list_account_metadata()
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Account', 'HEAD')
|
self.assertHeaders(resp, 'Account', 'HEAD')
|
||||||
self.assertNotIn('x-account-meta-', str(resp))
|
self.assertNotIn('x-account-meta-', str(resp))
|
||||||
|
|
||||||
|
@ -256,7 +247,6 @@ class AccountTest(base.BaseObjectTest):
|
||||||
# add metadata to account
|
# add metadata to account
|
||||||
metadata = {'test-account-meta1': 'Meta1'}
|
metadata = {'test-account-meta1': 'Meta1'}
|
||||||
resp, _ = self.account_client.create_account_metadata(metadata)
|
resp, _ = self.account_client.create_account_metadata(metadata)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Account', 'POST')
|
self.assertHeaders(resp, 'Account', 'POST')
|
||||||
|
|
||||||
resp, body = self.account_client.list_account_metadata()
|
resp, body = self.account_client.list_account_metadata()
|
||||||
|
@ -272,7 +262,6 @@ class AccountTest(base.BaseObjectTest):
|
||||||
metadata = {'test-account-meta1': 'Meta1'}
|
metadata = {'test-account-meta1': 'Meta1'}
|
||||||
self.account_client.create_account_metadata(metadata)
|
self.account_client.create_account_metadata(metadata)
|
||||||
resp, _ = self.account_client.delete_account_metadata(metadata)
|
resp, _ = self.account_client.delete_account_metadata(metadata)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Account', 'POST')
|
self.assertHeaders(resp, 'Account', 'POST')
|
||||||
|
|
||||||
resp, _ = self.account_client.list_account_metadata()
|
resp, _ = self.account_client.list_account_metadata()
|
||||||
|
@ -284,7 +273,6 @@ class AccountTest(base.BaseObjectTest):
|
||||||
# registered at a server
|
# registered at a server
|
||||||
metadata = {'test-account-meta1': ''}
|
metadata = {'test-account-meta1': ''}
|
||||||
resp, _ = self.account_client.create_account_metadata(metadata)
|
resp, _ = self.account_client.create_account_metadata(metadata)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Account', 'POST')
|
self.assertHeaders(resp, 'Account', 'POST')
|
||||||
|
|
||||||
resp, _ = self.account_client.list_account_metadata()
|
resp, _ = self.account_client.list_account_metadata()
|
||||||
|
@ -298,7 +286,6 @@ class AccountTest(base.BaseObjectTest):
|
||||||
self.account_client.create_account_metadata(metadata_1)
|
self.account_client.create_account_metadata(metadata_1)
|
||||||
metadata_2 = {'test-account-meta1': ''}
|
metadata_2 = {'test-account-meta1': ''}
|
||||||
resp, _ = self.account_client.delete_account_metadata(metadata_2)
|
resp, _ = self.account_client.delete_account_metadata(metadata_2)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Account', 'POST')
|
self.assertHeaders(resp, 'Account', 'POST')
|
||||||
|
|
||||||
resp, _ = self.account_client.list_account_metadata()
|
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(
|
resp, body = self.account_client.create_and_delete_account_metadata(
|
||||||
metadata_2,
|
metadata_2,
|
||||||
metadata_1)
|
metadata_1)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Account', 'POST')
|
self.assertHeaders(resp, 'Account', 'POST')
|
||||||
|
|
||||||
resp, _ = self.account_client.list_account_metadata()
|
resp, _ = self.account_client.list_account_metadata()
|
||||||
|
|
|
@ -45,13 +45,11 @@ class ObjectTestACLs(base.BaseObjectTest):
|
||||||
resp_meta, body = self.container_client.update_container_metadata(
|
resp_meta, body = self.container_client.update_container_metadata(
|
||||||
self.container_name, metadata=cont_headers,
|
self.container_name, metadata=cont_headers,
|
||||||
metadata_prefix='')
|
metadata_prefix='')
|
||||||
self.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp_meta, 'Container', 'POST')
|
self.assertHeaders(resp_meta, 'Container', 'POST')
|
||||||
# create object
|
# create object
|
||||||
object_name = data_utils.rand_name(name='Object')
|
object_name = data_utils.rand_name(name='Object')
|
||||||
resp, _ = self.object_client.create_object(self.container_name,
|
resp, _ = self.object_client.create_object(self.container_name,
|
||||||
object_name, 'data')
|
object_name, 'data')
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
# Trying to read the object with rights
|
# Trying to read the object with rights
|
||||||
self.custom_object_client.auth_provider.set_alt_auth_data(
|
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(
|
resp, _ = self.custom_object_client.get_object(
|
||||||
self.container_name, object_name)
|
self.container_name, object_name)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'GET')
|
self.assertHeaders(resp, 'Object', 'GET')
|
||||||
|
|
||||||
@test.attr(type='smoke')
|
@test.attr(type='smoke')
|
||||||
|
@ -72,7 +69,6 @@ class ObjectTestACLs(base.BaseObjectTest):
|
||||||
resp_meta, body = self.container_client.update_container_metadata(
|
resp_meta, body = self.container_client.update_container_metadata(
|
||||||
self.container_name, metadata=cont_headers,
|
self.container_name, metadata=cont_headers,
|
||||||
metadata_prefix='')
|
metadata_prefix='')
|
||||||
self.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp_meta, 'Container', 'POST')
|
self.assertHeaders(resp_meta, 'Container', 'POST')
|
||||||
# Trying to write the object with rights
|
# Trying to write the object with rights
|
||||||
self.custom_object_client.auth_provider.set_alt_auth_data(
|
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(
|
resp, _ = self.custom_object_client.create_object(
|
||||||
self.container_name,
|
self.container_name,
|
||||||
object_name, 'data')
|
object_name, 'data')
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
|
@ -88,7 +88,6 @@ class ObjectACLsNegativeTest(base.BaseObjectTest):
|
||||||
object_name = data_utils.rand_name(name='Object')
|
object_name = data_utils.rand_name(name='Object')
|
||||||
resp, _ = self.object_client.create_object(
|
resp, _ = self.object_client.create_object(
|
||||||
self.container_name, object_name, 'data')
|
self.container_name, object_name, 'data')
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
# trying to get object with non authorized user token
|
# trying to get object with non authorized user token
|
||||||
self.custom_object_client.auth_provider.set_alt_auth_data(
|
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')
|
object_name = data_utils.rand_name(name='Object')
|
||||||
resp, _ = self.object_client.create_object(
|
resp, _ = self.object_client.create_object(
|
||||||
self.container_name, object_name, 'data')
|
self.container_name, object_name, 'data')
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
# trying to delete object with non-authorized user token
|
# trying to delete object with non-authorized user token
|
||||||
self.custom_object_client.auth_provider.set_alt_auth_data(
|
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(
|
resp_meta, body = self.container_client.update_container_metadata(
|
||||||
self.container_name, metadata=cont_headers,
|
self.container_name, metadata=cont_headers,
|
||||||
metadata_prefix='')
|
metadata_prefix='')
|
||||||
self.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp_meta, 'Container', 'POST')
|
self.assertHeaders(resp_meta, 'Container', 'POST')
|
||||||
# create object
|
# create object
|
||||||
object_name = data_utils.rand_name(name='Object')
|
object_name = data_utils.rand_name(name='Object')
|
||||||
resp, _ = self.object_client.create_object(self.container_name,
|
resp, _ = self.object_client.create_object(self.container_name,
|
||||||
object_name, 'data')
|
object_name, 'data')
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
# Trying to read the object without rights
|
# Trying to read the object without rights
|
||||||
self.custom_object_client.auth_provider.set_alt_auth_data(
|
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(
|
resp_meta, body = self.container_client.update_container_metadata(
|
||||||
self.container_name, metadata=cont_headers,
|
self.container_name, metadata=cont_headers,
|
||||||
metadata_prefix='')
|
metadata_prefix='')
|
||||||
self.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp_meta, 'Container', 'POST')
|
self.assertHeaders(resp_meta, 'Container', 'POST')
|
||||||
# Trying to write the object without rights
|
# Trying to write the object without rights
|
||||||
self.custom_object_client.auth_provider.set_alt_auth_data(
|
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(
|
resp_meta, body = self.container_client.update_container_metadata(
|
||||||
self.container_name, metadata=cont_headers,
|
self.container_name, metadata=cont_headers,
|
||||||
metadata_prefix='')
|
metadata_prefix='')
|
||||||
self.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp_meta, 'Container', 'POST')
|
self.assertHeaders(resp_meta, 'Container', 'POST')
|
||||||
# Trying to write the object without write rights
|
# Trying to write the object without write rights
|
||||||
self.custom_object_client.auth_provider.set_alt_auth_data(
|
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(
|
resp_meta, body = self.container_client.update_container_metadata(
|
||||||
self.container_name, metadata=cont_headers,
|
self.container_name, metadata=cont_headers,
|
||||||
metadata_prefix='')
|
metadata_prefix='')
|
||||||
self.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp_meta, 'Container', 'POST')
|
self.assertHeaders(resp_meta, 'Container', 'POST')
|
||||||
# create object
|
# create object
|
||||||
object_name = data_utils.rand_name(name='Object')
|
object_name = data_utils.rand_name(name='Object')
|
||||||
resp, _ = self.object_client.create_object(self.container_name,
|
resp, _ = self.object_client.create_object(self.container_name,
|
||||||
object_name, 'data')
|
object_name, 'data')
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
# Trying to delete the object without write rights
|
# Trying to delete the object without write rights
|
||||||
self.custom_object_client.auth_provider.set_alt_auth_data(
|
self.custom_object_client.auth_provider.set_alt_auth_data(
|
||||||
|
|
|
@ -61,7 +61,6 @@ class ContainerQuotasTest(base.BaseObjectTest):
|
||||||
|
|
||||||
resp, _ = self.object_client.create_object(
|
resp, _ = self.object_client.create_object(
|
||||||
self.container_name, object_name, data)
|
self.container_name, object_name, data)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
||||||
nafter = self._get_bytes_used()
|
nafter = self._get_bytes_used()
|
||||||
|
|
|
@ -51,7 +51,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
container_name = data_utils.rand_name(name='TestContainer')
|
container_name = data_utils.rand_name(name='TestContainer')
|
||||||
resp, body = self.container_client.create_container(container_name)
|
resp, body = self.container_client.create_container(container_name)
|
||||||
self.containers.append(container_name)
|
self.containers.append(container_name)
|
||||||
self.assertIn(resp['status'], ('202', '201'))
|
|
||||||
self.assertHeaders(resp, 'Container', 'PUT')
|
self.assertHeaders(resp, 'Container', 'PUT')
|
||||||
|
|
||||||
@test.attr(type='smoke')
|
@test.attr(type='smoke')
|
||||||
|
@ -62,7 +61,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
self.containers.append(container_name)
|
self.containers.append(container_name)
|
||||||
|
|
||||||
resp, _ = self.container_client.create_container(container_name)
|
resp, _ = self.container_client.create_container(container_name)
|
||||||
self.assertIn(resp['status'], ('202', '201'))
|
|
||||||
self.assertHeaders(resp, 'Container', 'PUT')
|
self.assertHeaders(resp, 'Container', 'PUT')
|
||||||
|
|
||||||
@test.attr(type='smoke')
|
@test.attr(type='smoke')
|
||||||
|
@ -74,7 +72,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
container_name,
|
container_name,
|
||||||
metadata=metadata)
|
metadata=metadata)
|
||||||
self.containers.append(container_name)
|
self.containers.append(container_name)
|
||||||
self.assertIn(resp['status'], ('201', '202'))
|
|
||||||
self.assertHeaders(resp, 'Container', 'PUT')
|
self.assertHeaders(resp, 'Container', 'PUT')
|
||||||
|
|
||||||
resp, _ = self.container_client.list_container_metadata(
|
resp, _ = self.container_client.list_container_metadata(
|
||||||
|
@ -93,7 +90,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
container_name,
|
container_name,
|
||||||
metadata=metadata)
|
metadata=metadata)
|
||||||
self.containers.append(container_name)
|
self.containers.append(container_name)
|
||||||
self.assertIn(resp['status'], ('201', '202'))
|
|
||||||
self.assertHeaders(resp, 'Container', 'PUT')
|
self.assertHeaders(resp, 'Container', 'PUT')
|
||||||
|
|
||||||
resp, _ = self.container_client.list_container_metadata(
|
resp, _ = self.container_client.list_container_metadata(
|
||||||
|
@ -116,7 +112,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
resp, _ = self.container_client.create_container(
|
resp, _ = self.container_client.create_container(
|
||||||
container_name,
|
container_name,
|
||||||
remove_metadata=metadata_2)
|
remove_metadata=metadata_2)
|
||||||
self.assertIn(resp['status'], ('201', '202'))
|
|
||||||
self.assertHeaders(resp, 'Container', 'PUT')
|
self.assertHeaders(resp, 'Container', 'PUT')
|
||||||
|
|
||||||
resp, _ = self.container_client.list_container_metadata(
|
resp, _ = self.container_client.list_container_metadata(
|
||||||
|
@ -135,7 +130,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
resp, _ = self.container_client.create_container(
|
resp, _ = self.container_client.create_container(
|
||||||
container_name,
|
container_name,
|
||||||
remove_metadata=metadata)
|
remove_metadata=metadata)
|
||||||
self.assertIn(resp['status'], ('201', '202'))
|
|
||||||
self.assertHeaders(resp, 'Container', 'PUT')
|
self.assertHeaders(resp, 'Container', 'PUT')
|
||||||
|
|
||||||
resp, _ = self.container_client.list_container_metadata(
|
resp, _ = self.container_client.list_container_metadata(
|
||||||
|
@ -148,7 +142,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
container_name = self._create_container()
|
container_name = self._create_container()
|
||||||
# delete container
|
# delete container
|
||||||
resp, _ = self.container_client.delete_container(container_name)
|
resp, _ = self.container_client.delete_container(container_name)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'DELETE')
|
self.assertHeaders(resp, 'Container', 'DELETE')
|
||||||
|
|
||||||
self.containers.remove(container_name)
|
self.containers.remove(container_name)
|
||||||
|
@ -161,7 +154,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
|
|
||||||
resp, object_list = self.container_client.list_container_contents(
|
resp, object_list = self.container_client.list_container_contents(
|
||||||
container_name)
|
container_name)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'GET')
|
self.assertHeaders(resp, 'Container', 'GET')
|
||||||
self.assertEqual(object_name, object_list.strip('\n'))
|
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(
|
resp, object_list = self.container_client.list_container_contents(
|
||||||
container_name)
|
container_name)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'GET')
|
self.assertHeaders(resp, 'Container', 'GET')
|
||||||
self.assertEqual('', object_list.strip('\n'))
|
self.assertEqual('', object_list.strip('\n'))
|
||||||
|
|
||||||
|
@ -187,7 +178,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
resp, object_list = self.container_client.list_container_contents(
|
resp, object_list = self.container_client.list_container_contents(
|
||||||
container_name,
|
container_name,
|
||||||
params=params)
|
params=params)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'GET')
|
self.assertHeaders(resp, 'Container', 'GET')
|
||||||
self.assertEqual(object_name.split('/')[0], object_list.strip('/\n'))
|
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(
|
resp, object_list = self.container_client.list_container_contents(
|
||||||
container_name,
|
container_name,
|
||||||
params=params)
|
params=params)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'GET')
|
self.assertHeaders(resp, 'Container', 'GET')
|
||||||
self.assertEqual(object_name, object_list.strip('\n'))
|
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(
|
resp, object_list = self.container_client.list_container_contents(
|
||||||
container_name,
|
container_name,
|
||||||
params=params)
|
params=params)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'GET')
|
self.assertHeaders(resp, 'Container', 'GET')
|
||||||
|
|
||||||
self.assertIsNotNone(object_list)
|
self.assertIsNotNone(object_list)
|
||||||
|
@ -235,7 +223,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
resp, object_list = self.container_client.list_container_contents(
|
resp, object_list = self.container_client.list_container_contents(
|
||||||
container_name,
|
container_name,
|
||||||
params=params)
|
params=params)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'GET')
|
self.assertHeaders(resp, 'Container', 'GET')
|
||||||
|
|
||||||
self.assertIsNotNone(object_list)
|
self.assertIsNotNone(object_list)
|
||||||
|
@ -260,7 +247,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
resp, object_list = self.container_client.list_container_contents(
|
resp, object_list = self.container_client.list_container_contents(
|
||||||
container_name,
|
container_name,
|
||||||
params=params)
|
params=params)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'GET')
|
self.assertHeaders(resp, 'Container', 'GET')
|
||||||
self.assertEqual(object_name, object_list.strip('\n'))
|
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(
|
resp, object_list = self.container_client.list_container_contents(
|
||||||
container_name,
|
container_name,
|
||||||
params=params)
|
params=params)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'GET')
|
self.assertHeaders(resp, 'Container', 'GET')
|
||||||
self.assertEqual(object_name, object_list.strip('\n'))
|
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(
|
resp, object_list = self.container_client.list_container_contents(
|
||||||
container_name,
|
container_name,
|
||||||
params=params)
|
params=params)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'GET')
|
self.assertHeaders(resp, 'Container', 'GET')
|
||||||
self.assertEqual(object_name, object_list.strip('\n'))
|
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(
|
resp, object_list = self.container_client.list_container_contents(
|
||||||
container_name,
|
container_name,
|
||||||
params=params)
|
params=params)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'GET')
|
self.assertHeaders(resp, 'Container', 'GET')
|
||||||
self.assertEqual(object_name, object_list.strip('\n'))
|
self.assertEqual(object_name, object_list.strip('\n'))
|
||||||
|
|
||||||
|
@ -320,7 +303,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
|
|
||||||
resp, _ = self.container_client.list_container_metadata(
|
resp, _ = self.container_client.list_container_metadata(
|
||||||
container_name)
|
container_name)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'HEAD')
|
self.assertHeaders(resp, 'Container', 'HEAD')
|
||||||
self.assertIn('x-container-meta-name', resp)
|
self.assertIn('x-container-meta-name', resp)
|
||||||
self.assertEqual(resp['x-container-meta-name'], metadata['name'])
|
self.assertEqual(resp['x-container-meta-name'], metadata['name'])
|
||||||
|
@ -332,7 +314,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
|
|
||||||
resp, _ = self.container_client.list_container_metadata(
|
resp, _ = self.container_client.list_container_metadata(
|
||||||
container_name)
|
container_name)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'HEAD')
|
self.assertHeaders(resp, 'Container', 'HEAD')
|
||||||
self.assertNotIn('x-container-meta-', str(resp))
|
self.assertNotIn('x-container-meta-', str(resp))
|
||||||
|
|
||||||
|
@ -350,7 +331,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
container_name,
|
container_name,
|
||||||
metadata=metadata_2,
|
metadata=metadata_2,
|
||||||
remove_metadata=metadata_1)
|
remove_metadata=metadata_1)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'POST')
|
self.assertHeaders(resp, 'Container', 'POST')
|
||||||
|
|
||||||
resp, _ = self.container_client.list_container_metadata(
|
resp, _ = self.container_client.list_container_metadata(
|
||||||
|
@ -369,7 +349,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
resp, _ = self.container_client.update_container_metadata(
|
resp, _ = self.container_client.update_container_metadata(
|
||||||
container_name,
|
container_name,
|
||||||
metadata=metadata)
|
metadata=metadata)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'POST')
|
self.assertHeaders(resp, 'Container', 'POST')
|
||||||
|
|
||||||
resp, _ = self.container_client.list_container_metadata(
|
resp, _ = self.container_client.list_container_metadata(
|
||||||
|
@ -390,7 +369,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
resp, _ = self.container_client.delete_container_metadata(
|
resp, _ = self.container_client.delete_container_metadata(
|
||||||
container_name,
|
container_name,
|
||||||
metadata=metadata)
|
metadata=metadata)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'POST')
|
self.assertHeaders(resp, 'Container', 'POST')
|
||||||
|
|
||||||
resp, _ = self.container_client.list_container_metadata(
|
resp, _ = self.container_client.list_container_metadata(
|
||||||
|
@ -406,7 +384,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
resp, _ = self.container_client.update_container_metadata(
|
resp, _ = self.container_client.update_container_metadata(
|
||||||
container_name,
|
container_name,
|
||||||
metadata=metadata)
|
metadata=metadata)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'POST')
|
self.assertHeaders(resp, 'Container', 'POST')
|
||||||
|
|
||||||
resp, _ = self.container_client.list_container_metadata(
|
resp, _ = self.container_client.list_container_metadata(
|
||||||
|
@ -426,7 +403,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
resp, _ = self.container_client.delete_container_metadata(
|
resp, _ = self.container_client.delete_container_metadata(
|
||||||
container_name,
|
container_name,
|
||||||
metadata=metadata)
|
metadata=metadata)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'POST')
|
self.assertHeaders(resp, 'Container', 'POST')
|
||||||
|
|
||||||
resp, _ = self.container_client.list_container_metadata(container_name)
|
resp, _ = self.container_client.list_container_metadata(container_name)
|
||||||
|
|
|
@ -67,7 +67,6 @@ class StaticWebTest(base.BaseObjectTest):
|
||||||
# we should retrieve the self.object_name file
|
# we should retrieve the self.object_name file
|
||||||
resp, body = self.custom_account_client.request("GET",
|
resp, body = self.custom_account_client.request("GET",
|
||||||
self.container_name)
|
self.container_name)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
# This request is equivalent to GET object
|
# This request is equivalent to GET object
|
||||||
self.assertHeaders(resp, 'Object', 'GET')
|
self.assertHeaders(resp, 'Object', 'GET')
|
||||||
self.assertEqual(body, self.object_data)
|
self.assertEqual(body, self.object_data)
|
||||||
|
@ -92,7 +91,6 @@ class StaticWebTest(base.BaseObjectTest):
|
||||||
# we should retrieve a listing of objects
|
# we should retrieve a listing of objects
|
||||||
resp, body = self.custom_account_client.request("GET",
|
resp, body = self.custom_account_client.request("GET",
|
||||||
self.container_name)
|
self.container_name)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
# The target of the request is not any Swift resource. Therefore, the
|
# The target of the request is not any Swift resource. Therefore, the
|
||||||
# existence of response header is checked without a custom matcher.
|
# existence of response header is checked without a custom matcher.
|
||||||
self.assertIn('content-length', resp)
|
self.assertIn('content-length', resp)
|
||||||
|
@ -131,7 +129,6 @@ class StaticWebTest(base.BaseObjectTest):
|
||||||
# we should retrieve a listing of objects
|
# we should retrieve a listing of objects
|
||||||
resp, body = self.custom_account_client.request("GET",
|
resp, body = self.custom_account_client.request("GET",
|
||||||
self.container_name)
|
self.container_name)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertIn(self.object_name, body)
|
self.assertIn(self.object_name, body)
|
||||||
css = '<link rel="stylesheet" type="text/css" href="listings.css" />'
|
css = '<link rel="stylesheet" type="text/css" href="listings.css" />'
|
||||||
self.assertIn(css, body)
|
self.assertIn(css, body)
|
||||||
|
|
|
@ -90,12 +90,10 @@ class ContainerSyncTest(base.BaseObjectTest):
|
||||||
(client_base_url, str(cont[1]))}
|
(client_base_url, str(cont[1]))}
|
||||||
resp, body = \
|
resp, body = \
|
||||||
cont_client[0].put(str(cont[0]), body=None, headers=headers)
|
cont_client[0].put(str(cont[0]), body=None, headers=headers)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
# create object in container
|
# create object in container
|
||||||
object_name = data_utils.rand_name(name='TestSyncObject')
|
object_name = data_utils.rand_name(name='TestSyncObject')
|
||||||
data = object_name[::-1] # data_utils.arbitrary_string()
|
data = object_name[::-1] # data_utils.arbitrary_string()
|
||||||
resp, _ = obj_client[0].create_object(cont[0], object_name, data)
|
resp, _ = obj_client[0].create_object(cont[0], object_name, data)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.objects.append(object_name)
|
self.objects.append(object_name)
|
||||||
|
|
||||||
# wait until container contents list is not empty
|
# wait until container contents list is not empty
|
||||||
|
@ -108,7 +106,6 @@ class ContainerSyncTest(base.BaseObjectTest):
|
||||||
cont_client[client_index].\
|
cont_client[client_index].\
|
||||||
list_container_contents(self.containers[client_index],
|
list_container_contents(self.containers[client_index],
|
||||||
params=params)
|
params=params)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
object_lists.append(dict(
|
object_lists.append(dict(
|
||||||
(obj['name'], obj) for obj in object_list))
|
(obj['name'], obj) for obj in object_list))
|
||||||
# check that containers are not empty and have equal keys()
|
# 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_client, cont in obj_clients:
|
||||||
for obj_name in object_lists[0]:
|
for obj_name in object_lists[0]:
|
||||||
resp, object_content = obj_client.get_object(cont, obj_name)
|
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])
|
self.assertEqual(object_content, obj_name[::-1])
|
||||||
|
|
|
@ -43,7 +43,6 @@ class CrossdomainTest(base.BaseObjectTest):
|
||||||
def test_get_crossdomain_policy(self):
|
def test_get_crossdomain_policy(self):
|
||||||
resp, body = self.account_client.get("crossdomain.xml", {})
|
resp, body = self.account_client.get("crossdomain.xml", {})
|
||||||
|
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertTrue(body.startswith(self.xml_start) and
|
self.assertTrue(body.startswith(self.xml_start) and
|
||||||
body.endswith(self.xml_end))
|
body.endswith(self.xml_end))
|
||||||
|
|
||||||
|
|
|
@ -36,9 +36,6 @@ class HealthcheckTest(base.BaseObjectTest):
|
||||||
|
|
||||||
resp, _ = self.account_client.get("healthcheck", {})
|
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
|
# The target of the request is not any Swift resource. Therefore, the
|
||||||
# existence of response header is checked without a custom matcher.
|
# existence of response header is checked without a custom matcher.
|
||||||
self.assertIn('content-length', resp)
|
self.assertIn('content-length', resp)
|
||||||
|
|
|
@ -51,7 +51,6 @@ class ObjectExpiryTest(base.BaseObjectTest):
|
||||||
resp, _ = \
|
resp, _ = \
|
||||||
self.object_client.list_object_metadata(self.container_name,
|
self.object_client.list_object_metadata(self.container_name,
|
||||||
self.object_name)
|
self.object_name)
|
||||||
self.assertEqual(resp['status'], '200')
|
|
||||||
self.assertHeaders(resp, 'Object', 'HEAD')
|
self.assertHeaders(resp, 'Object', 'HEAD')
|
||||||
self.assertIn('x-delete-at', resp)
|
self.assertIn('x-delete-at', resp)
|
||||||
# we want to ensure that we will sleep long enough for things to
|
# 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,
|
resp, body = self.object_client.get_object(self.container_name,
|
||||||
self.object_name)
|
self.object_name)
|
||||||
self.assertEqual(resp['status'], '200')
|
|
||||||
self.assertHeaders(resp, 'Object', 'GET')
|
self.assertHeaders(resp, 'Object', 'GET')
|
||||||
self.assertIn('x-delete-at', resp)
|
self.assertIn('x-delete-at', resp)
|
||||||
|
|
||||||
|
|
|
@ -117,12 +117,10 @@ class ObjectFormPostTest(base.BaseObjectTest):
|
||||||
url = "%s/%s" % (self.container_name, self.object_name)
|
url = "%s/%s" % (self.container_name, self.object_name)
|
||||||
|
|
||||||
resp, body = self.object_client.post(url, body, headers=headers)
|
resp, body = self.object_client.post(url, body, headers=headers)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, "Object", "POST")
|
self.assertHeaders(resp, "Object", "POST")
|
||||||
|
|
||||||
# Ensure object is available
|
# Ensure object is available
|
||||||
resp, body = self.object_client.get("%s/%s%s" % (
|
resp, body = self.object_client.get("%s/%s%s" % (
|
||||||
self.container_name, self.object_name, "testfile"))
|
self.container_name, self.object_name, "testfile"))
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, "Object", "GET")
|
self.assertHeaders(resp, "Object", "GET")
|
||||||
self.assertEqual(body, "hello world")
|
self.assertEqual(body, "hello world")
|
||||||
|
|
|
@ -60,7 +60,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
for i in six.moves.xrange(segments):
|
for i in six.moves.xrange(segments):
|
||||||
resp, _ = self.object_client.create_object_segments(
|
resp, _ = self.object_client.create_object_segments(
|
||||||
self.container_name, object_name, i, data_segments[i])
|
self.container_name, object_name, i, data_segments[i])
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
|
|
||||||
return object_name, data_segments
|
return object_name, data_segments
|
||||||
|
|
||||||
|
@ -97,7 +96,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
data = data_utils.arbitrary_string()
|
data = data_utils.arbitrary_string()
|
||||||
resp, _ = self.object_client.create_object(self.container_name,
|
resp, _ = self.object_client.create_object(self.container_name,
|
||||||
object_name, data)
|
object_name, data)
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
||||||
# check uploaded content
|
# check uploaded content
|
||||||
|
@ -117,7 +115,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
object_name,
|
object_name,
|
||||||
data,
|
data,
|
||||||
metadata=metadata)
|
metadata=metadata)
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
||||||
resp, body = self.object_client.get_object(
|
resp, body = self.object_client.get_object(
|
||||||
|
@ -144,7 +141,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
object_name,
|
object_name,
|
||||||
data,
|
data,
|
||||||
metadata=metadata)
|
metadata=metadata)
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
||||||
# download compressed object
|
# download compressed object
|
||||||
|
@ -168,7 +164,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
object_name,
|
object_name,
|
||||||
data,
|
data,
|
||||||
metadata=metadata)
|
metadata=metadata)
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
||||||
# check uploaded content
|
# check uploaded content
|
||||||
|
@ -212,7 +207,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
name=object_name,
|
name=object_name,
|
||||||
contents=StringIO.StringIO(data),
|
contents=StringIO.StringIO(data),
|
||||||
chunk_size=512)
|
chunk_size=512)
|
||||||
self.assertEqual(status, 201)
|
|
||||||
self.assertHeaders(resp_headers, 'Object', 'PUT')
|
self.assertHeaders(resp_headers, 'Object', 'PUT')
|
||||||
|
|
||||||
# check uploaded content
|
# check uploaded content
|
||||||
|
@ -239,7 +233,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
object_name,
|
object_name,
|
||||||
'',
|
'',
|
||||||
metadata=metadata_2)
|
metadata=metadata_2)
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
||||||
resp, body = self.object_client.get_object(self.container_name,
|
resp, body = self.object_client.get_object(self.container_name,
|
||||||
|
@ -258,7 +251,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
object_name,
|
object_name,
|
||||||
data,
|
data,
|
||||||
metadata=metadata)
|
metadata=metadata)
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
||||||
resp, body = self.object_client.get_object(self.container_name,
|
resp, body = self.object_client.get_object(self.container_name,
|
||||||
|
@ -278,7 +270,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
object_name,
|
object_name,
|
||||||
data,
|
data,
|
||||||
metadata=metadata)
|
metadata=metadata)
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
||||||
resp, body = self.object_client.get_object(self.container_name,
|
resp, body = self.object_client.get_object(self.container_name,
|
||||||
|
@ -303,7 +294,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
object_name,
|
object_name,
|
||||||
data,
|
data,
|
||||||
metadata=metadata_remove)
|
metadata=metadata_remove)
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
||||||
resp, body = self.object_client.get_object(self.container_name,
|
resp, body = self.object_client.get_object(self.container_name,
|
||||||
|
@ -327,7 +317,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
object_name,
|
object_name,
|
||||||
data,
|
data,
|
||||||
metadata=metadata_remove)
|
metadata=metadata_remove)
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
||||||
resp, body = self.object_client.get_object(self.container_name,
|
resp, body = self.object_client.get_object(self.container_name,
|
||||||
|
@ -345,7 +334,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
# delete object
|
# delete object
|
||||||
resp, _ = self.object_client.delete_object(self.container_name,
|
resp, _ = self.object_client.delete_object(self.container_name,
|
||||||
object_name)
|
object_name)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'DELETE')
|
self.assertHeaders(resp, 'Object', 'DELETE')
|
||||||
|
|
||||||
@test.attr(type='smoke')
|
@test.attr(type='smoke')
|
||||||
|
@ -359,7 +347,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
object_name,
|
object_name,
|
||||||
metadata,
|
metadata,
|
||||||
metadata_prefix='')
|
metadata_prefix='')
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'POST')
|
self.assertHeaders(resp, 'Object', 'POST')
|
||||||
|
|
||||||
resp, _ = self.object_client.list_object_metadata(
|
resp, _ = self.object_client.list_object_metadata(
|
||||||
|
@ -384,7 +371,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
object_name,
|
object_name,
|
||||||
update_metadata,
|
update_metadata,
|
||||||
metadata_prefix='')
|
metadata_prefix='')
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'POST')
|
self.assertHeaders(resp, 'Object', 'POST')
|
||||||
|
|
||||||
resp, _ = self.object_client.list_object_metadata(
|
resp, _ = self.object_client.list_object_metadata(
|
||||||
|
@ -410,7 +396,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
object_name,
|
object_name,
|
||||||
update_metadata,
|
update_metadata,
|
||||||
metadata_prefix='')
|
metadata_prefix='')
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'POST')
|
self.assertHeaders(resp, 'Object', 'POST')
|
||||||
|
|
||||||
resp, _ = self.object_client.list_object_metadata(
|
resp, _ = self.object_client.list_object_metadata(
|
||||||
|
@ -439,7 +424,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
object_name,
|
object_name,
|
||||||
update_metadata,
|
update_metadata,
|
||||||
metadata_prefix='')
|
metadata_prefix='')
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'POST')
|
self.assertHeaders(resp, 'Object', 'POST')
|
||||||
|
|
||||||
resp, _ = self.object_client.list_object_metadata(
|
resp, _ = self.object_client.list_object_metadata(
|
||||||
|
@ -458,7 +442,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
object_name,
|
object_name,
|
||||||
update_metadata,
|
update_metadata,
|
||||||
metadata_prefix='')
|
metadata_prefix='')
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'POST')
|
self.assertHeaders(resp, 'Object', 'POST')
|
||||||
|
|
||||||
resp, _ = self.object_client.list_object_metadata(
|
resp, _ = self.object_client.list_object_metadata(
|
||||||
|
@ -484,7 +467,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
object_name,
|
object_name,
|
||||||
update_metadata,
|
update_metadata,
|
||||||
metadata_prefix='')
|
metadata_prefix='')
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'POST')
|
self.assertHeaders(resp, 'Object', 'POST')
|
||||||
|
|
||||||
resp, _ = self.object_client.list_object_metadata(
|
resp, _ = self.object_client.list_object_metadata(
|
||||||
|
@ -506,7 +488,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
resp, _ = self.object_client.list_object_metadata(
|
resp, _ = self.object_client.list_object_metadata(
|
||||||
self.container_name,
|
self.container_name,
|
||||||
object_name)
|
object_name)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'HEAD')
|
self.assertHeaders(resp, 'Object', 'HEAD')
|
||||||
self.assertIn('x-object-meta-test-meta', resp)
|
self.assertIn('x-object-meta-test-meta', resp)
|
||||||
self.assertEqual(resp['x-object-meta-test-meta'], 'Meta')
|
self.assertEqual(resp['x-object-meta-test-meta'], 'Meta')
|
||||||
|
@ -519,7 +500,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
resp, _ = self.object_client.list_object_metadata(
|
resp, _ = self.object_client.list_object_metadata(
|
||||||
self.container_name,
|
self.container_name,
|
||||||
object_name)
|
object_name)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'HEAD')
|
self.assertHeaders(resp, 'Object', 'HEAD')
|
||||||
self.assertNotIn('x-object-meta-', str(resp))
|
self.assertNotIn('x-object-meta-', str(resp))
|
||||||
|
|
||||||
|
@ -542,7 +522,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
resp, _ = self.object_client.list_object_metadata(
|
resp, _ = self.object_client.list_object_metadata(
|
||||||
self.container_name,
|
self.container_name,
|
||||||
object_name)
|
object_name)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
|
|
||||||
# Check only the existence of common headers with custom matcher
|
# Check only the existence of common headers with custom matcher
|
||||||
self.assertThat(resp, custom_matchers.ExistsAllResponseHeaders(
|
self.assertThat(resp, custom_matchers.ExistsAllResponseHeaders(
|
||||||
|
@ -573,7 +552,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
# get object
|
# get object
|
||||||
resp, body = self.object_client.get_object(self.container_name,
|
resp, body = self.object_client.get_object(self.container_name,
|
||||||
object_name)
|
object_name)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'GET')
|
self.assertHeaders(resp, 'Object', 'GET')
|
||||||
|
|
||||||
self.assertEqual(body, data)
|
self.assertEqual(body, data)
|
||||||
|
@ -592,7 +570,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
self.container_name,
|
self.container_name,
|
||||||
object_name,
|
object_name,
|
||||||
metadata=None)
|
metadata=None)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'GET')
|
self.assertHeaders(resp, 'Object', 'GET')
|
||||||
self.assertIn('x-object-meta-test-meta', resp)
|
self.assertIn('x-object-meta-test-meta', resp)
|
||||||
self.assertEqual(resp['x-object-meta-test-meta'], 'Meta')
|
self.assertEqual(resp['x-object-meta-test-meta'], 'Meta')
|
||||||
|
@ -613,7 +590,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
self.container_name,
|
self.container_name,
|
||||||
object_name,
|
object_name,
|
||||||
metadata=metadata)
|
metadata=metadata)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'GET')
|
self.assertHeaders(resp, 'Object', 'GET')
|
||||||
self.assertEqual(body, data[rand_num - 3: rand_num])
|
self.assertEqual(body, data[rand_num - 3: rand_num])
|
||||||
|
|
||||||
|
@ -637,7 +613,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
self.container_name,
|
self.container_name,
|
||||||
object_name,
|
object_name,
|
||||||
metadata=None)
|
metadata=None)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
|
|
||||||
# Check only the existence of common headers with custom matcher
|
# Check only the existence of common headers with custom matcher
|
||||||
self.assertThat(resp, custom_matchers.ExistsAllResponseHeaders(
|
self.assertThat(resp, custom_matchers.ExistsAllResponseHeaders(
|
||||||
|
@ -678,7 +653,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
self.container_name,
|
self.container_name,
|
||||||
object_name,
|
object_name,
|
||||||
metadata=list_metadata)
|
metadata=list_metadata)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'GET')
|
self.assertHeaders(resp, 'Object', 'GET')
|
||||||
self.assertEqual(body, data)
|
self.assertEqual(body, data)
|
||||||
|
|
||||||
|
@ -699,7 +673,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
self.container_name,
|
self.container_name,
|
||||||
object_name,
|
object_name,
|
||||||
metadata=list_metadata)
|
metadata=list_metadata)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'GET')
|
self.assertHeaders(resp, 'Object', 'GET')
|
||||||
self.assertEqual(body, data)
|
self.assertEqual(body, data)
|
||||||
|
|
||||||
|
@ -721,7 +694,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
self.container_name,
|
self.container_name,
|
||||||
object_name,
|
object_name,
|
||||||
metadata=list_metadata)
|
metadata=list_metadata)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'GET')
|
self.assertHeaders(resp, 'Object', 'GET')
|
||||||
self.assertEqual(body, data)
|
self.assertEqual(body, data)
|
||||||
|
|
||||||
|
@ -737,7 +709,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
self.container_name,
|
self.container_name,
|
||||||
object_name,
|
object_name,
|
||||||
metadata=list_metadata)
|
metadata=list_metadata)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'GET')
|
self.assertHeaders(resp, 'Object', 'GET')
|
||||||
self.assertEqual(body, data)
|
self.assertEqual(body, data)
|
||||||
|
|
||||||
|
@ -751,7 +722,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
self.container_name,
|
self.container_name,
|
||||||
object_name,
|
object_name,
|
||||||
metadata=list_metadata)
|
metadata=list_metadata)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'GET')
|
self.assertHeaders(resp, 'Object', 'GET')
|
||||||
self.assertEqual(body, data)
|
self.assertEqual(body, data)
|
||||||
|
|
||||||
|
@ -774,7 +744,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
# copy source object to destination
|
# copy source object to destination
|
||||||
resp, _ = self.object_client.copy_object_in_same_container(
|
resp, _ = self.object_client.copy_object_in_same_container(
|
||||||
self.container_name, src_object_name, dst_object_name)
|
self.container_name, src_object_name, dst_object_name)
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
||||||
# check data
|
# check data
|
||||||
|
@ -796,7 +765,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
self.assertNotEqual(resp_tmp['content-type'], metadata['content-type'])
|
self.assertNotEqual(resp_tmp['content-type'], metadata['content-type'])
|
||||||
resp, _ = self.object_client.copy_object_in_same_container(
|
resp, _ = self.object_client.copy_object_in_same_container(
|
||||||
self.container_name, object_name, object_name, metadata)
|
self.container_name, object_name, object_name, metadata)
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
||||||
# check the content type
|
# check the content type
|
||||||
|
@ -822,7 +790,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
resp, _ = self.object_client.copy_object_2d_way(self.container_name,
|
resp, _ = self.object_client.copy_object_2d_way(self.container_name,
|
||||||
src_object_name,
|
src_object_name,
|
||||||
dst_object_name)
|
dst_object_name)
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'COPY')
|
self.assertHeaders(resp, 'Object', 'COPY')
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
resp['x-copied-from'],
|
resp['x-copied-from'],
|
||||||
|
@ -855,14 +822,12 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
resp, _ = self.object_client.update_object_metadata(src_container_name,
|
resp, _ = self.object_client.update_object_metadata(src_container_name,
|
||||||
object_name,
|
object_name,
|
||||||
orig_metadata)
|
orig_metadata)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'POST')
|
self.assertHeaders(resp, 'Object', 'POST')
|
||||||
|
|
||||||
# copy object from source container to destination container
|
# copy object from source container to destination container
|
||||||
resp, _ = self.object_client.copy_object_across_containers(
|
resp, _ = self.object_client.copy_object_across_containers(
|
||||||
src_container_name, object_name, dst_container_name,
|
src_container_name, object_name, dst_container_name,
|
||||||
object_name)
|
object_name)
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
||||||
# check if object is present in destination container
|
# 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,
|
dst_object_name, resp = self._copy_object_2d(src_object_name,
|
||||||
metadata)
|
metadata)
|
||||||
|
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'COPY')
|
self.assertHeaders(resp, 'Object', 'COPY')
|
||||||
|
|
||||||
self.assertNotIn('x-object-meta-src', resp)
|
self.assertNotIn('x-object-meta-src', resp)
|
||||||
|
@ -904,7 +868,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
metadata = {'x-object-meta-test': ''}
|
metadata = {'x-object-meta-test': ''}
|
||||||
dst_obj_name, resp = self._copy_object_2d(src_obj_name, metadata)
|
dst_obj_name, resp = self._copy_object_2d(src_obj_name, metadata)
|
||||||
|
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'COPY')
|
self.assertHeaders(resp, 'Object', 'COPY')
|
||||||
|
|
||||||
expected = {'x-object-meta-test': '',
|
expected = {'x-object-meta-test': '',
|
||||||
|
@ -927,7 +890,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
metadata = {'x-object-meta-test': 'value'}
|
metadata = {'x-object-meta-test': 'value'}
|
||||||
dst_obj_name, resp = self._copy_object_2d(src_obj_name, metadata)
|
dst_obj_name, resp = self._copy_object_2d(src_obj_name, metadata)
|
||||||
|
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'COPY')
|
self.assertHeaders(resp, 'Object', 'COPY')
|
||||||
|
|
||||||
expected = {'x-object-meta-test': 'value',
|
expected = {'x-object-meta-test': 'value',
|
||||||
|
@ -951,7 +913,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
for i in six.moves.xrange(segments):
|
for i in six.moves.xrange(segments):
|
||||||
resp, _ = self.object_client.create_object_segments(
|
resp, _ = self.object_client.create_object_segments(
|
||||||
self.container_name, object_name, i, data_segments[i])
|
self.container_name, object_name, i, data_segments[i])
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
# creating a manifest file
|
# creating a manifest file
|
||||||
metadata = {'X-Object-Manifest': '%s/%s/'
|
metadata = {'X-Object-Manifest': '%s/%s/'
|
||||||
% (self.container_name, object_name)}
|
% (self.container_name, object_name)}
|
||||||
|
@ -1012,7 +973,6 @@ class ObjectTest(base.BaseObjectTest):
|
||||||
md5 = hashlib.md5(local_data).hexdigest()
|
md5 = hashlib.md5(local_data).hexdigest()
|
||||||
headers = {'If-None-Match': md5}
|
headers = {'If-None-Match': md5}
|
||||||
resp, body = self.object_client.get(url, headers=headers)
|
resp, body = self.object_client.get(url, headers=headers)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'GET')
|
self.assertHeaders(resp, 'Object', 'GET')
|
||||||
|
|
||||||
|
|
||||||
|
@ -1035,7 +995,6 @@ class PublicObjectTest(base.BaseObjectTest):
|
||||||
cont_headers = {'X-Container-Read': '.r:*,.rlistings'}
|
cont_headers = {'X-Container-Read': '.r:*,.rlistings'}
|
||||||
resp_meta, body = self.container_client.update_container_metadata(
|
resp_meta, body = self.container_client.update_container_metadata(
|
||||||
self.container_name, metadata=cont_headers, metadata_prefix='')
|
self.container_name, metadata=cont_headers, metadata_prefix='')
|
||||||
self.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp_meta, 'Container', 'POST')
|
self.assertHeaders(resp_meta, 'Container', 'POST')
|
||||||
|
|
||||||
# create object
|
# create object
|
||||||
|
@ -1044,13 +1003,11 @@ class PublicObjectTest(base.BaseObjectTest):
|
||||||
base_text=object_name)
|
base_text=object_name)
|
||||||
resp, _ = self.object_client.create_object(self.container_name,
|
resp, _ = self.object_client.create_object(self.container_name,
|
||||||
object_name, data)
|
object_name, data)
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
||||||
# list container metadata
|
# list container metadata
|
||||||
resp_meta, _ = self.container_client.list_container_metadata(
|
resp_meta, _ = self.container_client.list_container_metadata(
|
||||||
self.container_name)
|
self.container_name)
|
||||||
self.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp_meta, 'Container', 'HEAD')
|
self.assertHeaders(resp_meta, 'Container', 'HEAD')
|
||||||
|
|
||||||
self.assertIn('x-container-read', resp_meta)
|
self.assertIn('x-container-read', resp_meta)
|
||||||
|
@ -1075,7 +1032,6 @@ class PublicObjectTest(base.BaseObjectTest):
|
||||||
resp_meta, body = self.container_client.update_container_metadata(
|
resp_meta, body = self.container_client.update_container_metadata(
|
||||||
self.container_name, metadata=cont_headers,
|
self.container_name, metadata=cont_headers,
|
||||||
metadata_prefix='')
|
metadata_prefix='')
|
||||||
self.assertIn(int(resp_meta['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp_meta, 'Container', 'POST')
|
self.assertHeaders(resp_meta, 'Container', 'POST')
|
||||||
|
|
||||||
# create object
|
# create object
|
||||||
|
@ -1084,13 +1040,11 @@ class PublicObjectTest(base.BaseObjectTest):
|
||||||
base_text=object_name)
|
base_text=object_name)
|
||||||
resp, _ = self.object_client.create_object(self.container_name,
|
resp, _ = self.object_client.create_object(self.container_name,
|
||||||
object_name, data)
|
object_name, data)
|
||||||
self.assertEqual(resp['status'], '201')
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
||||||
# list container metadata
|
# list container metadata
|
||||||
resp, _ = self.container_client.list_container_metadata(
|
resp, _ = self.container_client.list_container_metadata(
|
||||||
self.container_name)
|
self.container_name)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Container', 'HEAD')
|
self.assertHeaders(resp, 'Container', 'HEAD')
|
||||||
|
|
||||||
self.assertIn('x-container-read', resp)
|
self.assertIn('x-container-read', resp)
|
||||||
|
|
|
@ -120,7 +120,6 @@ class ObjectSloTest(base.BaseObjectTest):
|
||||||
manifest,
|
manifest,
|
||||||
params)
|
params)
|
||||||
|
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self._assertHeadersSLO(resp, 'PUT')
|
self._assertHeadersSLO(resp, 'PUT')
|
||||||
|
|
||||||
@test.attr(type='gate')
|
@test.attr(type='gate')
|
||||||
|
@ -132,7 +131,6 @@ class ObjectSloTest(base.BaseObjectTest):
|
||||||
self.container_name,
|
self.container_name,
|
||||||
object_name)
|
object_name)
|
||||||
|
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self._assertHeadersSLO(resp, 'HEAD')
|
self._assertHeadersSLO(resp, 'HEAD')
|
||||||
|
|
||||||
@test.attr(type='gate')
|
@test.attr(type='gate')
|
||||||
|
@ -144,7 +142,6 @@ class ObjectSloTest(base.BaseObjectTest):
|
||||||
self.container_name,
|
self.container_name,
|
||||||
object_name)
|
object_name)
|
||||||
|
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self._assertHeadersSLO(resp, 'GET')
|
self._assertHeadersSLO(resp, 'GET')
|
||||||
|
|
||||||
sum_data = self.content + self.content
|
sum_data = self.content + self.content
|
||||||
|
@ -161,8 +158,6 @@ class ObjectSloTest(base.BaseObjectTest):
|
||||||
object_name,
|
object_name,
|
||||||
params=params_del)
|
params=params_del)
|
||||||
|
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
|
|
||||||
# When deleting SLO using multipart manifest, the response contains
|
# When deleting SLO using multipart manifest, the response contains
|
||||||
# not 'content-length' but 'transfer-encoding' header. This is the
|
# not 'content-length' but 'transfer-encoding' header. This is the
|
||||||
# special case, therefore the existence of response headers is checked
|
# special case, therefore the existence of response headers is checked
|
||||||
|
|
|
@ -105,13 +105,11 @@ class ObjectTempUrlTest(base.BaseObjectTest):
|
||||||
|
|
||||||
# trying to get object using temp url within expiry time
|
# trying to get object using temp url within expiry time
|
||||||
resp, body = self.object_client.get(url)
|
resp, body = self.object_client.get(url)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'GET')
|
self.assertHeaders(resp, 'Object', 'GET')
|
||||||
self.assertEqual(body, self.content)
|
self.assertEqual(body, self.content)
|
||||||
|
|
||||||
# Testing a HEAD on this Temp URL
|
# Testing a HEAD on this Temp URL
|
||||||
resp, body = self.object_client.head(url)
|
resp, body = self.object_client.head(url)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'HEAD')
|
self.assertHeaders(resp, 'Object', 'HEAD')
|
||||||
|
|
||||||
@test.attr(type='gate')
|
@test.attr(type='gate')
|
||||||
|
@ -136,7 +134,6 @@ class ObjectTempUrlTest(base.BaseObjectTest):
|
||||||
self.object_name, "GET",
|
self.object_name, "GET",
|
||||||
expires, key2)
|
expires, key2)
|
||||||
resp, body = self.object_client.get(url)
|
resp, body = self.object_client.get(url)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertEqual(body, self.content)
|
self.assertEqual(body, self.content)
|
||||||
|
|
||||||
@test.attr(type='gate')
|
@test.attr(type='gate')
|
||||||
|
@ -153,12 +150,10 @@ class ObjectTempUrlTest(base.BaseObjectTest):
|
||||||
|
|
||||||
# trying to put random data in the object using temp url
|
# trying to put random data in the object using temp url
|
||||||
resp, body = self.object_client.put(url, new_data, None)
|
resp, body = self.object_client.put(url, new_data, None)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'PUT')
|
self.assertHeaders(resp, 'Object', 'PUT')
|
||||||
|
|
||||||
# Testing a HEAD on this Temp URL
|
# Testing a HEAD on this Temp URL
|
||||||
resp, body = self.object_client.head(url)
|
resp, body = self.object_client.head(url)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'HEAD')
|
self.assertHeaders(resp, 'Object', 'HEAD')
|
||||||
|
|
||||||
# Validate that the content of the object has been modified
|
# 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
|
# Testing a HEAD on this Temp URL
|
||||||
resp, body = self.object_client.head(url)
|
resp, body = self.object_client.head(url)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'HEAD')
|
self.assertHeaders(resp, 'Object', 'HEAD')
|
||||||
|
|
||||||
@test.attr(type='gate')
|
@test.attr(type='gate')
|
||||||
|
@ -196,7 +190,6 @@ class ObjectTempUrlTest(base.BaseObjectTest):
|
||||||
|
|
||||||
# trying to get object using temp url within expiry time
|
# trying to get object using temp url within expiry time
|
||||||
resp, body = self.object_client.get(url)
|
resp, body = self.object_client.get(url)
|
||||||
self.assertIn(int(resp['status']), test.HTTP_SUCCESS)
|
|
||||||
self.assertHeaders(resp, 'Object', 'GET')
|
self.assertHeaders(resp, 'Object', 'GET')
|
||||||
self.assertEqual(body, self.content)
|
self.assertEqual(body, self.content)
|
||||||
self.assertEqual(resp['content-disposition'], 'inline')
|
self.assertEqual(resp['content-disposition'], 'inline')
|
||||||
|
|
|
@ -36,7 +36,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
|
|
||||||
def assertContainer(self, container, count, byte, versioned):
|
def assertContainer(self, container, count, byte, versioned):
|
||||||
resp, _ = self.container_client.list_container_metadata(container)
|
resp, _ = self.container_client.list_container_metadata(container)
|
||||||
self.assertEqual(resp['status'], ('204'))
|
|
||||||
self.assertHeaders(resp, 'Container', 'HEAD')
|
self.assertHeaders(resp, 'Container', 'HEAD')
|
||||||
header_value = resp.get('x-container-object-count', 'Missing Header')
|
header_value = resp.get('x-container-object-count', 'Missing Header')
|
||||||
self.assertEqual(header_value, count)
|
self.assertEqual(header_value, count)
|
||||||
|
@ -55,7 +54,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
resp, body = self.container_client.create_container(
|
resp, body = self.container_client.create_container(
|
||||||
vers_container_name)
|
vers_container_name)
|
||||||
self.containers.append(vers_container_name)
|
self.containers.append(vers_container_name)
|
||||||
self.assertIn(resp['status'], ('202', '201'))
|
|
||||||
self.assertHeaders(resp, 'Container', 'PUT')
|
self.assertHeaders(resp, 'Container', 'PUT')
|
||||||
self.assertContainer(vers_container_name, '0', '0', 'Missing Header')
|
self.assertContainer(vers_container_name, '0', '0', 'Missing Header')
|
||||||
|
|
||||||
|
@ -66,7 +64,6 @@ class ContainerTest(base.BaseObjectTest):
|
||||||
metadata=headers,
|
metadata=headers,
|
||||||
metadata_prefix='')
|
metadata_prefix='')
|
||||||
self.containers.append(base_container_name)
|
self.containers.append(base_container_name)
|
||||||
self.assertIn(resp['status'], ('202', '201'))
|
|
||||||
self.assertHeaders(resp, 'Container', 'PUT')
|
self.assertHeaders(resp, 'Container', 'PUT')
|
||||||
self.assertContainer(base_container_name, '0', '0',
|
self.assertContainer(base_container_name, '0', '0',
|
||||||
vers_container_name)
|
vers_container_name)
|
||||||
|
|
|
@ -52,6 +52,7 @@ class AccountClient(rest_client.RestClient):
|
||||||
headers[remove_metadata_prefix + key] = remove_metadata[key]
|
headers[remove_metadata_prefix + key] = remove_metadata[key]
|
||||||
|
|
||||||
resp, body = self.put(url, data, headers)
|
resp, body = self.put(url, data, headers)
|
||||||
|
self.expected_success(200, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def delete_account(self, data=None, params=None):
|
def delete_account(self, data=None, params=None):
|
||||||
|
@ -61,6 +62,7 @@ class AccountClient(rest_client.RestClient):
|
||||||
url = '?%s%s' % (url, urllib.urlencode(params))
|
url = '?%s%s' % (url, urllib.urlencode(params))
|
||||||
|
|
||||||
resp, body = self.delete(url, headers={}, body=data)
|
resp, body = self.delete(url, headers={}, body=data)
|
||||||
|
self.expected_success(200, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def list_account_metadata(self):
|
def list_account_metadata(self):
|
||||||
|
@ -69,6 +71,7 @@ class AccountClient(rest_client.RestClient):
|
||||||
Returns all account metadata headers
|
Returns all account metadata headers
|
||||||
"""
|
"""
|
||||||
resp, body = self.head('')
|
resp, body = self.head('')
|
||||||
|
self.expected_success(204, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def create_account_metadata(self, metadata,
|
def create_account_metadata(self, metadata,
|
||||||
|
@ -85,6 +88,7 @@ class AccountClient(rest_client.RestClient):
|
||||||
url = '?%s%s' % (url, urllib.urlencode(params))
|
url = '?%s%s' % (url, urllib.urlencode(params))
|
||||||
|
|
||||||
resp, body = self.post(url, headers=headers, body=data)
|
resp, body = self.post(url, headers=headers, body=data)
|
||||||
|
self.expected_success([200, 204], resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def delete_account_metadata(self, metadata,
|
def delete_account_metadata(self, metadata,
|
||||||
|
@ -97,6 +101,7 @@ class AccountClient(rest_client.RestClient):
|
||||||
for item in metadata:
|
for item in metadata:
|
||||||
headers[metadata_prefix + item] = metadata[item]
|
headers[metadata_prefix + item] = metadata[item]
|
||||||
resp, body = self.post('', headers=headers, body=None)
|
resp, body = self.post('', headers=headers, body=None)
|
||||||
|
self.expected_success(204, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def create_and_delete_account_metadata(
|
def create_and_delete_account_metadata(
|
||||||
|
@ -115,6 +120,7 @@ class AccountClient(rest_client.RestClient):
|
||||||
headers[delete_metadata_prefix + key] = delete_metadata[key]
|
headers[delete_metadata_prefix + key] = delete_metadata[key]
|
||||||
|
|
||||||
resp, body = self.post('', headers=headers, body=None)
|
resp, body = self.post('', headers=headers, body=None)
|
||||||
|
self.expected_success(204, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def list_account_containers(self, params=None):
|
def list_account_containers(self, params=None):
|
||||||
|
@ -147,6 +153,7 @@ class AccountClient(rest_client.RestClient):
|
||||||
body = etree.fromstring(body)
|
body = etree.fromstring(body)
|
||||||
else:
|
else:
|
||||||
body = body.strip().splitlines()
|
body = body.strip().splitlines()
|
||||||
|
self.expected_success([200, 204], resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def list_extensions(self):
|
def list_extensions(self):
|
||||||
|
@ -156,6 +163,7 @@ class AccountClient(rest_client.RestClient):
|
||||||
finally:
|
finally:
|
||||||
self.reset_path()
|
self.reset_path()
|
||||||
body = json.loads(body)
|
body = json.loads(body)
|
||||||
|
self.expected_success(200, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
|
|
||||||
|
@ -230,4 +238,5 @@ class AccountClientCustomizedHeader(rest_client.RestClient):
|
||||||
headers[str(key)] = metadata[key]
|
headers[str(key)] = metadata[key]
|
||||||
|
|
||||||
resp, body = self.get(url, headers=headers)
|
resp, body = self.get(url, headers=headers)
|
||||||
|
self.expected_success(200, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
|
@ -53,12 +53,14 @@ class ContainerClient(rest_client.RestClient):
|
||||||
headers[remove_metadata_prefix + key] = remove_metadata[key]
|
headers[remove_metadata_prefix + key] = remove_metadata[key]
|
||||||
|
|
||||||
resp, body = self.put(url, body=None, headers=headers)
|
resp, body = self.put(url, body=None, headers=headers)
|
||||||
|
self.expected_success([201, 202], resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def delete_container(self, container_name):
|
def delete_container(self, container_name):
|
||||||
"""Deletes the container (if it's empty)."""
|
"""Deletes the container (if it's empty)."""
|
||||||
url = str(container_name)
|
url = str(container_name)
|
||||||
resp, body = self.delete(url)
|
resp, body = self.delete(url)
|
||||||
|
self.expected_success(204, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def update_container_metadata(
|
def update_container_metadata(
|
||||||
|
@ -79,6 +81,7 @@ class ContainerClient(rest_client.RestClient):
|
||||||
headers[remove_metadata_prefix + key] = remove_metadata[key]
|
headers[remove_metadata_prefix + key] = remove_metadata[key]
|
||||||
|
|
||||||
resp, body = self.post(url, body=None, headers=headers)
|
resp, body = self.post(url, body=None, headers=headers)
|
||||||
|
self.expected_success(204, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def delete_container_metadata(self, container_name, metadata,
|
def delete_container_metadata(self, container_name, metadata,
|
||||||
|
@ -92,6 +95,7 @@ class ContainerClient(rest_client.RestClient):
|
||||||
headers[metadata_prefix + item] = metadata[item]
|
headers[metadata_prefix + item] = metadata[item]
|
||||||
|
|
||||||
resp, body = self.post(url, body=None, headers=headers)
|
resp, body = self.post(url, body=None, headers=headers)
|
||||||
|
self.expected_success(204, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def list_container_metadata(self, container_name):
|
def list_container_metadata(self, container_name):
|
||||||
|
@ -100,6 +104,7 @@ class ContainerClient(rest_client.RestClient):
|
||||||
"""
|
"""
|
||||||
url = str(container_name)
|
url = str(container_name)
|
||||||
resp, body = self.head(url)
|
resp, body = self.head(url)
|
||||||
|
self.expected_success(204, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def list_all_container_objects(self, container, params=None):
|
def list_all_container_objects(self, container, params=None):
|
||||||
|
@ -121,6 +126,7 @@ class ContainerClient(rest_client.RestClient):
|
||||||
resp, objlist = self.list_container_contents(
|
resp, objlist = self.list_container_contents(
|
||||||
container,
|
container,
|
||||||
params={'limit': limit, 'format': 'json'})
|
params={'limit': limit, 'format': 'json'})
|
||||||
|
self.expected_success(200, resp.status)
|
||||||
return objlist
|
return objlist
|
||||||
"""tmp = []
|
"""tmp = []
|
||||||
for obj in objlist:
|
for obj in objlist:
|
||||||
|
@ -186,4 +192,5 @@ class ContainerClient(rest_client.RestClient):
|
||||||
body = json.loads(body)
|
body = json.loads(body)
|
||||||
elif params and params.get('format') == 'xml':
|
elif params and params.get('format') == 'xml':
|
||||||
body = etree.fromstring(body)
|
body = etree.fromstring(body)
|
||||||
|
self.expected_success([200, 204], resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
|
@ -46,11 +46,14 @@ class ObjectClient(rest_client.RestClient):
|
||||||
url += '?%s' % urllib.urlencode(params)
|
url += '?%s' % urllib.urlencode(params)
|
||||||
|
|
||||||
resp, body = self.put(url, data, headers)
|
resp, body = self.put(url, data, headers)
|
||||||
|
self.expected_success(201, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def update_object(self, container, object_name, data):
|
def update_object(self, container, object_name, data):
|
||||||
"""Upload data to replace current storage object."""
|
"""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):
|
def delete_object(self, container, object_name, params=None):
|
||||||
"""Delete storage object."""
|
"""Delete storage object."""
|
||||||
|
@ -58,6 +61,7 @@ class ObjectClient(rest_client.RestClient):
|
||||||
if params:
|
if params:
|
||||||
url += '?%s' % urllib.urlencode(params)
|
url += '?%s' % urllib.urlencode(params)
|
||||||
resp, body = self.delete(url, headers={})
|
resp, body = self.delete(url, headers={})
|
||||||
|
self.expected_success([200, 204], resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def update_object_metadata(self, container, object_name, metadata,
|
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))
|
url = "%s/%s" % (str(container), str(object_name))
|
||||||
resp, body = self.post(url, None, headers=headers)
|
resp, body = self.post(url, None, headers=headers)
|
||||||
|
self.expected_success(202, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def list_object_metadata(self, container, object_name):
|
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))
|
url = "%s/%s" % (str(container), str(object_name))
|
||||||
resp, body = self.head(url)
|
resp, body = self.head(url)
|
||||||
|
self.expected_success(200, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def get_object(self, container, object_name, metadata=None):
|
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)
|
url = "{0}/{1}".format(container, object_name)
|
||||||
resp, body = self.get(url, headers=headers)
|
resp, body = self.get(url, headers=headers)
|
||||||
|
self.expected_success([200, 206], resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def copy_object_in_same_container(self, container, src_object_name,
|
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]
|
headers[str(key)] = metadata[key]
|
||||||
|
|
||||||
resp, body = self.put(url, None, headers=headers)
|
resp, body = self.put(url, None, headers=headers)
|
||||||
|
self.expected_success(201, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def copy_object_across_containers(self, src_container, src_object_name,
|
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]
|
headers[str(key)] = metadata[key]
|
||||||
|
|
||||||
resp, body = self.put(url, None, headers=headers)
|
resp, body = self.put(url, None, headers=headers)
|
||||||
|
self.expected_success(201, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def copy_object_2d_way(self, container, src_object_name, dest_object_name,
|
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]
|
headers[str(key)] = metadata[key]
|
||||||
|
|
||||||
resp, body = self.copy(url, headers=headers)
|
resp, body = self.copy(url, headers=headers)
|
||||||
|
self.expected_success(201, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def create_object_segments(self, container, object_name, segment, data):
|
def create_object_segments(self, container, object_name, segment, data):
|
||||||
"""Creates object segments."""
|
"""Creates object segments."""
|
||||||
url = "{0}/{1}/{2}".format(container, object_name, segment)
|
url = "{0}/{1}/{2}".format(container, object_name, segment)
|
||||||
resp, body = self.put(url, data)
|
resp, body = self.put(url, data)
|
||||||
|
self.expected_success(201, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def put_object_with_chunk(self, container, name, contents, chunk_size):
|
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
|
resp_headers[header.lower()] = value
|
||||||
|
|
||||||
self._error_checker('PUT', None, headers, contents, resp, body)
|
self._error_checker('PUT', None, headers, contents, resp, body)
|
||||||
|
self.expected_success(201, resp.status)
|
||||||
return resp.status, resp.reason, resp_headers
|
return resp.status, resp.reason, resp_headers
|
||||||
|
|
||||||
|
|
||||||
|
@ -220,6 +231,7 @@ class ObjectClientCustomizedHeader(rest_client.RestClient):
|
||||||
|
|
||||||
url = "{0}/{1}".format(container, object_name)
|
url = "{0}/{1}".format(container, object_name)
|
||||||
resp, body = self.get(url, headers=headers)
|
resp, body = self.get(url, headers=headers)
|
||||||
|
self.expected_success(200, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def create_object(self, container, object_name, data, metadata=None):
|
def create_object(self, container, object_name, data, metadata=None):
|
||||||
|
@ -234,6 +246,7 @@ class ObjectClientCustomizedHeader(rest_client.RestClient):
|
||||||
headers['content-length'] = '0'
|
headers['content-length'] = '0'
|
||||||
url = "%s/%s" % (str(container), str(object_name))
|
url = "%s/%s" % (str(container), str(object_name))
|
||||||
resp, body = self.put(url, data, headers=headers)
|
resp, body = self.put(url, data, headers=headers)
|
||||||
|
self.expected_success(201, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def delete_object(self, container, object_name, metadata=None):
|
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))
|
url = "%s/%s" % (str(container), str(object_name))
|
||||||
resp, body = self.delete(url, headers=headers)
|
resp, body = self.delete(url, headers=headers)
|
||||||
|
self.expected_success(200, resp.status)
|
||||||
return resp, body
|
return resp, body
|
||||||
|
|
||||||
def create_object_continue(self, container, object_name,
|
def create_object_continue(self, container, object_name,
|
||||||
|
|
Loading…
Reference in New Issue