summaryrefslogtreecommitdiffstats
path: root/prh-app-server/src/test
diff options
context:
space:
mode:
authorwasala <przemyslaw.wasala@nokia.com>2018-08-08 13:39:14 +0200
committerwasala <przemyslaw.wasala@nokia.com>2018-08-09 07:55:43 +0200
commit5005d7463fb8ef25f0b4e975d4392367037c7239 (patch)
treee1ef2c5f5bc99d9514c13e1068f3b56c1881a4c1 /prh-app-server/src/test
parent7679a6f8177d47116aa8dbae0b38f8b0a8174dc5 (diff)
Reactive A&AI client
*plugged reactiveHttpClient in prh workflow *added junit tests for workflow Change-Id: I74f3fa7354de9b0f7f164c070ea61b70e74bde23 Issue-ID: DCAEGEN2-609 Signed-off-by: wasala <przemyslaw.wasala@nokia.com>
Diffstat (limited to 'prh-app-server/src/test')
-rw-r--r--prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTaskImplTest.java66
-rw-r--r--prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiPublisherTaskSpy.java6
2 files changed, 24 insertions, 48 deletions
diff --git a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTaskImplTest.java b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTaskImplTest.java
index 90206122..e3d8fe2f 100644
--- a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTaskImplTest.java
+++ b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTaskImplTest.java
@@ -29,24 +29,19 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.Optional;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.function.Executable;
import org.onap.dcaegen2.services.prh.config.AaiClientConfiguration;
import org.onap.dcaegen2.services.prh.config.ImmutableAaiClientConfiguration;
-
import org.onap.dcaegen2.services.prh.configuration.AppConfig;
-import org.onap.dcaegen2.services.prh.exceptions.AaiNotFoundException;
-
import org.onap.dcaegen2.services.prh.exceptions.PrhTaskException;
import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
import org.onap.dcaegen2.services.prh.model.ImmutableConsumerDmaapModel;
-
-import org.onap.dcaegen2.services.prh.service.AaiProducerClient;
+import org.onap.dcaegen2.services.prh.service.producer.AaiProducerReactiveHttpClient;
+import reactor.core.publisher.Mono;
+import reactor.test.StepVerifier;
/**
* @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 5/14/18
@@ -64,7 +59,7 @@ class AaiProducerTaskImplTest {
private static ConsumerDmaapModel consumerDmaapModel;
private static AaiProducerTaskImpl aaiProducerTask;
private static AaiClientConfiguration aaiClientConfiguration;
- private static AaiProducerClient aaiProducerClient;
+ private static AaiProducerReactiveHttpClient aaiProducerReactiveHttpClient;
private static AppConfig appConfig;
@BeforeAll
@@ -99,57 +94,38 @@ class AaiProducerTaskImplTest {
}
@Test
- void whenPassedObjectFits_ReturnsCorrectStatus() throws AaiNotFoundException, URISyntaxException {
+ void whenPassedObjectFits_ReturnsCorrectStatus() throws PrhTaskException {
//given/when
- getAaiProducerTask_whenMockingResponseObject(200, false);
- ConsumerDmaapModel response = aaiProducerTask.execute(consumerDmaapModel);
+ getAaiProducerTask_whenMockingResponseObject(200);
+ Mono<ConsumerDmaapModel> response = aaiProducerTask.execute(Mono.just(consumerDmaapModel));
//then
- verify(aaiProducerClient, times(1)).getHttpResponse(any(ConsumerDmaapModel.class));
- verifyNoMoreInteractions(aaiProducerClient);
- Assertions.assertEquals(consumerDmaapModel, response);
+ verify(aaiProducerReactiveHttpClient, times(1)).getAaiProducerResponse(any());
+ verifyNoMoreInteractions(aaiProducerReactiveHttpClient);
+ Assertions.assertEquals(consumerDmaapModel, response.block());
}
@Test
- void whenPassedObjectFits_butIncorrectResponseReturns() throws URISyntaxException {
- //given/when
- getAaiProducerTask_whenMockingResponseObject(400, false);
- Executable executableCode = () -> aaiProducerTask.execute(consumerDmaapModel);
- Assertions
- .assertThrows(PrhTaskException.class, executableCode, "Incorrect status code in response message");
- //then
- verify(aaiProducerClient, times(1)).getHttpResponse(any(ConsumerDmaapModel.class));
- verifyNoMoreInteractions(aaiProducerClient);
- }
-
- @Test
- void whenPassedObjectFits_butHttpClientThrowsIoExceptionHandleIt() throws URISyntaxException {
+ void whenPassedObjectFits_butIncorrectResponseReturns() throws PrhTaskException {
//given/when
- getAaiProducerTask_whenMockingResponseObject(0, true);
-
- Executable executableCode = () -> aaiProducerTask.execute(consumerDmaapModel);
- Assertions
- .assertThrows(PrhTaskException.class, executableCode, "");
+ getAaiProducerTask_whenMockingResponseObject(400);
+ StepVerifier.create(aaiProducerTask.execute(Mono.just(consumerDmaapModel))).expectSubscription()
+ .expectError(PrhTaskException.class).verify();
//then
- verify(aaiProducerClient, times(1)).getHttpResponse(any(ConsumerDmaapModel.class));
- verifyNoMoreInteractions(aaiProducerClient);
+ verify(aaiProducerReactiveHttpClient, times(1)).getAaiProducerResponse(any());
+ verifyNoMoreInteractions(aaiProducerReactiveHttpClient);
}
-
- private static void getAaiProducerTask_whenMockingResponseObject(int statusCode, boolean throwsException)
- throws URISyntaxException {
+ private static void getAaiProducerTask_whenMockingResponseObject(Integer statusCode) {
//given
- aaiProducerClient = mock(AaiProducerClient.class);
- if (throwsException) {
- when(aaiProducerClient.getHttpResponse(consumerDmaapModel)).thenThrow(URISyntaxException.class);
- } else {
- when(aaiProducerClient.getHttpResponse(consumerDmaapModel)).thenReturn(Optional.of(statusCode));
- }
+ aaiProducerReactiveHttpClient = mock(AaiProducerReactiveHttpClient.class);
+ when(aaiProducerReactiveHttpClient.getAaiProducerResponse(any()))
+ .thenReturn(Mono.just(statusCode));
when(appConfig.getAaiClientConfiguration()).thenReturn(aaiClientConfiguration);
aaiProducerTask = spy(new AaiProducerTaskImpl(appConfig));
when(aaiProducerTask.resolveConfiguration()).thenReturn(aaiClientConfiguration);
- doReturn(aaiProducerClient).when(aaiProducerTask).resolveClient();
+ doReturn(aaiProducerReactiveHttpClient).when(aaiProducerTask).resolveClient();
}
} \ No newline at end of file
diff --git a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiPublisherTaskSpy.java b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiPublisherTaskSpy.java
index 9b0292b8..82dcdae9 100644
--- a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiPublisherTaskSpy.java
+++ b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiPublisherTaskSpy.java
@@ -26,7 +26,7 @@ import static org.mockito.Mockito.spy;
import org.onap.dcaegen2.services.prh.config.AaiClientConfiguration;
import org.onap.dcaegen2.services.prh.configuration.AppConfig;
-import org.onap.dcaegen2.services.prh.service.AaiProducerClient;
+import org.onap.dcaegen2.services.prh.service.producer.AaiProducerReactiveHttpClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
@@ -48,9 +48,9 @@ public class AaiPublisherTaskSpy {
AppConfig appConfig = spy(AppConfig.class);
doReturn(mock(AaiClientConfiguration.class)).when(appConfig).getAaiClientConfiguration();
AaiProducerTaskImpl aaiProducerTask = spy(new AaiProducerTaskImpl(appConfig));
- AaiProducerClient aaiProducerClient = mock(AaiProducerClient.class);
+ AaiProducerReactiveHttpClient aaiProducerReactiveHttpClient = mock(AaiProducerReactiveHttpClient.class);
doReturn(mock(AaiClientConfiguration.class)).when(aaiProducerTask).resolveConfiguration();
- doReturn(aaiProducerClient).when(aaiProducerTask).resolveClient();
+ doReturn(aaiProducerReactiveHttpClient).when(aaiProducerTask).resolveClient();
return aaiProducerTask;
}
}