mirror of
https://github.com/ceph/s3-tests.git
synced 2024-11-21 23:29:47 +00:00
s3tests: add regression test for bug #10311 - rgw: Object is deleted automatically if conditional PUT returns 412
Test for bug #10311 Signed-off-by: Ray Lv <raylv@yahoo-inc.com>
This commit is contained in:
parent
c6043faa30
commit
085277338f
1 changed files with 12 additions and 0 deletions
|
@ -2086,6 +2086,9 @@ def test_put_object_ifmatch_failed():
|
|||
eq(e.reason, 'Precondition Failed')
|
||||
eq(e.error_code, 'PreconditionFailed')
|
||||
|
||||
got_old_data = key.get_contents_as_string()
|
||||
eq(got_old_data, 'bar')
|
||||
|
||||
|
||||
@attr(resource='object')
|
||||
@attr(method='put')
|
||||
|
@ -2117,6 +2120,10 @@ def test_put_object_ifmatch_nonexisted_failed():
|
|||
eq(e.reason, 'Precondition Failed')
|
||||
eq(e.error_code, 'PreconditionFailed')
|
||||
|
||||
e = assert_raises(boto.exception.S3ResponseError, key.get_contents_as_string)
|
||||
eq(e.status, 404)
|
||||
eq(e.reason, 'Not Found')
|
||||
eq(e.error_code, 'NoSuchKey')
|
||||
|
||||
@attr(resource='object')
|
||||
@attr(method='put')
|
||||
|
@ -2153,6 +2160,8 @@ def test_put_object_ifnonmatch_failed():
|
|||
eq(e.reason, 'Precondition Failed')
|
||||
eq(e.error_code, 'PreconditionFailed')
|
||||
|
||||
got_old_data = key.get_contents_as_string()
|
||||
eq(got_old_data, 'bar')
|
||||
|
||||
@attr(resource='object')
|
||||
@attr(method='put')
|
||||
|
@ -2185,6 +2194,9 @@ def test_put_object_ifnonmatch_overwrite_existed_failed():
|
|||
eq(e.reason, 'Precondition Failed')
|
||||
eq(e.error_code, 'PreconditionFailed')
|
||||
|
||||
got_old_data = key.get_contents_as_string()
|
||||
eq(got_old_data, 'bar')
|
||||
|
||||
|
||||
def _setup_request(bucket_acl=None, object_acl=None):
|
||||
"""
|
||||
|
|
Loading…
Reference in a new issue