summaryrefslogtreecommitdiffstats
path: root/prh-dmaap-client
diff options
context:
space:
mode:
Diffstat (limited to 'prh-dmaap-client')
-rw-r--r--prh-dmaap-client/pom.xml4
-rw-r--r--prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/DMaaPReactiveWebClient.java49
-rw-r--r--prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/HttpUtils.java31
-rw-r--r--prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/prh/service/DMaaPReactiveWebClientTest.java16
-rw-r--r--prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/prh/service/consumer/DMaaPConsumerReactiveHttpClientTest.java32
-rw-r--r--prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/prh/service/producer/DMaaPProducerReactiveHttpClientTest.java35
6 files changed, 29 insertions, 138 deletions
diff --git a/prh-dmaap-client/pom.xml b/prh-dmaap-client/pom.xml
index 0633b46a..037bfe88 100644
--- a/prh-dmaap-client/pom.xml
+++ b/prh-dmaap-client/pom.xml
@@ -59,10 +59,6 @@
<version>2.0.4.RELEASE</version>
</dependency>
<dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
- </dependency>
- <dependency>
<groupId>org.onap.dcaegen2.services.prh</groupId>
<artifactId>prh-commons</artifactId>
<version>1.0.0-SNAPSHOT</version>
diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/DMaaPReactiveWebClient.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/DMaaPReactiveWebClient.java
index a41ec3a4..ab81bede 100644
--- a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/DMaaPReactiveWebClient.java
+++ b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/DMaaPReactiveWebClient.java
@@ -21,6 +21,7 @@ package org.onap.dcaegen2.services.prh.service;
import static org.springframework.web.reactive.function.client.ExchangeFilterFunctions.basicAuthentication;
+import org.onap.dcaegen2.services.prh.config.DmaapCustomConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpHeaders;
@@ -35,26 +36,34 @@ public class DMaaPReactiveWebClient {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
- private DMaaPReactiveWebClient() {
+ private String dMaaPContentType;
+ private String dMaaPUserName;
+ private String dMaaPUserPassword;
+
+ public DMaaPReactiveWebClient fromConfiguration(DmaapCustomConfig dmaapCustomConfig) {
+ this.dMaaPUserName = dmaapCustomConfig.dmaapUserName();
+ this.dMaaPUserPassword = dmaapCustomConfig.dmaapUserPassword();
+ this.dMaaPContentType = dmaapCustomConfig.dmaapContentType();
+ return this;
}
- private WebClient create(WebClientBuilder webClientBuilder) {
+ public WebClient build() {
return WebClient.builder()
- .defaultHeader(HttpHeaders.CONTENT_TYPE, webClientBuilder.dMaaPContentType)
- .filter(basicAuthentication(webClientBuilder.dMaaPUserName, webClientBuilder.dMaaPUserPassword))
+ .defaultHeader(HttpHeaders.CONTENT_TYPE, dMaaPContentType)
+ .filter(basicAuthentication(dMaaPUserName, dMaaPUserPassword))
.filter(logRequest())
.filter(logResponse())
.build();
}
- ExchangeFilterFunction logResponse() {
+ private ExchangeFilterFunction logResponse() {
return ExchangeFilterFunction.ofResponseProcessor(clientResponse -> {
logger.info("Response Status {}", clientResponse.statusCode());
return Mono.just(clientResponse);
});
}
- ExchangeFilterFunction logRequest() {
+ private ExchangeFilterFunction logRequest() {
return ExchangeFilterFunction.ofRequestProcessor(clientRequest -> {
logger.info("Request: {} {}", clientRequest.method(), clientRequest.url());
clientRequest.headers()
@@ -63,32 +72,4 @@ public class DMaaPReactiveWebClient {
});
}
- public static class WebClientBuilder {
-
- private String dMaaPContentType;
- private String dMaaPUserName;
- private String dMaaPUserPassword;
-
- public WebClientBuilder() {
- }
-
- public WebClientBuilder dmaapContentType(String dmaapContentType) {
- this.dMaaPContentType = dmaapContentType;
- return this;
- }
-
- public WebClientBuilder dmaapUserName(String dmaapUserName) {
- this.dMaaPUserName = dmaapUserName;
- return this;
- }
-
- public WebClientBuilder dmaapUserPassword(String dmaapUserPassword) {
- this.dMaaPUserPassword = dmaapUserPassword;
- return this;
- }
-
- public WebClient build() {
- return new DMaaPReactiveWebClient().create(this);
- }
- }
}
diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/HttpUtils.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/HttpUtils.java
deleted file mode 100644
index b96f80dd..00000000
--- a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/HttpUtils.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * PNF-REGISTRATION-HANDLER
- * ================================================================================
- * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-package org.onap.dcaegen2.services.prh.service;
-
-import org.apache.http.HttpStatus;
-
-public final class HttpUtils implements HttpStatus {
-
- private HttpUtils() {}
-
- public static boolean isSuccessfulResponseCode(Integer statusCode) {
- return statusCode >= 200 && statusCode < 300;
- }
-}
diff --git a/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/prh/service/DMaaPReactiveWebClientTest.java b/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/prh/service/DMaaPReactiveWebClientTest.java
index fad18699..2e323c5e 100644
--- a/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/prh/service/DMaaPReactiveWebClientTest.java
+++ b/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/prh/service/DMaaPReactiveWebClientTest.java
@@ -19,8 +19,12 @@
*/
package org.onap.dcaegen2.services.prh.service;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import org.onap.dcaegen2.services.prh.config.DmaapConsumerConfiguration;
import org.springframework.web.reactive.function.client.WebClient;
/**
@@ -28,19 +32,23 @@ import org.springframework.web.reactive.function.client.WebClient;
*/
public class DMaaPReactiveWebClientTest {
+
@Test
public void builder_shouldBuildDMaaPReactiveWebClient() {
//given
+ DmaapConsumerConfiguration dmaapConsumerConfiguration = mock(DmaapConsumerConfiguration.class);
WebClient dMaaPReactiveWebClient;
String dMaaPContentType = "*/*";
String dMaaPUserName = "DMaaP";
String dMaaPUserPassword = "DMaaP";
//when
- dMaaPReactiveWebClient = new DMaaPReactiveWebClient.WebClientBuilder()
- .dmaapContentType(dMaaPContentType)
- .dmaapUserName(dMaaPUserName)
- .dmaapUserPassword(dMaaPUserPassword).build();
+ when(dmaapConsumerConfiguration.dmaapContentType()).thenReturn(dMaaPContentType);
+ when(dmaapConsumerConfiguration.dmaapUserName()).thenReturn(dMaaPUserName);
+ when(dmaapConsumerConfiguration.dmaapUserPassword()).thenReturn(dMaaPUserPassword);
+ dMaaPReactiveWebClient = new DMaaPReactiveWebClient()
+ .fromConfiguration(dmaapConsumerConfiguration)
+ .build();
//then
Assertions.assertNotNull(dMaaPReactiveWebClient);
diff --git a/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/prh/service/consumer/DMaaPConsumerReactiveHttpClientTest.java b/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/prh/service/consumer/DMaaPConsumerReactiveHttpClientTest.java
index cbc7bd62..1f04da15 100644
--- a/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/prh/service/consumer/DMaaPConsumerReactiveHttpClientTest.java
+++ b/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/prh/service/consumer/DMaaPConsumerReactiveHttpClientTest.java
@@ -98,36 +98,6 @@ public class DMaaPConsumerReactiveHttpClientTest {
}).verifyComplete();
}
-
- @Test
- public void getHttpResponse_HttpResponse4xxClientError() {
-
- //when
- mockDependantObjects();
- doAnswer(invocationOnMock -> Mono.error(new Exception("400")))
- .when(responseSpec).onStatus(HttpStatus::is4xxClientError, e -> Mono.error(new Exception("400")));
- DMaaPConsumerReactiveHttpClient.createDMaaPWebClient(webClient);
-
- //then
- StepVerifier.create(DMaaPConsumerReactiveHttpClient.getDMaaPConsumerResponse()).expectSubscription()
- .expectError(Exception.class);
-
- }
-
- @Test
- public void getHttpResponse_HttpResponse5xxClientError() {
-
- //when
- mockDependantObjects();
- doAnswer(invocationOnMock -> Mono.error(new Exception("500")))
- .when(responseSpec).onStatus(HttpStatus::is4xxClientError, e -> Mono.error(new Exception("500")));
- DMaaPConsumerReactiveHttpClient.createDMaaPWebClient(webClient);
-
- //then
- StepVerifier.create(DMaaPConsumerReactiveHttpClient.getDMaaPConsumerResponse()).expectSubscription()
- .expectError(Exception.class);
- }
-
@Test
public void getHttpResponse_whenURISyntaxExceptionHasBeenThrown() throws URISyntaxException {
//given
@@ -139,7 +109,7 @@ public class DMaaPConsumerReactiveHttpClientTest {
//then
StepVerifier.create(DMaaPConsumerReactiveHttpClient.getDMaaPConsumerResponse()).expectSubscription()
- .expectError(Exception.class);
+ .expectError(Exception.class).verify();
}
private void mockDependantObjects() {
diff --git a/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/prh/service/producer/DMaaPProducerReactiveHttpClientTest.java b/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/prh/service/producer/DMaaPProducerReactiveHttpClientTest.java
index f1fb70b0..20ab64e5 100644
--- a/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/prh/service/producer/DMaaPProducerReactiveHttpClientTest.java
+++ b/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/prh/service/producer/DMaaPProducerReactiveHttpClientTest.java
@@ -20,7 +20,6 @@
package org.onap.dcaegen2.services.prh.service.producer;
import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
@@ -36,7 +35,6 @@ import org.onap.dcaegen2.services.prh.config.DmaapPublisherConfiguration;
import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModelForUnitTest;
import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
import org.springframework.web.reactive.function.client.WebClient;
import org.springframework.web.reactive.function.client.WebClient.RequestBodyUriSpec;
import org.springframework.web.reactive.function.client.WebClient.RequestHeadersSpec;
@@ -97,37 +95,6 @@ public class DMaaPProducerReactiveHttpClientTest {
}
@Test
- public void getHttpResponse_HttpResponse4xxClientError() {
- //when
- mockWebClientDependantObject();
-
- doAnswer(invocationOnMock -> Mono.error(new Exception("400")))
- .when(responseSpec).onStatus(HttpStatus::is4xxClientError, e -> Mono.error(new Exception("400")));
- dMaaPProducerReactiveHttpClient.createDMaaPWebClient(webClient);
-
- //then
- StepVerifier.create(dMaaPProducerReactiveHttpClient.getDMaaPProducerResponse(Mono.just(consumerDmaapModel)))
- .expectSubscription()
- .expectError(Exception.class);
-
- }
-
- @Test
- public void getHttpResponse_HttpResponse5xxClientError() {
-
- //when
- mockWebClientDependantObject();
- doAnswer(invocationOnMock -> Mono.error(new Exception("500")))
- .when(responseSpec).onStatus(HttpStatus::is4xxClientError, e -> Mono.error(new Exception("500")));
- dMaaPProducerReactiveHttpClient.createDMaaPWebClient(webClient);
-
- //then
- StepVerifier.create(dMaaPProducerReactiveHttpClient.getDMaaPProducerResponse(Mono.just(consumerDmaapModel)))
- .expectSubscription()
- .expectError(Exception.class);
- }
-
- @Test
public void getHttpResponse_whenURISyntaxExceptionHasBeenThrown() throws URISyntaxException {
//given
dMaaPProducerReactiveHttpClient = spy(dMaaPProducerReactiveHttpClient);
@@ -138,7 +105,7 @@ public class DMaaPProducerReactiveHttpClientTest {
//then
StepVerifier.create(dMaaPProducerReactiveHttpClient.getDMaaPProducerResponse(any())).expectSubscription()
- .expectError(Exception.class);
+ .expectError(Exception.class).verify();
}
private void mockWebClientDependantObject() {