@Test(expectedExceptions = IllegalArgumentException.class) public void testNoKeyIsBad() { ObjectMetadata md = ObjectMetadataBuilder.create().build(); HttpRequest request = HttpRequest.builder().method("POST").endpoint("http://localhost").build(); BindObjectMetadataToRequest binder = injector.getInstance(BindObjectMetadataToRequest.class); binder.bindToRequest(request, md); }
builder.storageClass(ObjectMetadata.StorageClass.valueOf(currentOrNull(currentText))); } else if (qName.equals("Contents")) { contents.add(builder.build()); builder = new ObjectMetadataBuilder().bucket(bucketName); } else if (qName.equals("Name")) {
builder.storageClass(ObjectMetadata.StorageClass.valueOf(currentOrNull(currentText))); } else if (qName.equals("Contents")) { contents.add(builder.build()); builder = new ObjectMetadataBuilder().bucket(bucketName); } else if (qName.equals("Name")) {
@Test(expectedExceptions = IllegalArgumentException.class) public void testNoKeyIsBad() { ObjectMetadata md = ObjectMetadataBuilder.create().build(); HttpRequest request = HttpRequest.builder().method("POST").endpoint("http://localhost").build(); BindObjectMetadataToRequest binder = injector.getInstance(BindObjectMetadataToRequest.class); binder.bindToRequest(request, md); }
builder.storageClass(ObjectMetadata.StorageClass.valueOf(currentOrNull(currentText))); } else if (qName.equals("Contents")) { contents.add(builder.build()); builder = new ObjectMetadataBuilder().bucket(bucketName); } else if (qName.equals("Name")) {
builder.storageClass(ObjectMetadata.StorageClass.valueOf(currentOrNull(currentText))); } else if (qName.equals("Contents")) { contents.add(builder.build()); builder = new ObjectMetadataBuilder().bucket(bucketName); } else if (qName.equals("Name")) {
@Test public void testExtendedPropertiesBind() { ObjectMetadata md = ObjectMetadataBuilder.create().key("foo").cacheControl("no-cache").userMetadata( ImmutableMap.of("foo", "bar")).build(); HttpRequest request = HttpRequest.builder().method("POST").endpoint("http://localhost").build(); BindObjectMetadataToRequest binder = injector.getInstance(BindObjectMetadataToRequest.class); assertEquals(binder.bindToRequest(request, md), HttpRequest.builder().method("POST").endpoint("http://localhost").headers( ImmutableMultimap.of("Cache-Control", "no-cache", "x-amz-meta-foo", "bar", "Content-Type", "binary/octet-stream")).build()); }
@Test public void testPassWithMinimumDetailsAndPayload5GB() { ObjectMetadata md = ObjectMetadataBuilder.create().key("foo").build(); HttpRequest request = HttpRequest.builder().method("POST").endpoint("http://localhost").build(); BindObjectMetadataToRequest binder = injector.getInstance(BindObjectMetadataToRequest.class); assertEquals(binder.bindToRequest(request, md), HttpRequest.builder().method("POST") .endpoint("http://localhost").addHeader("Content-Type", "binary/octet-stream").build()); }
@Test public void testPassWithMinimumDetailsAndPayload5GB() { ObjectMetadata md = ObjectMetadataBuilder.create().key("foo").build(); HttpRequest request = HttpRequest.builder().method("POST").endpoint("http://localhost").build(); BindObjectMetadataToRequest binder = injector.getInstance(BindObjectMetadataToRequest.class); assertEquals(binder.bindToRequest(request, md), HttpRequest.builder().method("POST") .endpoint("http://localhost").addHeader("Content-Type", "binary/octet-stream").build()); }
@Test public void testExtendedPropertiesBind() { ObjectMetadata md = ObjectMetadataBuilder.create().key("foo").cacheControl("no-cache").userMetadata( ImmutableMap.of("foo", "bar")).build(); HttpRequest request = HttpRequest.builder().method("POST").endpoint("http://localhost").build(); BindObjectMetadataToRequest binder = injector.getInstance(BindObjectMetadataToRequest.class); assertEquals(binder.bindToRequest(request, md), HttpRequest.builder().method("POST").endpoint("http://localhost").headers( ImmutableMultimap.of("Cache-Control", "no-cache", "x-amz-meta-foo", "bar", "Content-Type", "binary/octet-stream")).build()); }
public void testListMultipartUploads() throws Exception { String containerName = getContainerName(); String key = "testListMultipartUploads"; String uploadId = null; try { ListMultipartUploadsResponse response = getApi().listMultipartUploads(containerName, null, null, null, null, null); assertThat(response.bucket()).isEqualTo(containerName); assertThat(response.isTruncated()).isFalse(); assertThat(response.uploads()).isEmpty(); uploadId = getApi().initiateMultipartUpload(containerName, ObjectMetadataBuilder.create().key(key).build()); response = getApi().listMultipartUploads(containerName, null, null, null, null, null); assertThat(response.bucket()).isEqualTo(containerName); assertThat(response.isTruncated()).isFalse(); assertThat(response.uploads()).hasSize(1); ListMultipartUploadsResponse.Upload upload = response.uploads().get(0); assertThat(upload.key()).isEqualTo(key); assertThat(upload.uploadId()).isEqualTo(uploadId); assertThat(upload.storageClass()).isEqualTo(ObjectMetadata.StorageClass.STANDARD); } finally { if (uploadId != null) { getApi().abortMultipartUpload(containerName, key, uploadId); } returnContainer(containerName); } }
int partCount = algorithm.getParts(); if (partCount > 0) { String uploadId = client.initiateMultipartUpload(container, ObjectMetadataBuilder.create().key(key).build()); try { SortedMap<Integer, String> etags = Maps.newTreeMap();
int partCount = algorithm.getParts(); if (partCount > 0) { String uploadId = client.initiateMultipartUpload(container, ObjectMetadataBuilder.create().key(key).build()); try { SortedMap<Integer, String> etags = Maps.newTreeMap();
.lastModified(dateService.iso8601DateParse("2009-05-07T18:27:08.000Z")).eTag( "\"c82e6a0025c31c5de5947fda62ac51ab\"").owner(owner).contentMD5( base16().lowerCase().decode("c82e6a0025c31c5de5947fda62ac51ab")).contentLength(8l).build(), new ObjectMetadataBuilder().key("apps/1").bucket(bucket).uri(URI.create("http://bucket.com/apps/1")) .lastModified(dateService.iso8601DateParse("2009-05-07T18:27:09.000Z")).eTag( "\"944fab2c5a9a6bacf07db5e688310d7a\"").owner(owner).contentMD5( base16().lowerCase().decode("944fab2c5a9a6bacf07db5e688310d7a")).contentLength(8l).build(), new ObjectMetadataBuilder().key("apps/2").bucket(bucket).uri(URI.create("http://bucket.com/apps/2")) .lastModified(dateService.iso8601DateParse("2009-05-07T18:27:09.000Z")).eTag( "\"a227b8888045c8fd159fb495214000f0\"").owner(owner).contentMD5( base16().lowerCase().decode("a227b8888045c8fd159fb495214000f0")).contentLength(8l).build(), new ObjectMetadataBuilder().key("apps/3").bucket(bucket).uri(URI.create("http://bucket.com/apps/3")) .lastModified(dateService.iso8601DateParse("2009-05-07T18:27:09.000Z")).eTag( "\"c9caa76c3dec53e2a192608ce73eef03\"").owner(owner).contentMD5( base16().lowerCase().decode("c9caa76c3dec53e2a192608ce73eef03")).contentLength(8l).build(), new ObjectMetadataBuilder().key("apps/4").bucket(bucket).uri(URI.create("http://bucket.com/apps/4")) .lastModified(dateService.iso8601DateParse("2009-05-07T18:27:09.000Z")).eTag( "\"1ce5d0dcc6154a647ea90c7bdf82a224\"").owner(owner).contentMD5( base16().lowerCase().decode("1ce5d0dcc6154a647ea90c7bdf82a224")).contentLength(8l).build(), new ObjectMetadataBuilder().key("apps/5").bucket(bucket).uri(URI.create("http://bucket.com/apps/5")) .lastModified(dateService.iso8601DateParse("2009-05-07T18:27:09.000Z")).eTag( "\"79433524d87462ee05708a8ef894ed55\"").owner(owner).contentMD5( base16().lowerCase().decode("79433524d87462ee05708a8ef894ed55")).contentLength(8l).build(), new ObjectMetadataBuilder().key("apps/6").bucket(bucket).uri(URI.create("http://bucket.com/apps/6")) .lastModified(dateService.iso8601DateParse("2009-05-07T18:27:10.000Z")).eTag( "\"dd00a060b28ddca8bc5a21a49e306f67\"").owner(owner).contentMD5( base16().lowerCase().decode("dd00a060b28ddca8bc5a21a49e306f67")).contentLength(8l).build(), new ObjectMetadataBuilder().key("apps/7").bucket(bucket).uri(URI.create("http://bucket.com/apps/7")) .lastModified(dateService.iso8601DateParse("2009-05-07T18:27:10.000Z")).eTag(
.contentType(metadata.getContentType()) .contentDisposition(metadata.getContentDisposition()); String uploadId = client.initiateMultipartUpload(container, builder.build()); try { SortedMap<Integer, String> etags = Maps.newTreeMap();
String key = "constitution.txt"; String uploadId = getApi().initiateMultipartUpload(containerName, ObjectMetadataBuilder.create().key(key).contentMD5(oneHundredOneConstitutionsMD5).build()); byte[] buffer = toByteArray(oneHundredOneConstitutions); assertEquals(oneHundredOneConstitutionsLength, (long) buffer.length);
String key = "constitution.txt"; String uploadId = getApi().initiateMultipartUpload(containerName, ObjectMetadataBuilder.create().key(key).contentMD5(oneHundredOneConstitutionsMD5.asBytes()).build()); assertThat(getApi().listMultipartPartsFull(containerName, key, uploadId)).isEmpty();
public void testInitiateMultipartUpload() throws SecurityException, NegativeArraySizeException, NoSuchMethodException { Invokable<?, ?> method = method(AWSS3AsyncClient.class, "initiateMultipartUpload", String.class, ObjectMetadata.class, PutObjectOptions[].class); GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("bucket", ObjectMetadataBuilder.create().key("foo") .contentMD5(new byte[] { 1, 2, 3, 4 }).build())); assertRequestLineEquals(request, "POST https://bucket." + url + "/foo?uploads HTTP/1.1"); assertNonPayloadHeadersEqual(request, "Content-MD5: AQIDBA==\nContent-Type: binary/octet-stream\nHost: bucket." + url + "\n"); assertPayloadEquals(request, null, null, false); // as this is a payload-related command, but with no payload, be careful // that we check // filtering and do not ignore if this fails later. request = (GeneratedHttpRequest) request.getFilters().get(0).filter(request); assertRequestLineEquals(request, "POST https://bucket." + url + "/foo?uploads HTTP/1.1"); assertNonPayloadHeadersEqual(request, "Authorization: AWS identity:Sp1FX4svL9P2u2bFJwroaYpSANo=\nContent-MD5: AQIDBA==\n" + "Content-Type: binary/octet-stream\nDate: 2009-11-08T15:54:08.897Z\nHost: bucket." + url + "\n"); assertPayloadEquals(request, null, null, false); assertResponseParserClassEquals(method, request, UploadIdFromHttpResponseViaRegex.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class); checkFilters(request); }
public void testInitiateMultipartUpload() throws SecurityException, NegativeArraySizeException, NoSuchMethodException { Invokable<?, ?> method = method(S3Client.class, "initiateMultipartUpload", String.class, ObjectMetadata.class, PutObjectOptions[].class); GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("bucket", ObjectMetadataBuilder.create().key("foo") .contentMD5(new byte[16]).build())); assertRequestLineEquals(request, "POST https://bucket." + url + "/foo?uploads HTTP/1.1"); assertNonPayloadHeadersEqual(request, "Content-MD5: AAAAAAAAAAAAAAAAAAAAAA==\n" + "Content-Type: binary/octet-stream\n" + "Host: bucket." + url + "\n"); assertPayloadEquals(request, null, null, false); // as this is a payload-related command, but with no payload, be careful // that we check // filtering and do not ignore if this fails later. request = (GeneratedHttpRequest) request.getFilters().get(0).filter(request); assertRequestLineEquals(request, "POST https://bucket." + url + "/foo?uploads HTTP/1.1"); assertNonPayloadHeadersEqual(request, "Authorization: AWS identity:972m/Bqn2L5FIaB+wWDeY83mGvU=\n" + "Content-MD5: AAAAAAAAAAAAAAAAAAAAAA==\n" + "Content-Type: binary/octet-stream\n" + "Date: 2009-11-08T15:54:08.897Z\n" + "Host: bucket." + url + "\n"); assertPayloadEquals(request, null, null, false); assertResponseParserClassEquals(method, request, UploadIdFromHttpResponseViaRegex.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class); checkFilters(request); }
public void testMultipartCopy() throws Exception { String containerName = getContainerName(); try { String fromObject = "fromObject"; S3Object object = getApi().newS3Object(); object.getMetadata().setKey(fromObject); object.setPayload(oneHundredOneConstitutions); object.getMetadata().getContentMetadata().setContentLength(oneHundredOneConstitutions.size()); getApi().putObject(containerName, object); String toObject = "toObject"; String uploadId = getApi().initiateMultipartUpload(containerName, ObjectMetadataBuilder.create().key(toObject).build()); String eTagOf1 = getApi().uploadPartCopy(containerName, toObject, 1, uploadId, containerName, fromObject, 1, oneHundredOneConstitutions.size() - 1); getApi().completeMultipartUpload(containerName, toObject, uploadId, ImmutableMap.of(1, eTagOf1)); object = getApi().getObject(containerName, toObject); assertEquals(ByteStreams2.toByteArrayAndClose(object.getPayload().openStream()), oneHundredOneConstitutions.slice(1, oneHundredOneConstitutions.size() - 1).read()); } finally { returnContainer(containerName); } }