diff options
author | Piotr Jaszczyk <piotr.jaszczyk@nokia.com> | 2019-03-27 08:58:44 +0100 |
---|---|---|
committer | Piotr Jaszczyk <piotr.jaszczyk@nokia.com> | 2019-04-01 14:59:20 +0200 |
commit | 07636bbe415099175afcbf55c8f08a24e5c357b5 (patch) | |
tree | e657bc0c6057dee44d3d74baf66eb3e039a0096c /rest-services/common-dependency/src/test | |
parent | 6c25f486820d1fca8f8aa7c075dec832ca9d1536 (diff) |
Stub of the DMaaP Client 2.0 implementation
This is untested. Treat it as a proof of concept.
Change-Id: Ieeef7c9481324984c9772b216d001254dec11ae9
Issue-ID: DCAEGEN2-1368
Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
Diffstat (limited to 'rest-services/common-dependency/src/test')
-rw-r--r-- | rest-services/common-dependency/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/adapters/http/RxHttpClientIT.java | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/rest-services/common-dependency/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/adapters/http/RxHttpClientIT.java b/rest-services/common-dependency/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/adapters/http/RxHttpClientIT.java index 5ae62c87..8c57a693 100644 --- a/rest-services/common-dependency/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/adapters/http/RxHttpClientIT.java +++ b/rest-services/common-dependency/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/adapters/http/RxHttpClientIT.java @@ -20,6 +20,7 @@ package org.onap.dcaegen2.services.sdk.rest.services.adapters.http; +import static org.assertj.core.api.Assertions.assertThat; import static org.onap.dcaegen2.services.sdk.rest.services.adapters.http.test.DummyHttpServer.sendString; import io.netty.handler.codec.http.HttpResponseStatus; @@ -45,6 +46,8 @@ class RxHttpClientIT { httpServer = DummyHttpServer.start(routes -> routes.get("/sample-get", (req, resp) -> sendString(resp, Mono.just("OK"))) .get("/sample-get-500", (req, resp) -> resp.status(HttpResponseStatus.INTERNAL_SERVER_ERROR).send()) + .post("/headers-post", (req, resp) -> resp + .sendString(Mono.just(req.requestHeaders().toString()))) .post("/echo-post", (req, resp) -> resp.send(req.receive().retain())) ); } @@ -107,4 +110,52 @@ class RxHttpClientIT { .expectComplete() .verify(TIMEOUT); } + + @Test + void testChunkedEncoding() throws Exception { + // given + final String requestBody = "hello world"; + final HttpRequest httpRequest = requestFor("/headers-post") + .method(HttpMethod.POST) + .body(RequestBody.chunkedFromString(Mono.just(requestBody))) + .build(); + + // when + final Mono<String> bodyAsString = cut.call(httpRequest) + .doOnNext(HttpResponse::throwIfUnsuccessful) + .map(HttpResponse::bodyAsString); + + // then + StepVerifier.create(bodyAsString.map(String::toLowerCase)) + .consumeNextWith(responseBody -> { + assertThat(responseBody).contains("transfer-encoding: chunked"); + assertThat(responseBody).doesNotContain("content-length"); + }) + .expectComplete() + .verify(TIMEOUT); + } + + @Test + void testUnchunkedEncoding() throws Exception { + // given + final String requestBody = "hello world"; + final HttpRequest httpRequest = requestFor("/headers-post") + .method(HttpMethod.POST) + .body(RequestBody.fromString(requestBody)) + .build(); + + // when + final Mono<String> bodyAsString = cut.call(httpRequest) + .doOnNext(HttpResponse::throwIfUnsuccessful) + .map(HttpResponse::bodyAsString); + + // then + StepVerifier.create(bodyAsString.map(String::toLowerCase)) + .consumeNextWith(responseBody -> { + assertThat(responseBody).doesNotContain("transfer-encoding"); + assertThat(responseBody).contains("content-length"); + }) + .expectComplete() + .verify(TIMEOUT); + } }
\ No newline at end of file |