Merge pull request #53 from andrewgaul/mpu-invalid-parts

Add multipart tests with invalid parts

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
This commit is contained in:
Yehuda Sadeh 2015-08-13 10:28:45 -07:00
commit 88fe0d05f4

View file

@ -4829,6 +4829,36 @@ def test_list_multipart_upload():
upload2.cancel_upload() upload2.cancel_upload()
upload3.cancel_upload() upload3.cancel_upload()
@attr(resource='object')
@attr(method='put')
@attr(operation='multi-part upload with missing part')
def test_multipart_upload_missing_part():
bucket = get_new_bucket()
key_name = "mymultipart"
mp = bucket.initiate_multipart_upload(key_name)
mp.upload_part_from_file(StringIO('\x00'), 1)
xml = mp.to_xml()
xml = xml.replace('<PartNumber>1</PartNumber>', '<PartNumber>9999</PartNumber>')
e = assert_raises(boto.exception.S3ResponseError, bucket.complete_multipart_upload, key_name, mp.id, xml)
eq(e.status, 400)
eq(e.reason, 'Bad Request')
eq(e.error_code, 'InvalidPart')
@attr(resource='object')
@attr(method='put')
@attr(operation='multi-part upload with incorrect ETag')
def test_multipart_upload_incorrect_etag():
bucket = get_new_bucket()
key_name = "mymultipart"
mp = bucket.initiate_multipart_upload(key_name)
mp.upload_part_from_file(StringIO('\x00'), 1)
xml = mp.to_xml()
xml = xml.replace('<ETag>"93b885adfe0da089cdf634904fd59f71"</ETag>', '<ETag>"ffffffffffffffffffffffffffffffff"</ETag>')
e = assert_raises(boto.exception.S3ResponseError, bucket.complete_multipart_upload, key_name, mp.id, xml)
eq(e.status, 400)
eq(e.reason, 'Bad Request')
eq(e.error_code, 'InvalidPart')
def _simple_http_req_100_cont(host, port, is_secure, method, resource): def _simple_http_req_100_cont(host, port, is_secure, method, resource):
""" """
Send the specified request w/expect 100-continue Send the specified request w/expect 100-continue