diff --git a/s3tests/functional/test_s3.py b/s3tests/functional/test_s3.py index d243d2a..0d7eff3 100644 --- a/s3tests/functional/test_s3.py +++ b/s3tests/functional/test_s3.py @@ -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): """