25 lines
800 B
Python
25 lines
800 B
Python
from botocore.exceptions import ClientError
|
|
from moto import mock_s3
|
|
import boto3
|
|
import pytest
|
|
import sure # noqa
|
|
|
|
|
|
@mock_s3
|
|
def test_multipart_should_throw_nosuchupload_if_there_are_no_parts():
|
|
bucket = boto3.resource("s3").Bucket("randombucketname")
|
|
bucket.create()
|
|
s3_object = bucket.Object("my/test2")
|
|
|
|
multipart_upload = s3_object.initiate_multipart_upload()
|
|
multipart_upload.abort()
|
|
|
|
with pytest.raises(ClientError) as ex:
|
|
list(multipart_upload.parts.all())
|
|
err = ex.value.response["Error"]
|
|
err["Code"].should.equal("NoSuchUpload")
|
|
err["Message"].should.equal(
|
|
"The specified upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed."
|
|
)
|
|
err["UploadId"].should.equal(multipart_upload.id)
|