diff options
author | Bjørn Christian Seime <bjorncs@oath.com> | 2018-07-24 11:26:22 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@oath.com> | 2018-07-24 12:31:51 +0200 |
commit | 70b33f770054c58d518a948bb0e168dbe812be85 (patch) | |
tree | 9432c602ef2a624dd2f1570c06ecff2b46e71341 /jdisc_http_service/src/test | |
parent | 5e09a340eb2571ef9c9a5d7df7b38838821cd697 (diff) |
Set inflate buffer size to allow gzip handler to decompress requests
Diffstat (limited to 'jdisc_http_service/src/test')
-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 | 6 |
2 files changed, 21 insertions, 1 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 e9c73c68e25..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,6 +6,7 @@ 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; @@ -155,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; |