aboutsummaryrefslogtreecommitdiffstats
path: root/prh-aai-client/src/test/java/org/onap/dcaegen2/services/prh/service/producer/AaiProducerReactiveHttpClientTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'prh-aai-client/src/test/java/org/onap/dcaegen2/services/prh/service/producer/AaiProducerReactiveHttpClientTest.java')
-rw-r--r--prh-aai-client/src/test/java/org/onap/dcaegen2/services/prh/service/producer/AaiProducerReactiveHttpClientTest.java66
1 files changed, 38 insertions, 28 deletions
diff --git a/prh-aai-client/src/test/java/org/onap/dcaegen2/services/prh/service/producer/AaiProducerReactiveHttpClientTest.java b/prh-aai-client/src/test/java/org/onap/dcaegen2/services/prh/service/producer/AaiProducerReactiveHttpClientTest.java
index 9b0f4fe8..4160f356 100644
--- a/prh-aai-client/src/test/java/org/onap/dcaegen2/services/prh/service/producer/AaiProducerReactiveHttpClientTest.java
+++ b/prh-aai-client/src/test/java/org/onap/dcaegen2/services/prh/service/producer/AaiProducerReactiveHttpClientTest.java
@@ -22,6 +22,7 @@ package org.onap.dcaegen2.services.prh.service.producer;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
@@ -31,18 +32,19 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.util.HashMap;
import java.util.Map;
+
import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.onap.dcaegen2.services.prh.config.AaiClientConfiguration;
import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModelForUnitTest;
+import org.springframework.web.reactive.function.client.ClientResponse;
import org.springframework.web.reactive.function.client.WebClient;
import org.springframework.web.reactive.function.client.WebClient.ResponseSpec;
import reactor.core.publisher.Mono;
import reactor.test.StepVerifier;
-
class AaiProducerReactiveHttpClientTest {
private static final Integer SUCCESS_RESPONSE = 200;
@@ -50,16 +52,21 @@ class AaiProducerReactiveHttpClientTest {
private static AaiClientConfiguration aaiConfigurationMock = mock(AaiClientConfiguration.class);
private static WebClient webClient = mock(WebClient.class);
- private static ConsumerDmaapModel dmaapModel = new ConsumerDmaapModelForUnitTest();
- private static WebClient.RequestBodyUriSpec requestBodyUriSpec;
- private static ResponseSpec responseSpec;
- private static Map<String, String> aaiHeaders;
+ private ConsumerDmaapModel dmaapModel = spy(new ConsumerDmaapModelForUnitTest());
+ private WebClient.RequestBodyUriSpec requestBodyUriSpec;
+ private ResponseSpec responseSpec;
- @BeforeAll
- static void setUp() {
- setupHeaders();
+ private Map<String, String> aaiHeaders;
+ private ClientResponse clientResponse;
+ private Mono<ClientResponse> clientResponseMono;
+ @BeforeEach
+ void setUp() {
+ setupHeaders();
+ clientResponse = mock(ClientResponse.class);
+ clientResponseMono = Mono.just(clientResponse);
+ when(dmaapModel.getSourceName()).thenReturn("NOKnhfsadhff");
when(aaiConfigurationMock.aaiHost()).thenReturn("54.45.33.2");
when(aaiConfigurationMock.aaiProtocol()).thenReturn("https");
when(aaiConfigurationMock.aaiPort()).thenReturn(1234);
@@ -80,15 +87,6 @@ class AaiProducerReactiveHttpClientTest {
responseSpec = mock(ResponseSpec.class);
}
- private static void setupHeaders() {
- aaiHeaders = new HashMap<>();
- aaiHeaders.put("X-FromAppId", "PRH");
- aaiHeaders.put("X-TransactionId", "vv-temp");
- aaiHeaders.put("Accept", "application/json");
- aaiHeaders.put("Real-Time", "true");
- aaiHeaders.put("Content-Type", "application/merge-patch+json");
- }
-
@Test
void getAaiProducerResponse_shouldReturn200() {
//given
@@ -98,12 +96,11 @@ class AaiProducerReactiveHttpClientTest {
mockWebClientDependantObject();
doReturn(expectedResult).when(responseSpec).bodyToMono(Integer.class);
aaiProducerReactiveHttpClient.createAaiWebClient(webClient);
- Mono<Integer> response = aaiProducerReactiveHttpClient.getAaiProducerResponse(Mono.just(dmaapModel));
//then
- StepVerifier.create(response).expectSubscription()
+ StepVerifier.create(aaiProducerReactiveHttpClient.getAaiProducerResponse(dmaapModel)).expectSubscription()
.expectNextMatches(results -> {
- Assertions.assertEquals(results, expectedResult.block());
+ Assertions.assertEquals(results, clientResponse);
return true;
}).verifyComplete();
}
@@ -115,24 +112,37 @@ class AaiProducerReactiveHttpClientTest {
//when
when(webClient.patch()).thenReturn(requestBodyUriSpec);
aaiProducerReactiveHttpClient.createAaiWebClient(webClient);
- when(aaiProducerReactiveHttpClient.getUri("pnfName")).thenThrow(URISyntaxException.class);
-
+ doThrow(URISyntaxException.class).when(aaiProducerReactiveHttpClient).getUri(any());
//then
StepVerifier.create(
aaiProducerReactiveHttpClient.getAaiProducerResponse(
- Mono.just(dmaapModel)
+ dmaapModel
)).expectSubscription().expectError(Exception.class).verify();
}
+ @Test
+ void getAppropriateUri_whenPassingCorrectedPathForPnf() throws URISyntaxException {
+ Assertions.assertEquals(aaiProducerReactiveHttpClient.getUri("NOKnhfsadhff"),
+ URI.create("https://54.45.33.2:1234/aai/v11/network/pnfs/pnf/NOKnhfsadhff"));
+ }
+
+
+ private void setupHeaders() {
+ aaiHeaders = new HashMap<>();
+ aaiHeaders.put("X-FromAppId", "PRH");
+ aaiHeaders.put("X-TransactionId", "vv-temp");
+ aaiHeaders.put("Accept", "application/json");
+ aaiHeaders.put("Real-Time", "true");
+ aaiHeaders.put("Content-Type", "application/merge-patch+json");
+ }
+
private void mockWebClientDependantObject() {
WebClient.RequestHeadersSpec requestHeadersSpec = mock(WebClient.RequestHeadersSpec.class);
when(webClient.patch()).thenReturn(requestBodyUriSpec);
when(requestBodyUriSpec.uri((URI) any())).thenReturn(requestBodyUriSpec);
when(requestBodyUriSpec.header(any(), any())).thenReturn(requestBodyUriSpec);
- when(requestBodyUriSpec.body(any())).thenReturn(requestHeadersSpec);
- doReturn(responseSpec).when(requestHeadersSpec).retrieve();
- doReturn(responseSpec).when(responseSpec).onStatus(any(), any());
+ when(requestBodyUriSpec.body(any(), (Class<Object>) any())).thenReturn(requestHeadersSpec);
+ when(requestHeadersSpec.exchange()).thenReturn(clientResponseMono);
}
-
}