public void testDeleteMultipleObjects() throws InterruptedException { String container = getContainerName(); try { ImmutableSet.Builder<String> builder = ImmutableSet.builder(); for (int i = 0; i < 5; i++) { String key = UUID.randomUUID().toString(); Blob blob = view.getBlobStore().blobBuilder(key).payload("").build(); view.getBlobStore().putBlob(container, blob); builder.add(key); } Set<String> keys = builder.build(); DeleteResult result = getApi().deleteObjects(container, keys); assertTrue(result.getDeleted().containsAll(keys)); assertEquals(result.getErrors().size(), 0); for (String key : keys) { assertConsistencyAwareBlobDoesntExist(container, key); } } finally { returnContainer(container); } }
try { String key = "constitution.txt"; String uploadId = getApi().initiateMultipartUpload(containerName, ObjectMetadataBuilder.create().key(key).contentMD5(oneHundredOneConstitutionsMD5).build()); byte[] buffer = toByteArray(oneHundredOneConstitutions); eTagOf1 = getApi().uploadPart(containerName, key, 1, uploadId, part1); } catch (KeyNotFoundException e) { eTagOf1 = getApi().uploadPart(containerName, key, 1, uploadId, part1); String eTag = getApi().completeMultipartUpload(containerName, key, uploadId, ImmutableMap.of(1, eTagOf1)); object = getApi().getObject(containerName, key); assertEquals(toByteArray(object.getPayload()), buffer); assertEquals(getApi().headObject(containerName, key).getContentMetadata().getContentMD5(), null);
public void testPutWithStorageClass() throws Exception { String containerName = getContainerName(); AWSS3Client s3Client = getApi(); try { for (StorageClass storageClass : StorageClass.values()) { if (storageClass == StorageClass.GLACIER) { // AWS does not allow creation of Glacier objects continue; } String blobName = "test-" + storageClass; BlobStore blobStore = view.getBlobStore(); blobStore.createContainerInLocation(null, containerName); S3Object object = s3Client.newS3Object(); object.getMetadata().setKey(blobName); object.setPayload("something"); s3Client.putObject(containerName, object, storageClass(storageClass)); ListBucketResponse response = s3Client.listBucket(containerName, withPrefix(blobName)); ObjectMetadata metadata = response.iterator().next(); assertThat(metadata.getStorageClass()).isEqualTo(storageClass); } } finally { returnContainer(containerName); } }