diff options
16 files changed, 137 insertions, 224 deletions
@@ -176,13 +176,6 @@ <artifactId>gson</artifactId> <version>${immutables.version}</version> </dependency> - - <dependency> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - <version>6.14.3</version> - <scope>test</scope> - </dependency> </dependencies> </dependencyManagement> </project> diff --git a/prh-app-server/pom.xml b/prh-app-server/pom.xml index 5e88011b..b26ed86f 100644 --- a/prh-app-server/pom.xml +++ b/prh-app-server/pom.xml @@ -244,12 +244,7 @@ </dependency> <dependency> <groupId>org.mockito</groupId> - <artifactId>mockito-core</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> + <artifactId>mockito-junit-jupiter</artifactId> <scope>test</scope> </dependency> <dependency> @@ -258,9 +253,15 @@ <scope>test</scope> </dependency> <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-test</artifactId> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> + <exclusions> + <exclusion> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>io.projectreactor</groupId> diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CbsConfiguration.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CbsConfiguration.java index 74de87b0..3f018b53 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CbsConfiguration.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CbsConfiguration.java @@ -33,12 +33,7 @@ import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.model.MessageRo import org.onap.dcaegen2.services.sdk.rest.services.model.logging.RequestDiagnosticContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; -import org.springframework.scheduling.annotation.EnableScheduling; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import reactor.core.scheduler.Schedulers; @@ -46,11 +41,7 @@ import reactor.core.scheduler.Schedulers; import java.util.Optional; @Configuration -@ComponentScan("org.onap.dcaegen2.services.sdk.rest.services.cbs.client.providers") -@EnableConfigurationProperties -@EnableScheduling -@Primary -public class CbsConfiguration extends PrhAppConfig { +public class CbsConfiguration implements Config { private static final Logger LOGGER = LoggerFactory.getLogger(CbsConfiguration.class); private static final String CBS_CONFIG_MISSING = "CBS config missing"; private AaiClientConfiguration aaiClientCBSConfiguration; @@ -60,8 +51,11 @@ public class CbsConfiguration extends PrhAppConfig { private MessageRouterSubscribeRequest messageRouterCBSSubscribeRequest; private MessageRouterPublishRequest messageRouterCBSUpdatePublishRequest; - @Autowired - private ConsulConfigFileReader consulConfigFileReader; + private final ConsulConfigFileReader consulConfigFileReader; + + public CbsConfiguration(ConsulConfigFileReader consulConfigFileReader) { + this.consulConfigFileReader = consulConfigFileReader; + } public void runTask() { Flux.defer(this::resolveEnvProperties) diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/Config.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/Config.java index 53ccdc05..5fe6d703 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/Config.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/Config.java @@ -25,15 +25,12 @@ import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.api.MessageRout import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.api.MessageRouterSubscriber; import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.model.MessageRouterPublishRequest; import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.model.MessageRouterSubscribeRequest; -import org.springframework.core.io.Resource; /** * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/25/18 */ public interface Config { - Resource getGitInfo(); - MessageRouterSubscribeRequest getMessageRouterSubscribeRequest(); AaiClientConfiguration getAaiClientConfiguration(); diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java index 5ef00dd0..71d707bc 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java @@ -23,8 +23,6 @@ package org.onap.dcaegen2.services.prh.configuration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.Resource; import org.springframework.util.StreamUtils; @@ -37,9 +35,7 @@ import java.nio.charset.Charset; * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/9/18 */ @Configuration -@EnableConfigurationProperties -@ConfigurationProperties("app") -public abstract class PrhAppConfig implements Config { +public class PrhAppConfig { private static final Logger LOGGER = LoggerFactory.getLogger(PrhAppConfig.class); @Value("classpath:git_info.json") @@ -47,10 +43,11 @@ public abstract class PrhAppConfig implements Config { @PostConstruct private void printGitInfo() throws IOException { - LOGGER.debug("Git info={}", StreamUtils.copyToString(gitInfo.getInputStream(), Charset.defaultCharset())); + if(LOGGER.isDebugEnabled()) { + LOGGER.debug("Git info={}", StreamUtils.copyToString(gitInfo.getInputStream(), Charset.defaultCharset())); + } } - @Override public Resource getGitInfo() { return gitInfo; } diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/AppInfoController.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/AppInfoController.java index 9a49dee5..7475814f 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/AppInfoController.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/AppInfoController.java @@ -20,13 +20,17 @@ package org.onap.dcaegen2.services.prh.controllers; -import io.swagger.annotations.*; -import org.onap.dcaegen2.services.prh.configuration.Config; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; +import org.onap.dcaegen2.services.prh.configuration.PrhAppConfig; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.Resource; -import org.springframework.http.*; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Mono; @@ -39,11 +43,10 @@ import reactor.core.publisher.Mono; public class AppInfoController { private static final Logger LOGGER = LoggerFactory.getLogger(AppInfoController.class); - private final Resource gitInfo; + private final PrhAppConfig config; - @Autowired - public AppInfoController(Config config) { - gitInfo = config.getGitInfo(); + public AppInfoController(PrhAppConfig config) { + this.config = config; } @GetMapping(value = "heartbeat", produces = MediaType.TEXT_PLAIN_VALUE) @@ -58,6 +61,6 @@ public class AppInfoController { @GetMapping(value = "version", produces = MediaType.APPLICATION_JSON_VALUE) @ApiOperation("Returns version information") public Mono<Resource> version() { - return Mono.defer(() -> Mono.just(gitInfo)); + return Mono.defer(() -> Mono.just(config.getGitInfo())); } } diff --git a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/controllers/AppInfoControllerTest.java b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/controllers/AppInfoControllerTest.java new file mode 100644 index 00000000..23a444c4 --- /dev/null +++ b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/controllers/AppInfoControllerTest.java @@ -0,0 +1,67 @@ +/* + * ============LICENSE_START======================================================= + * PNF-REGISTRATION-HANDLER + * ================================================================================ + * Copyright (C) 2019 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.controllers; + +import org.junit.jupiter.api.Test; +import org.onap.dcaegen2.services.prh.configuration.PrhAppConfig; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.core.io.ByteArrayResource; +import org.springframework.http.MediaType; +import org.springframework.test.web.reactive.server.WebTestClient; + +import static org.mockito.Mockito.when; + +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +class AppInfoControllerTest { + + private static final String SAMPLE_GIT_INFO_CONTENT = "{ \"git.commit.id\" : \"37444e\" }"; + + @MockBean + private PrhAppConfig prhAppConfig; + + @Autowired + private WebTestClient webTestClient; + + @Test + void shouldProvideHeartbeatResponse() { + webTestClient + .get().uri("/heartbeat") + .accept(MediaType.TEXT_PLAIN) + .exchange() + .expectStatus().isOk() + .expectBody(String.class).isEqualTo("alive"); + } + + + @Test + void shouldProvideVersionInfo() { + when(prhAppConfig.getGitInfo()).thenReturn(new ByteArrayResource(SAMPLE_GIT_INFO_CONTENT.getBytes())); + + webTestClient + .get().uri("/version") + .accept(MediaType.APPLICATION_JSON) + .exchange() + .expectStatus().isOk() + .expectBody(String.class).isEqualTo(SAMPLE_GIT_INFO_CONTENT); + } +}
\ No newline at end of file diff --git a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/integration/ScheduledXmlContextITest.java b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/integration/ScheduledXmlContextITest.java index b5f55d0e..e0198536 100644 --- a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/integration/ScheduledXmlContextITest.java +++ b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/integration/ScheduledXmlContextITest.java @@ -28,13 +28,12 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; -import org.onap.dcaegen2.services.prh.integration.junit5.mockito.MockitoExtension; +import org.mockito.junit.jupiter.MockitoExtension; import org.onap.dcaegen2.services.prh.tasks.ScheduledTasks; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; -import org.springframework.test.context.testng.AbstractTestNGSpringContextTests; /** * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 3/27/18 @@ -42,7 +41,7 @@ import org.springframework.test.context.testng.AbstractTestNGSpringContextTests; @Configuration @ExtendWith({MockitoExtension.class, SpringExtension.class}) @ContextConfiguration(locations = "classpath:scheduled-context.xml") -class ScheduledXmlContextITest extends AbstractTestNGSpringContextTests { +class ScheduledXmlContextITest { private static final int WAIT_FOR_SCHEDULING = 1; diff --git a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/integration/ServiceMockProvider.java b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/integration/ServiceMockProvider.java deleted file mode 100644 index 2660e3e5..00000000 --- a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/integration/ServiceMockProvider.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * PROJECT - * ================================================================================ - * 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.integration; - -import static org.mockito.Mockito.mock; - -import org.onap.dcaegen2.services.prh.configuration.PrhAppConfig; -import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 7/10/18 - */ -@Configuration -class ServiceMockProvider { - - @Bean - public PrhAppConfig getPrhAppConfig() { - return mock(PrhAppConfig.class); - } - - @Bean - public ConsumerDmaapModel getRequestDetails() { - return mock(ConsumerDmaapModel.class); - } -} diff --git a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/integration/junit5/mockito/MockitoExtension.java b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/integration/junit5/mockito/MockitoExtension.java deleted file mode 100644 index af9c2b44..00000000 --- a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/integration/junit5/mockito/MockitoExtension.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * PROJECT - * ================================================================================ - * 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.integration.junit5.mockito; - -import static org.mockito.Mockito.mock; - -import java.lang.reflect.Parameter; -import org.junit.jupiter.api.extension.ExtensionContext; -import org.junit.jupiter.api.extension.ExtensionContext.Namespace; -import org.junit.jupiter.api.extension.ExtensionContext.Store; -import org.junit.jupiter.api.extension.ParameterContext; -import org.junit.jupiter.api.extension.ParameterResolver; -import org.junit.jupiter.api.extension.TestInstancePostProcessor; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; - -/** - * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 3/27/18 - * - * {@code MockitoExtension } showcases the {@link TestInstancePostProcessor} and {@link ParameterResolver} - * extension APIs of JUnit 5 by providing dependency injection support at the field level and at the method - * parameter level viaMockito 2.x's {@link Mock @Mock} annotation. - */ -public class MockitoExtension implements TestInstancePostProcessor, ParameterResolver { - - @Override - public void postProcessTestInstance(Object testInstance, ExtensionContext context) { - MockitoAnnotations.initMocks(testInstance); - } - - @Override - public boolean supportsParameter(ParameterContext parameterContext, ExtensionContext extensionContext) { - return parameterContext.getParameter().isAnnotationPresent(Mock.class); - } - - @Override - public Object resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) { - return getMock(parameterContext.getParameter(), extensionContext); - } - - private Object getMock(Parameter parameter, ExtensionContext extensionContext) { - Class<?> mockType = parameter.getType(); - Store mocks = extensionContext.getStore(Namespace.create(MockitoExtension.class, mockType)); - String mockName = getMockName(parameter); - - if (mockName != null) { - return mocks.getOrComputeIfAbsent(mockName, key -> mock(mockType, mockName)); - } else { - return mocks.getOrComputeIfAbsent(mockType.getCanonicalName(), key -> mock(mockType)); - } - } - - private String getMockName(Parameter parameter) { - String explicitMockName = parameter.getAnnotation(Mock.class).name().trim(); - if (!explicitMockName.isEmpty()) { - return explicitMockName; - } else if (parameter.isNamePresent()) { - return parameter.getName(); - } - return null; - } - - -} 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/AaiPublisherTaskTestConfig.java index 04388fb7..fe3a3ae3 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/AaiPublisherTaskTestConfig.java @@ -21,7 +21,6 @@ package org.onap.dcaegen2.services.prh.tasks; import org.onap.dcaegen2.services.prh.configuration.CbsConfiguration; -import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel; import org.onap.dcaegen2.services.sdk.rest.services.aai.client.config.AaiClientConfiguration; import org.onap.dcaegen2.services.sdk.rest.services.aai.client.service.http.patch.AaiHttpPatchClient; import org.springframework.context.annotation.Bean; @@ -30,7 +29,6 @@ import org.springframework.context.annotation.Primary; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; @@ -38,22 +36,18 @@ import static org.mockito.Mockito.spy; * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/13/18 */ @Configuration -public class AaiPublisherTaskSpy { +public class AaiPublisherTaskTestConfig { /** * Mocking bean for tests. - * - * @return A&AI ProducerTask spy */ @Bean @Primary public AaiProducerTask registerSimpleAaiPublisherTask() { - CbsConfiguration cbsConfiguration = spy(CbsConfiguration.class); - ConsumerDmaapModel consumerDmaapModel = spy(ConsumerDmaapModel.class); + CbsConfiguration cbsConfiguration = mock(CbsConfiguration.class); doReturn(mock(AaiClientConfiguration.class)).when(cbsConfiguration).getAaiClientConfiguration(); AaiHttpPatchClient aaiReactiveHttpPatchClient = mock(AaiHttpPatchClient.class); - AaiProducerTaskImpl aaiProducerTask = spy(new AaiProducerTaskImpl(aaiReactiveHttpPatchClient)); - return aaiProducerTask; + return new AaiProducerTaskImpl(aaiReactiveHttpPatchClient); } } diff --git a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTaskImplTest.java b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTaskImplTest.java index 26a6060f..512d1eda 100644 --- a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTaskImplTest.java +++ b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTaskImplTest.java @@ -26,8 +26,13 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.onap.dcaegen2.services.prh.integration.junit5.mockito.MockitoExtension; -import org.onap.dcaegen2.services.prh.model.*; +import org.mockito.junit.jupiter.MockitoExtension; +import org.onap.dcaegen2.services.prh.model.AaiPnfResultModel; +import org.onap.dcaegen2.services.prh.model.AaiServiceInstanceResultModel; +import org.onap.dcaegen2.services.prh.model.ImmutableRelationshipData; +import org.onap.dcaegen2.services.prh.model.Relationship; +import org.onap.dcaegen2.services.prh.model.RelationshipData; +import org.onap.dcaegen2.services.prh.model.RelationshipDict; import org.onap.dcaegen2.services.sdk.rest.services.aai.client.service.http.AaiHttpClient; import org.onap.dcaegen2.services.sdk.rest.services.model.AaiModel; import org.onap.dcaegen2.services.sdk.rest.services.model.AaiServiceInstanceQueryModel; @@ -38,10 +43,9 @@ import java.util.List; import static org.mockito.ArgumentMatchers.any; import static org.mockito.BDDMockito.given; -import static org.mockito.Mockito.when; @ExtendWith(MockitoExtension.class) -public class AaiQueryTaskImplTest { +class AaiQueryTaskImplTest { @Mock private AaiHttpClient<AaiModel, AaiPnfResultModel> getPnfModelClient; @@ -60,15 +64,6 @@ public class AaiQueryTaskImplTest { @Mock private AaiServiceInstanceResultModel serviceModel; - @Mock - private RelationshipData customer; - - @Mock - private RelationshipData serviceType; - - @Mock - private RelationshipData serviceInstanceId; - private List<RelationshipData> allRelationData; private AaiQueryTask sut; @@ -77,16 +72,14 @@ public class AaiQueryTaskImplTest { @BeforeEach void setUp() { - when(customer.getRelationshipKey()).thenReturn(AaiQueryTaskImpl.CUSTOMER); - when(customer.getRelationshipValue()).thenReturn("Foo"); - - when(serviceType.getRelationshipKey()).thenReturn(AaiQueryTaskImpl.SERVICE_TYPE); - when(serviceType.getRelationshipValue()).thenReturn("Bar"); - - when(serviceInstanceId.getRelationshipKey()).thenReturn(AaiQueryTaskImpl.SERVICE_INSTANCE_ID); - when(serviceInstanceId.getRelationshipValue()).thenReturn("Baz"); - - allRelationData = Lists.list(customer, serviceType, serviceInstanceId); + allRelationData = Lists.list( + ImmutableRelationshipData.builder() + .relationshipKey(AaiQueryTaskImpl.CUSTOMER).relationshipValue("Foo").build(), + ImmutableRelationshipData.builder() + .relationshipKey(AaiQueryTaskImpl.SERVICE_TYPE).relationshipValue("Bar").build(), + ImmutableRelationshipData.builder() + .relationshipKey(AaiQueryTaskImpl.SERVICE_INSTANCE_ID).relationshipValue("Baz").build() + ); sut = new AaiQueryTaskImpl(getPnfModelClient, getServiceClient); } diff --git a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImplTest.java b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImplTest.java index b1f97a3c..a5405069 100644 --- a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImplTest.java +++ b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImplTest.java @@ -28,9 +28,9 @@ import org.junit.jupiter.api.function.Executable; import org.mockito.ArgumentCaptor; import org.mockito.Captor; import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; import org.onap.dcaegen2.services.prh.exceptions.DmaapNotFoundException; import org.onap.dcaegen2.services.prh.exceptions.PrhTaskException; -import org.onap.dcaegen2.services.prh.integration.junit5.mockito.MockitoExtension; import org.onap.dcaegen2.services.prh.model.ImmutableConsumerDmaapModel; import org.onap.dcaegen2.services.sdk.model.streams.dmaap.ImmutableMessageRouterSink; import org.onap.dcaegen2.services.sdk.model.streams.dmaap.MessageRouterSink; diff --git a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/ScheduledTasksTest.java b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/ScheduledTasksTest.java index 47767bac..cefc5c76 100644 --- a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/ScheduledTasksTest.java +++ b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/ScheduledTasksTest.java @@ -23,11 +23,10 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; import org.onap.dcaegen2.services.prh.exceptions.PrhTaskException; -import org.onap.dcaegen2.services.prh.integration.junit5.mockito.MockitoExtension; import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel; import org.onap.dcaegen2.services.prh.model.ImmutableConsumerDmaapModel; -import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.model.MessageRouterPublishResponse; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -36,14 +35,13 @@ import java.util.Collections; import java.util.Map; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; @ExtendWith(MockitoExtension.class) -public class ScheduledTasksTest { +class ScheduledTasksTest { private final static ConsumerDmaapModel DMAAP_MODEL = ImmutableConsumerDmaapModel .builder() @@ -75,12 +73,7 @@ public class ScheduledTasksTest { private ScheduledTasks sut; @BeforeEach - void setUp() throws PrhTaskException, SSLException { - final Mono<ConsumerDmaapModel> consumerModel = Mono.just(DMAAP_MODEL); - - given(aaiProducer.execute(DMAAP_MODEL)).willReturn(consumerModel); - given(bbsActions.execute(DMAAP_MODEL)).willReturn(consumerModel); - + void setUp() { sut = new ScheduledTasks( consumer, readyPublisher, @@ -124,6 +117,12 @@ public class ScheduledTasksTest { @Test void whenPnfWithoutService_PatchToAaiAndPostToPnfReadyShouldBePerformed() throws SSLException, PrhTaskException { //given + Mono<ConsumerDmaapModel> consumerModel = Mono.just(DMAAP_MODEL); + + given(aaiProducer.execute(DMAAP_MODEL)).willReturn(consumerModel); + given(bbsActions.execute(DMAAP_MODEL)).willReturn(consumerModel); + + given(consumer.execute()).willReturn(Flux.just(DMAAP_MODEL)); given(aaiQuery.execute(any())).willReturn(Mono.just(false)); @@ -157,16 +156,16 @@ public class ScheduledTasksTest { verify(readyPublisher, never()).execute(DMAAP_MODEL); } - private Flux<MessageRouterPublishResponse> verifyThatPnfModelWasNotSentDmaapPnfUpdateTopic() throws PrhTaskException { - return verify(updatePublisher, never()).execute(DMAAP_MODEL); + private void verifyThatPnfModelWasNotSentDmaapPnfUpdateTopic() throws PrhTaskException { + verify(updatePublisher, never()).execute(DMAAP_MODEL); } private void verifyThatPnfModelWasSentDmaapPnfReadyTopic() throws PrhTaskException { verify(readyPublisher, atLeastOnce()).execute(DMAAP_MODEL); } - private Flux<MessageRouterPublishResponse> verifyThatPnfModelWasSentDmaapPnfUpdateTopic() throws PrhTaskException { - return verify(updatePublisher, atLeastOnce()).execute(DMAAP_MODEL); + private void verifyThatPnfModelWasSentDmaapPnfUpdateTopic() throws PrhTaskException { + verify(updatePublisher, atLeastOnce()).execute(DMAAP_MODEL); } private void verifyThatPnfUpdateWasNotSentToAai() throws PrhTaskException, SSLException { diff --git a/prh-app-server/src/test/resources/application.yaml b/prh-app-server/src/test/resources/application.yaml new file mode 100644 index 00000000..90385b2b --- /dev/null +++ b/prh-app-server/src/test/resources/application.yaml @@ -0,0 +1,3 @@ +spring: + profiles: + active: prod
\ No newline at end of file diff --git a/prh-commons/pom.xml b/prh-commons/pom.xml index 66cc9465..fb8e8978 100644 --- a/prh-commons/pom.xml +++ b/prh-commons/pom.xml @@ -67,7 +67,7 @@ </dependency> <dependency> <groupId>org.mockito</groupId> - <artifactId>mockito-core</artifactId> + <artifactId>mockito-junit-jupiter</artifactId> <scope>test</scope> </dependency> <dependency> |