diff --git a/s3tests/functional/test_s3.py b/s3tests/functional/test_s3.py index 0040e43..31002d0 100644 --- a/s3tests/functional/test_s3.py +++ b/s3tests/functional/test_s3.py @@ -5671,6 +5671,27 @@ def test_atomic_write_bucket_gone(): eq(e.reason, 'Not Found') eq(e.error_code, 'NoSuchBucket') +@attr(resource='object') +@attr(method='put') +@attr(operation='begin to overwrite file with multipart upload then abort') +@attr(assertion='read back original key contents') +def test_atomic_multipart_upload_write(): + bucket = get_new_bucket() + key = bucket.new_key('foo') + key.set_contents_from_string('bar') + + upload = bucket.initiate_multipart_upload(key) + + key = bucket.get_key('foo') + got = key.get_contents_as_string() + eq(got, 'bar') + + upload.cancel_upload() + + key = bucket.get_key('foo') + got = key.get_contents_as_string() + eq(got, 'bar') + @attr(resource='object') @attr(method='get') @attr(operation='range')