From 222fb84f5c89cfec0cfa1d5743accb11294c2257 Mon Sep 17 00:00:00 2001 From: Andrew Gaul Date: Wed, 6 Feb 2019 17:11:57 -0800 Subject: [PATCH] Add test for aborting a single part MPU Also tighten up checks to ensure there is no litter, mostly for transient and filesystem blobstores. --- .../internal/BaseBlobIntegrationTest.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java index f250a60477..ef5bd7fc99 100644 --- a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java +++ b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java @@ -1290,6 +1290,33 @@ public class BaseBlobIntegrationTest extends BaseBlobStoreIntegrationTest { blobStore.abortMultipartUpload(mpu); + assertThat(blobStore.list(container)).isEmpty(); + + blob = blobStore.getBlob(container, name); + assertThat(blob).isNull(); + } finally { + returnContainer(container); + } + } + + @Test(groups = { "integration", "live" }) + public void testMultipartUploadOnePartAbort() throws Exception { + BlobStore blobStore = view.getBlobStore(); + String container = getContainerName(); + try { + String name = "blob-name"; + Blob blob = blobStore.blobBuilder(name).build(); + MultipartUpload mpu = blobStore.initiateMultipartUpload(container, blob.getMetadata(), new PutOptions()); + + ByteSource byteSource = TestUtils.randomByteSource().slice(0, 1); + Payload payload = Payloads.newByteSourcePayload(byteSource); + payload.getContentMetadata().setContentLength(byteSource.size()); + MultipartPart part = blobStore.uploadMultipartPart(mpu, 1, payload); + + blobStore.abortMultipartUpload(mpu); + + assertThat(blobStore.list(container)).isEmpty(); + blob = blobStore.getBlob(container, name); assertThat(blob).isNull(); } finally {