@SuppressWarnings("unchecked") @Override public <R extends HttpRequest> R bindToRequest(R request, Object input) { checkArgument(checkNotNull(input, "input") instanceof UserMetadata, "this binder is only valid for UserMetadatas!"); checkNotNull(request, "request"); return (R) request.toBuilder().replaceHeaders(Multimaps.forMap(apply(UserMetadata.class.cast(input)))).build(); }
@Override public <R extends HttpRequest> R bindToRequest(R request, Object input) { checkArgument(checkNotNull(input, "input") instanceof AtmosObject, "this binder is only valid for AtmosObject!"); checkNotNull(request, "request"); AtmosObject object = AtmosObject.class.cast(input); checkNotNull(object.getPayload(), "object payload"); checkArgument(object.getPayload().getContentMetadata().getContentLength() != null, "contentLength must be set, streaming not supported"); return metaBinder.bindToRequest(request, object.getUserMetadata()); } }
@Test(expectedExceptions = NullPointerException.class) public void testNullIsBad() { HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://momma").build(); binder.bindToRequest(request, null); }
@Test(expectedExceptions = { NullPointerException.class, IllegalStateException.class }) public void testNullIsBad() { HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://momma").build(); binder.bindToRequest(request, null); } }
@SuppressWarnings("unchecked") @Override public <R extends HttpRequest> R bindToRequest(R request, Object input) { checkArgument(checkNotNull(input, "input") instanceof UserMetadata, "this binder is only valid for UserMetadatas!"); checkNotNull(request, "request"); return (R) request.toBuilder().replaceHeaders(Multimaps.forMap(apply(UserMetadata.class.cast(input)))).build(); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testMustBeAtmosObject() { HttpRequest request = HttpRequest.builder().method("POST").endpoint("http://localhost").build(); binder.bindToRequest(request, new File("foo")); }
@Test(expectedExceptions = { NullPointerException.class, IllegalStateException.class }) public void testNullIsBad() { HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://momma").build(); binder.bindToRequest(request, null); } }
@SuppressWarnings("unchecked") @Override public <R extends HttpRequest> R bindToRequest(R request, Object input) { checkArgument(checkNotNull(input, "input") instanceof UserMetadata, "this binder is only valid for UserMetadatas!"); checkNotNull(request, "request"); return (R) request.toBuilder().replaceHeaders(Multimaps.forMap(apply(UserMetadata.class.cast(input)))).build(); }
@Test(expectedExceptions = NullPointerException.class) public void testNullIsBad() { HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://momma").build(); binder.bindToRequest(request, null); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testMustBeUserMetadata() { HttpRequest request = HttpRequest.builder().method("POST").endpoint("http://localhost").build(); binder.bindToRequest(request, new File("foo")); }
@SuppressWarnings("unchecked") @Override public <R extends HttpRequest> R bindToRequest(R request, Object input) { checkArgument(checkNotNull(input, "input") instanceof UserMetadata, "this binder is only valid for UserMetadatas!"); checkNotNull(request, "request"); return (R) request.toBuilder().replaceHeaders(Multimaps.forMap(apply(UserMetadata.class.cast(input)))).build(); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testMustBeAtmosObject() { HttpRequest request = HttpRequest.builder().method("POST").endpoint("http://localhost").build(); binder.bindToRequest(request, new File("foo")); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testMustBeUserMetadata() { HttpRequest request = HttpRequest.builder().method("POST").endpoint("http://localhost").build(); binder.bindToRequest(request, new File("foo")); }
@SuppressWarnings("unchecked") @Override public <R extends HttpRequest> R bindToRequest(R request, Object input) { checkArgument(checkNotNull(input, "input") instanceof UserMetadata, "this binder is only valid for UserMetadatas!"); checkNotNull(request, "request"); return (R) request.toBuilder().replaceHeaders(Multimaps.forMap(apply(UserMetadata.class.cast(input)))).build(); }
@Test(expectedExceptions = NullPointerException.class) public void testNullPayloadIsBad() { AtmosObject object = injector.getInstance(AtmosObject.Factory.class).create(null); HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://localhost").build(); binder.bindToRequest(request, object); }
public void testListableMeta() { UserMetadata metadata = new UserMetadata(); metadata.getListableMetadata().put("apple", "bear"); metadata.getListableMetadata().put("sushi", "king"); HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://localhost").build(); request = binder.bindToRequest(request, metadata); assertEquals(request.getFirstHeaderOrNull("x-emc-listable-meta"), "apple=bear,sushi=king"); }
public void testListableTags() { UserMetadata tagsdata = new UserMetadata(); tagsdata.getListableTags().add("apple"); tagsdata.getListableTags().add("sushi"); HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://localhost").build(); request = binder.bindToRequest(request, tagsdata); assertEquals(request.getFirstHeaderOrNull("x-emc-listable-tags"), "apple,sushi"); }
public void testTags() { UserMetadata tagsdata = new UserMetadata(); tagsdata.getTags().add("apple"); tagsdata.getTags().add("sushi"); HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://localhost").build(); request = binder.bindToRequest(request, tagsdata); assertEquals(request.getFirstHeaderOrNull("x-emc-tags"), "apple,sushi"); }
public void testMeta() { UserMetadata metadata = new UserMetadata(); metadata.getMetadata().put("apple", "bear"); metadata.getMetadata().put("sushi", "king"); HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://localhost").build(); request = binder.bindToRequest(request, metadata); assertEquals(request.getFirstHeaderOrNull("x-emc-meta"), "apple=bear,sushi=king"); }
public void testListableTags() { UserMetadata tagsdata = new UserMetadata(); tagsdata.getListableTags().add("apple"); tagsdata.getListableTags().add("sushi"); HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://localhost").build(); request = binder.bindToRequest(request, tagsdata); assertEquals(request.getFirstHeaderOrNull("x-emc-listable-tags"), "apple,sushi"); }