From 47e7c2191584a9bc6d120f91b585d01b44828cc6 Mon Sep 17 00:00:00 2001 From: PatrikBuhr Date: Wed, 4 Mar 2020 09:37:29 +0100 Subject: [PATCH] Bugfix, no response sent to Dmaap for PUT The asynch Web client by default emits Mono.empty() when there is no body, now an empty string is returned instead. Change-Id: I8963a93bd41c7654cddd9e01700883d472c0d3f0 Issue-ID: NONRTRIC-107 Signed-off-by: PatrikBuhr --- .../org/oransc/policyagent/clients/AsyncRestClient.java | 15 ++++++++++----- .../oransc/policyagent/clients/AsyncRestClientTest.java | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/policy-agent/src/main/java/org/oransc/policyagent/clients/AsyncRestClient.java b/policy-agent/src/main/java/org/oransc/policyagent/clients/AsyncRestClient.java index 0d27bd6c..12c07453 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/clients/AsyncRestClient.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/clients/AsyncRestClient.java @@ -57,7 +57,8 @@ public class AsyncRestClient { .retrieve() // .onStatus(HttpStatus::isError, response -> Mono.error(new AsyncRestClientException(response.statusCode().toString()))) // - .bodyToMono(String.class); + .bodyToMono(String.class) // + .defaultIfEmpty(""); } public Mono postWithAuthHeader(String uri, String body, String username, String password) { @@ -70,7 +71,8 @@ public class AsyncRestClient { .retrieve() // .onStatus(HttpStatus::isError, response -> Mono.error(new AsyncRestClientException(response.statusCode().toString()))) // - .bodyToMono(String.class); + .bodyToMono(String.class) // + .defaultIfEmpty(""); } public Mono put(String uri, String body) { @@ -82,7 +84,8 @@ public class AsyncRestClient { .retrieve() // .onStatus(HttpStatus::isError, response -> Mono.error(new AsyncRestClientException(response.statusCode().toString()))) // - .bodyToMono(String.class); + .bodyToMono(String.class) // + .defaultIfEmpty(""); } public Mono get(String uri) { @@ -92,7 +95,8 @@ public class AsyncRestClient { .retrieve() // .onStatus(HttpStatus::isError, response -> Mono.error(new AsyncRestClientException(response.statusCode().toString()))) // - .bodyToMono(String.class); + .bodyToMono(String.class) // + .defaultIfEmpty(""); } public Mono delete(String uri) { @@ -102,6 +106,7 @@ public class AsyncRestClient { .retrieve() // .onStatus(HttpStatus::isError, response -> Mono.error(new AsyncRestClientException(response.statusCode().toString()))) // - .bodyToMono(String.class); + .bodyToMono(String.class) // + .defaultIfEmpty(""); } } diff --git a/policy-agent/src/test/java/org/oransc/policyagent/clients/AsyncRestClientTest.java b/policy-agent/src/test/java/org/oransc/policyagent/clients/AsyncRestClientTest.java index 84fcae24..11f2409c 100644 --- a/policy-agent/src/test/java/org/oransc/policyagent/clients/AsyncRestClientTest.java +++ b/policy-agent/src/test/java/org/oransc/policyagent/clients/AsyncRestClientTest.java @@ -109,7 +109,7 @@ public class AsyncRestClientTest { mockWebServer.enqueue(new MockResponse().setResponseCode(SUCCESS_CODE)); Mono returnedMono = clientUnderTest.delete(REQUEST_URL); - StepVerifier.create(returnedMono).expectComplete().verify(); + StepVerifier.create(returnedMono).expectNext("").expectComplete().verify(); } @Test -- 2.16.6