aboutsummaryrefslogtreecommitdiffstats
path: root/rest-services/common-dependency/src/test
diff options
context:
space:
mode:
authorPiotr Jaszczyk <piotr.jaszczyk@nokia.com>2019-03-27 08:58:44 +0100
committerPiotr Jaszczyk <piotr.jaszczyk@nokia.com>2019-04-01 14:59:20 +0200
commit07636bbe415099175afcbf55c8f08a24e5c357b5 (patch)
treee657bc0c6057dee44d3d74baf66eb3e039a0096c /rest-services/common-dependency/src/test
parent6c25f486820d1fca8f8aa7c075dec832ca9d1536 (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.java51
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