s3api: add unit test case for s3acl
To clarify the corner case when Swift is over-loaded, or user-errors. Change-Id: I41867290a63b329781dc7030f9f3ce0118e2032b
This commit is contained in:
parent
672a555816
commit
072b404513
@ -619,6 +619,9 @@ class TestS3ApiBucket(S3ApiTestCase):
|
|||||||
self.assertEqual(code, 'BucketAlreadyExists')
|
self.assertEqual(code, 'BucketAlreadyExists')
|
||||||
code = self._test_method_error('PUT', '/bucket', swob.HTTPServerError)
|
code = self._test_method_error('PUT', '/bucket', swob.HTTPServerError)
|
||||||
self.assertEqual(code, 'InternalError')
|
self.assertEqual(code, 'InternalError')
|
||||||
|
code = self._test_method_error(
|
||||||
|
'PUT', '/bucket', swob.HTTPServiceUnavailable)
|
||||||
|
self.assertEqual(code, 'InternalError')
|
||||||
code = self._test_method_error(
|
code = self._test_method_error(
|
||||||
'PUT', '/bucket+bucket', swob.HTTPCreated)
|
'PUT', '/bucket+bucket', swob.HTTPCreated)
|
||||||
self.assertEqual(code, 'InvalidBucketName')
|
self.assertEqual(code, 'InvalidBucketName')
|
||||||
@ -646,6 +649,36 @@ class TestS3ApiBucket(S3ApiTestCase):
|
|||||||
env={'swift_owner': False})
|
env={'swift_owner': False})
|
||||||
self.assertEqual(code, 'AccessDenied')
|
self.assertEqual(code, 'AccessDenied')
|
||||||
|
|
||||||
|
@s3acl
|
||||||
|
def test_bucket_PUT_bucket_already_owned_by_you(self):
|
||||||
|
self.swift.register(
|
||||||
|
'PUT', '/v1/AUTH_test/bucket', swob.HTTPAccepted,
|
||||||
|
{'X-Container-Object-Count': 0}, None)
|
||||||
|
req = Request.blank('/bucket',
|
||||||
|
environ={'REQUEST_METHOD': 'PUT'},
|
||||||
|
headers={'Authorization': 'AWS test:tester:hmac',
|
||||||
|
'Date': self.get_date_header()})
|
||||||
|
status, headers, body = self.call_s3api(req)
|
||||||
|
self.assertEqual(status, '409 Conflict')
|
||||||
|
self.assertIn(b'BucketAlreadyOwnedByYou', body)
|
||||||
|
|
||||||
|
@s3acl
|
||||||
|
def test_bucket_PUT_first_put_fail(self):
|
||||||
|
self.swift.register(
|
||||||
|
'PUT', '/v1/AUTH_test/bucket',
|
||||||
|
swob.HTTPServiceUnavailable,
|
||||||
|
{'X-Container-Object-Count': 0}, None)
|
||||||
|
req = Request.blank('/bucket',
|
||||||
|
environ={'REQUEST_METHOD': 'PUT'},
|
||||||
|
headers={'Authorization': 'AWS test:tester:hmac',
|
||||||
|
'Date': self.get_date_header()})
|
||||||
|
status, headers, body = self.call_s3api(req)
|
||||||
|
self.assertEqual(status, '500 Internal Server Error')
|
||||||
|
# The last call was PUT not POST for acl set
|
||||||
|
self.assertEqual(self.swift.calls, [
|
||||||
|
('PUT', '/v1/AUTH_test/bucket'),
|
||||||
|
])
|
||||||
|
|
||||||
@s3acl
|
@s3acl
|
||||||
def test_bucket_PUT(self):
|
def test_bucket_PUT(self):
|
||||||
req = Request.blank('/bucket',
|
req = Request.blank('/bucket',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user