diff options
author | Arnstein Ressem <aressem@oath.com> | 2018-08-09 10:27:43 +0200 |
---|---|---|
committer | Arnstein Ressem <aressem@oath.com> | 2018-08-09 10:27:43 +0200 |
commit | 6d61753ac389a884430be9e2eb9bbbd216ea4db5 (patch) | |
tree | 9a1b00c5ac40a0c0ea9d822658e225c90adab84b /jdisc_http_service/src/test/java/com/yahoo/jdisc | |
parent | b80a8292c21e0c0dd678024928077e3e268de789 (diff) | |
parent | e2887cb7299438c02bc49d888aaaf2e51631ace9 (diff) |
Merge branch 'master' into aressem/kill-mbuild
Diffstat (limited to 'jdisc_http_service/src/test/java/com/yahoo/jdisc')
-rw-r--r-- | jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java | 16 | ||||
-rw-r--r-- | jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/SimpleHttpClient.java | 9 |
2 files changed, 23 insertions, 2 deletions
diff --git a/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java b/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java index 7c79897ac27..30d5f9e657a 100644 --- a/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java +++ b/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java @@ -65,7 +65,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; /** - * @author bakksjo + * @author Oyvind Bakksjo * @author Simon Thoresen Hult */ public class HttpServerTest { @@ -466,6 +466,20 @@ public class HttpServerTest { assertThat(driver.close(), is(true)); } + @Test + public void requireThatGzipEncodingRequestsAreAutomaticallyDecompressed() throws Exception { + final TestDriver driver = TestDrivers.newInstance(new ParameterPrinterRequestHandler()); + final String requestContent = generateContent('a', 30); + final ResponseValidator response = + driver.client().newPost("/status.html") + .addHeader(CONTENT_TYPE, APPLICATION_X_WWW_FORM_URLENCODED) + .setGzipContent(requestContent) + .execute(); + response.expectStatusCode(is(OK)) + .expectContent(startsWith('{' + requestContent + "=[]}")); + assertThat(driver.close(), is(true)); + } + private static RequestHandler mockRequestHandler() { final RequestHandler mockRequestHandler = mock(RequestHandler.class); when(mockRequestHandler.refer()).thenReturn(References.NOOP_REFERENCE); diff --git a/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/SimpleHttpClient.java b/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/SimpleHttpClient.java index 79a2dc5a2fb..1836a73d2fd 100644 --- a/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/SimpleHttpClient.java +++ b/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/SimpleHttpClient.java @@ -6,12 +6,14 @@ import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; +import org.apache.http.client.entity.GzipCompressingEntity; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.methods.HttpUriRequest; import org.apache.http.config.Registry; import org.apache.http.config.RegistryBuilder; import org.apache.http.conn.socket.ConnectionSocketFactory; +import org.apache.http.conn.ssl.NoopHostnameVerifier; import org.apache.http.conn.ssl.SSLConnectionSocketFactory; import org.apache.http.entity.ByteArrayEntity; import org.apache.http.entity.StringEntity; @@ -59,7 +61,7 @@ public class SimpleHttpClient { if (sslContext != null) { SSLConnectionSocketFactory sslConnectionFactory = new SSLConnectionSocketFactory( sslContext, - SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); + NoopHostnameVerifier.INSTANCE); builder.setSSLSocketFactory(sslConnectionFactory); Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create() @@ -154,6 +156,11 @@ public class SimpleHttpClient { return this; } + public RequestExecutor setGzipContent(String content) { + this.entity = new GzipCompressingEntity(new StringEntity(content, StandardCharsets.UTF_8)); + return this; + } + public RequestExecutor setBinaryContent(final byte[] content) { this.entity = new ByteArrayEntity(content); return this; |