From 336d71e343dff06a4270bb1b724dc488498d10b2 Mon Sep 17 00:00:00 2001 From: pwielebs Date: Wed, 12 Dec 2018 16:36:04 +0100 Subject: Add abstraction level for other components * vesrion in poms updated to 1.1.0-SNAPSHOT Change-Id: Ieaa0a8ead1a9a74206fe4bdee85944d11b96c843 Issue-ID: DCAEGEN2-986 Signed-off-by: pwielebs --- rest-services/aai-client/pom.xml | 6 ++--- .../http/patch/AaiReactiveHttpPatchClient.java | 21 +++++++++------- .../service/AaiReactiveWebClientFactoryTest.java | 1 - .../http/patch/AaiReactiveHttpPatchClientTest.java | 28 ++++++++++++---------- 4 files changed, 31 insertions(+), 25 deletions(-) (limited to 'rest-services/aai-client') diff --git a/rest-services/aai-client/pom.xml b/rest-services/aai-client/pom.xml index b69781e3..5492e0a3 100644 --- a/rest-services/aai-client/pom.xml +++ b/rest-services/aai-client/pom.xml @@ -7,13 +7,13 @@ org.onap.dcaegen2.services.sdk dcaegen2-services-sdk-rest-services - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT ../pom.xml org.onap.dcaegen2.services.sdk.rest.services aai-client - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT dcaegen2-services-sdk-rest-services-aai-client Active and Available Inventory Rest Services Module @@ -23,7 +23,7 @@ org.onap.dcaegen2.services.sdk.rest.services common-dependency - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT org.springframework diff --git a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/http/patch/AaiReactiveHttpPatchClient.java b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/http/patch/AaiReactiveHttpPatchClient.java index 8b231a44..fa1248df 100644 --- a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/http/patch/AaiReactiveHttpPatchClient.java +++ b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/http/patch/AaiReactiveHttpPatchClient.java @@ -22,7 +22,8 @@ package org.onap.dcaegen2.services.sdk.rest.services.aai.client.service.http.pat import org.onap.dcaegen2.services.sdk.rest.services.aai.client.config.AaiClientConfiguration; -import org.onap.dcaegen2.services.sdk.rest.services.model.ConsumerDmaapModel; +import org.onap.dcaegen2.services.sdk.rest.services.model.AaiModel; +import org.onap.dcaegen2.services.sdk.rest.services.model.JsonBodyBuilder; import org.slf4j.MDC; import org.springframework.web.reactive.function.client.ClientResponse; import org.springframework.web.reactive.function.client.WebClient; @@ -33,7 +34,6 @@ import java.net.URI; import java.util.UUID; -import static org.onap.dcaegen2.services.sdk.rest.services.model.CommonFunctions.createJsonBody; import static org.onap.dcaegen2.services.sdk.rest.services.model.logging.MdcVariables.REQUEST_ID; import static org.onap.dcaegen2.services.sdk.rest.services.model.logging.MdcVariables.X_INVOCATION_ID; import static org.onap.dcaegen2.services.sdk.rest.services.model.logging.MdcVariables.X_ONAP_REQUEST_ID; @@ -48,27 +48,30 @@ public class AaiReactiveHttpPatchClient { private final String aaiBasePath; private final String aaiPnfPath; + private final JsonBodyBuilder jsonBodyBuilder; + /** * Constructor of AaiProducerReactiveHttpClient. * * @param configuration - AAI producer configuration object */ - public AaiReactiveHttpPatchClient(AaiClientConfiguration configuration) { + public AaiReactiveHttpPatchClient(AaiClientConfiguration configuration, JsonBodyBuilder jsonBodyBuilder) { this.aaiHost = configuration.aaiHost(); this.aaiProtocol = configuration.aaiProtocol(); this.aaiHostPortNumber = configuration.aaiPort(); this.aaiBasePath = configuration.aaiBasePath(); this.aaiPnfPath = configuration.aaiPnfPath(); + this.jsonBodyBuilder = jsonBodyBuilder; } /** * Function for calling AAI Http producer - patch request to AAI database. * - * @param consumerDmaapModelMono - object which will be sent to AAI database + * @param aaiModel - object which will be sent to AAI database * @return status code of operation */ - public Mono getAaiProducerResponse(ConsumerDmaapModel consumerDmaapModelMono) { - return patchAaiRequest(consumerDmaapModelMono); + public Mono getAaiProducerResponse(AaiModel aaiModel) { + return patchAaiRequest(aaiModel); } public AaiReactiveHttpPatchClient createAaiWebClient(WebClient webClient) { @@ -76,13 +79,13 @@ public class AaiReactiveHttpPatchClient { return this; } - private Mono patchAaiRequest(ConsumerDmaapModel dmaapModel) { + private Mono patchAaiRequest(AaiModel aaiModel) { return webClient.patch() - .uri(getUri(dmaapModel.getCorrelationId())) + .uri(getUri(aaiModel.getCorrelationId())) .header(X_ONAP_REQUEST_ID, MDC.get(REQUEST_ID)) .header(X_INVOCATION_ID, UUID.randomUUID().toString()) - .body(Mono.just(createJsonBody(dmaapModel)), String.class) + .body(Mono.just(jsonBodyBuilder.createJsonBody(aaiModel)), String.class) .exchange(); } diff --git a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/AaiReactiveWebClientFactoryTest.java b/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/AaiReactiveWebClientFactoryTest.java index c7323160..153189fd 100644 --- a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/AaiReactiveWebClientFactoryTest.java +++ b/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/AaiReactiveWebClientFactoryTest.java @@ -33,7 +33,6 @@ import org.onap.dcaegen2.services.sdk.rest.services.ssl.SslFactory; import javax.net.ssl.SSLException; - class AaiReactiveWebClientFactoryTest { private static final String TRUST_STORE_PATH = "trust_store_path"; diff --git a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/http/patch/AaiReactiveHttpPatchClientTest.java b/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/http/patch/AaiReactiveHttpPatchClientTest.java index f3b4c5ff..7e34256f 100644 --- a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/http/patch/AaiReactiveHttpPatchClientTest.java +++ b/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/http/patch/AaiReactiveHttpPatchClientTest.java @@ -24,8 +24,9 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.onap.dcaegen2.services.sdk.rest.services.aai.client.config.AaiClientConfiguration; -import org.onap.dcaegen2.services.sdk.rest.services.model.ConsumerDmaapModel; -import org.onap.dcaegen2.services.sdk.rest.services.model.ImmutableConsumerDmaapModel; + +import org.onap.dcaegen2.services.sdk.rest.services.model.AaiModel; +import org.onap.dcaegen2.services.sdk.rest.services.model.JsonBodyBuilder; import org.springframework.web.reactive.function.client.ClientResponse; import org.springframework.web.reactive.function.client.WebClient; import reactor.core.publisher.Mono; @@ -50,7 +51,6 @@ class AaiReactiveHttpPatchClientTest { private AaiReactiveHttpPatchClient httpClient; private WebClient webClient; - private ConsumerDmaapModel dmaapModel; private WebClient.RequestBodyUriSpec requestBodyUriSpec; private WebClient.ResponseSpec responseSpec; @@ -58,18 +58,15 @@ class AaiReactiveHttpPatchClientTest { private ClientResponse clientResponse; private Mono clientResponseMono; + private AaiModel aaiModel = mock(AaiModel.class); + private JsonBodyBuilder jsonBodyBuilder = mock(JsonBodyBuilder.class); + @BeforeEach void setUp() { setupHeaders(); clientResponse = mock(ClientResponse.class); clientResponseMono = Mono.just(clientResponse); - dmaapModel = ImmutableConsumerDmaapModel.builder() - .correlationId("NOKnhfsadhff") - .ipv4("256.22.33.155") - .ipv6("200J:0db8:85a3:0000:0000:8a2e:0370:7334") - .build(); - when(aaiConfigurationMock.aaiHost()).thenReturn("54.45.33.2"); when(aaiConfigurationMock.aaiProtocol()).thenReturn("https"); when(aaiConfigurationMock.aaiPort()).thenReturn(1234); @@ -79,7 +76,14 @@ class AaiReactiveHttpPatchClientTest { when(aaiConfigurationMock.aaiPnfPath()).thenReturn("/network/pnfs/pnf"); when(aaiConfigurationMock.aaiHeaders()).thenReturn(aaiHeaders); - httpClient = new AaiReactiveHttpPatchClient(aaiConfigurationMock); + when(aaiModel.getCorrelationId()).thenReturn("NOKnhfsadhff"); + + when(jsonBodyBuilder.createJsonBody(aaiModel)).thenReturn( + "{\"correlationId\":\"NOKnhfsadhff\"," + + "\"ipaddress-v4\":\"256.22.33.155\", " + + "\"ipaddress-v6\":\"200J:0db8:85a3:0000:0000:8a2e:0370:7334\"}"); + + httpClient = new AaiReactiveHttpPatchClient(aaiConfigurationMock, jsonBodyBuilder); webClient = spy(WebClient.builder() .defaultHeaders(httpHeaders -> httpHeaders.setAll(aaiHeaders)) @@ -101,7 +105,7 @@ class AaiReactiveHttpPatchClientTest { httpClient.createAaiWebClient(webClient); //then - StepVerifier.create(httpClient.getAaiProducerResponse(dmaapModel)).expectSubscription() + StepVerifier.create(httpClient.getAaiProducerResponse(aaiModel)).expectSubscription() .expectNextMatches(results -> { Assertions.assertEquals(results, clientResponse); return true; @@ -133,4 +137,4 @@ class AaiReactiveHttpPatchClientTest { when(requestBodyUriSpec.body(any(), (Class) any())).thenReturn(requestHeadersSpec); when(requestHeadersSpec.exchange()).thenReturn(clientResponseMono); } -} +} \ No newline at end of file -- cgit 1.2.3-korg