diff options
Diffstat (limited to 'vid-app-common/src/test/java/org')
28 files changed, 625 insertions, 323 deletions
diff --git a/vid-app-common/src/test/java/org/onap/vid/aai/AaiClientTest.java b/vid-app-common/src/test/java/org/onap/vid/aai/AaiClientTest.java index 43ac2899b..201ec0981 100644 --- a/vid-app-common/src/test/java/org/onap/vid/aai/AaiClientTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/aai/AaiClientTest.java @@ -72,15 +72,12 @@ import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; +import static org.apache.commons.lang3.StringUtils.equalsIgnoreCase; import static org.hamcrest.CoreMatchers.*; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalToIgnoringCase; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.*; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.*; +import static org.mockito.Mockito.*; import static org.testng.Assert.*; @ContextConfiguration(classes = {LocalWebConfig.class, SystemProperties.class}) @@ -114,7 +111,7 @@ public class AaiClientTest { when(aaiClientMock.getLogicalLink(any(String.class))).thenCallRealMethod(); aaiClientMock.getLogicalLink(link); - Mockito.verify(aaiClientMock).doAaiGet(argThat(equalToIgnoringCase(expectedUrl)), any(Boolean.class)); + Mockito.verify(aaiClientMock).doAaiGet(argThat(s -> equalsIgnoreCase(s, expectedUrl)), any(Boolean.class)); } @DataProvider @@ -217,7 +214,7 @@ public class AaiClientTest { @Test public void getTenants_Arguments_Are_Null_Or_Empty() { - when(aaiClientMock.getTenants(any(String.class), any(String.class))).thenCallRealMethod(); + when(aaiClientMock.getTenants(any(), any())).thenCallRealMethod(); AaiResponse response = aaiClientMock.getTenants("", ""); diff --git a/vid-app-common/src/test/java/org/onap/vid/aai/AaiOverTLSClientServerTest.java b/vid-app-common/src/test/java/org/onap/vid/aai/AaiOverTLSClientServerTest.java new file mode 100644 index 000000000..d4f59e7da --- /dev/null +++ b/vid-app-common/src/test/java/org/onap/vid/aai/AaiOverTLSClientServerTest.java @@ -0,0 +1,199 @@ +/*- + * ============LICENSE_START======================================================= + * VID + * ================================================================================ + * 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.vid.aai; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.xebialabs.restito.semantics.Action; +import io.joshworks.restclient.http.HttpResponse; +import io.joshworks.restclient.http.mapper.ObjectMapper; +import org.assertj.core.api.Assertions; +import org.glassfish.grizzly.http.util.HttpStatus; +import org.json.simple.parser.JSONParser; +import org.json.simple.parser.ParseException; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.onap.vid.aai.model.AaiNodeQueryResponse; +import org.onap.vid.aai.model.ResourceType; +import org.onap.vid.client.SyncRestClient; +import org.onap.vid.model.SubscriberList; +import org.onap.vid.testUtils.StubServerUtil; + +import java.io.IOException; + +@RunWith(MockitoJUnitRunner.class) +public class AaiOverTLSClientServerTest { + + @Mock + private AaiOverTLSPropertySupplier propertySupplier; + + private static StubServerUtil serverUtil; + + private String searchNodesQueryResponsePayload = + "{\n" + + "\"result-data\": [\n" + + " {\n" + + "\"resource-type\": \"generic-vnf\",\n" + + "\"resource-link\": \"/aai/v13/network/generic-vnfs/generic-vnf/6eac8e69-c98d-4ac5-ab90-69fe0cabda76\"\n" + + "},\n" + + " {\n" + + "\"resource-type\": \"generic-vnf\",\n" + + "\"resource-link\": \"/aai/v13/network/generic-vnfs/generic-vnf/e3766bc5-40a7-4dbe-9d4a-1d8c8f284913\"\n" + + "},\n" + + " {\n" + + "\"resource-type\": \"generic-vnf\",\n" + + "\"resource-link\": \"/aai/v13/network/generic-vnfs/generic-vnf/6aa153ee-6637-4b49-beb5-a5e756e00393\"\n" + + "},\n" + + " {\n" + + "\"resource-type\": \"generic-vnf\",\n" + + "\"resource-link\": \"/aai/v13/network/generic-vnfs/generic-vnf/5a981c30-de25-4ea9-98fa-ed398f13ea41\"\n" + + "},\n" + + " {\n" + + "\"resource-type\": \"generic-vnf\",\n" + + "\"resource-link\": \"/aai/v13/network/generic-vnfs/generic-vnf/b0ef2271-8ac0-4268-b9a5-09cb50c20c85\"\n" + + "}\n" + + "],\n" + + "}"; + + private String subscribersResponsePayload = + "{\n" + + "\"customer\": [\n" + + " {\n" + + "\"global-customer-id\": \"DemoCust_752df078-d8e9-4731-abf6-8ae7348075bb\",\n" + + "\"subscriber-name\": \"DemoCust_752df078-d8e9-4731-abf6-8ae7348075bb\",\n" + + "\"subscriber-type\": \"INFRA\",\n" + + "\"resource-version\": \"1536158347585\"\n" + + "},\n" + + " {\n" + + "\"global-customer-id\": \"DemoCust_62bf43a3-4888-4c82-ae98-3ebc3d782761\",\n" + + "\"subscriber-name\": \"DemoCust_62bf43a3-4888-4c82-ae98-3ebc3d782761\",\n" + + "\"subscriber-type\": \"INFRA\",\n" + + "\"resource-version\": \"1536240894581\"\n" + + "},\n" + + " {\n" + + "\"global-customer-id\": \"DemoCust_e84256d6-ef3e-4a28-9741-9987019c3a8f\",\n" + + "\"subscriber-name\": \"DemoCust_e84256d6-ef3e-4a28-9741-9987019c3a8f\",\n" + + "\"subscriber-type\": \"INFRA\",\n" + + "\"resource-version\": \"1536330956393\"\n" + + "},\n" + + " {\n" + + "\"global-customer-id\": \"ETE_Customer_377bb124-2638-4025-a315-cdae04f52bce\",\n" + + "\"subscriber-name\": \"ETE_Customer_377bb124-2638-4025-a315-cdae04f52bce\",\n" + + "\"subscriber-type\": \"INFRA\",\n" + + "\"resource-version\": \"1536088625538\"\n" + + "}\n" + + "],\n" + + "}"; + + @BeforeClass + public static void setUpClass(){ + serverUtil = new StubServerUtil(); + serverUtil.runServer(); + } + + @AfterClass + public static void tearDown(){ + serverUtil.stopServer(); + } + + @Test + public void shouldSearchNodeTypeByName() throws IOException, ParseException { + ObjectMapper objectMapper = getFasterXmlObjectMapper(); + AaiOverTLSClient aaiOverTLSClient = new AaiOverTLSClient(new SyncRestClient(objectMapper), propertySupplier, serverUtil.constructTargetUrl("http", "")); + + serverUtil.prepareGetCall("/search/nodes-query", new JSONParser().parse(searchNodesQueryResponsePayload), Action.status(HttpStatus.OK_200)); + + HttpResponse<AaiNodeQueryResponse> aaiNodeQueryResponseHttpResponse = aaiOverTLSClient + .searchNodeTypeByName("any", ResourceType.GENERIC_VNF); + + AaiNodeQueryResponse body = aaiNodeQueryResponseHttpResponse.getBody(); + Assertions.assertThat(body.resultData.size()).isEqualTo(5); + Assertions.assertThat(aaiNodeQueryResponseHttpResponse.getStatus()).isEqualTo(200); + } + + @Test + public void shouldGetSubscribers() throws ParseException, JsonProcessingException { + ObjectMapper objectMapper = getCodehausObjectMapper(); + AaiOverTLSClient aaiOverTLSClient = new AaiOverTLSClient(new SyncRestClient(objectMapper), propertySupplier, serverUtil.constructTargetUrl("http", "")); + + serverUtil.prepareGetCall("/business/customers", new JSONParser().parse(subscribersResponsePayload), Action.status(HttpStatus.OK_200)); + + HttpResponse<SubscriberList> allSubscribers = aaiOverTLSClient.getAllSubscribers(); + + SubscriberList subscriberList = allSubscribers.getBody(); + Assertions.assertThat(subscriberList.customer.size()).isEqualTo(4); + Assertions.assertThat(allSubscribers.getStatus()).isEqualTo(200); + } + + private ObjectMapper getCodehausObjectMapper() { + return new ObjectMapper() { + + org.codehaus.jackson.map.ObjectMapper om = new org.codehaus.jackson.map.ObjectMapper(); + + @Override + public <T> T readValue(String s, Class<T> aClass) { + try { + return om.readValue(s, aClass); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + @Override + public String writeValue(Object o) { + try { + return om.writeValueAsString(o); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + }; + } + + private ObjectMapper getFasterXmlObjectMapper() { + return new ObjectMapper() { + + com.fasterxml.jackson.databind.ObjectMapper om = new com.fasterxml.jackson.databind.ObjectMapper(); + + @Override + public <T> T readValue(String s, Class<T> aClass) { + try { + return om.readValue(s, aClass); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + @Override + public String writeValue(Object o) { + try { + return om.writeValueAsString(o); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + }; + } + +} diff --git a/vid-app-common/src/test/java/org/onap/vid/aai/AaiOverTLSClientTest.java b/vid-app-common/src/test/java/org/onap/vid/aai/AaiOverTLSClientTest.java new file mode 100644 index 000000000..f281e84b6 --- /dev/null +++ b/vid-app-common/src/test/java/org/onap/vid/aai/AaiOverTLSClientTest.java @@ -0,0 +1,89 @@ +/*- + * ============LICENSE_START======================================================= + * VID + * ================================================================================ + * 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.vid.aai; + +import com.google.common.collect.ImmutableMap; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.onap.vid.aai.model.AaiNodeQueryResponse; +import org.onap.vid.aai.model.ResourceType; +import org.onap.vid.client.SyncRestClient; +import org.onap.vid.model.SubscriberList; + +import java.util.Collections; +import java.util.Map; + +import static org.mockito.ArgumentMatchers.contains; +import static org.mockito.ArgumentMatchers.eq; + +@RunWith(MockitoJUnitRunner.class) +public class AaiOverTLSClientTest { + + private static final String SEARCH_NODES_QUERY_SEARCH_NODE_TYPE = "search/nodes-query?search-node-type=generic-vnf&filter=vnf-name:EQUALS:name"; + private static final String SUBSCRIBERS = "business/customers?subscriber-type=INFRA&depth=0"; + private AaiOverTLSClient aaiRestClient; + + @Mock + private SyncRestClient syncRestClient; + @Mock + private AaiOverTLSPropertySupplier propertySupplier; + + @Before + public void setUp() { + aaiRestClient = new AaiOverTLSClient(syncRestClient, propertySupplier); + } + + @Test + public void testSearchNodeTypeByName() { + mockPropertyReader(); + + aaiRestClient.searchNodeTypeByName("name", ResourceType.GENERIC_VNF); + Mockito.verify(syncRestClient).get(contains(SEARCH_NODES_QUERY_SEARCH_NODE_TYPE), + eq(getHeaders()), eq(Collections.emptyMap()), eq(AaiNodeQueryResponse.class)); + } + + @Test + public void testGetAllSubscribers(){ + mockPropertyReader(); + + aaiRestClient.getAllSubscribers(); + Mockito.verify(syncRestClient).get(contains(SUBSCRIBERS), + eq(getHeaders()), eq(Collections.emptyMap()), eq(SubscriberList.class)); + } + + private void mockPropertyReader() { + Mockito.when(propertySupplier.getPassword()).thenReturn("Pass"); + Mockito.when(propertySupplier.getUsername()).thenReturn("User"); + Mockito.when(propertySupplier.getRequestId()).thenReturn("1"); + Mockito.when(propertySupplier.getRandomUUID()).thenReturn("2"); + } + + private Map<String,String> getHeaders(){ + return ImmutableMap.<String, String>builder().put("Authorization", "Basic VXNlcjpQYXNz"). + put("X-FromAppId", "VidAaiController").put("Accept", "application/json").put("X-ECOMP-RequestID", "1"). + put("X-TransactionId", "2").put("Content-Type", "application/json").build(); + } + +}
\ No newline at end of file diff --git a/vid-app-common/src/test/java/org/onap/vid/aai/util/HttpsAuthClientTest.java b/vid-app-common/src/test/java/org/onap/vid/aai/util/HttpsAuthClientTest.java index f000dc801..ce957ab67 100644 --- a/vid-app-common/src/test/java/org/onap/vid/aai/util/HttpsAuthClientTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/aai/util/HttpsAuthClientTest.java @@ -21,21 +21,11 @@ package org.onap.vid.aai.util; -import org.junit.Before; -import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; -import org.onap.vid.aai.exceptions.HttpClientBuilderException; +import org.mockito.junit.MockitoJUnitRunner; import javax.net.ssl.SSLContext; -import java.util.Optional; - -import static org.mockito.Matchers.anyString; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) public class HttpsAuthClientTest { diff --git a/vid-app-common/src/test/java/org/onap/vid/aai/util/SingleAAIRestInterfaceTest.java b/vid-app-common/src/test/java/org/onap/vid/aai/util/SingleAAIRestInterfaceTest.java index cd2b8ff28..7fad9019c 100644 --- a/vid-app-common/src/test/java/org/onap/vid/aai/util/SingleAAIRestInterfaceTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/aai/util/SingleAAIRestInterfaceTest.java @@ -25,7 +25,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.onap.vid.aai.exceptions.InvalidPropertyException; import org.testng.Assert; diff --git a/vid-app-common/src/test/java/org/onap/vid/asdc/parser/ToscaParserImpl2Test.java b/vid-app-common/src/test/java/org/onap/vid/asdc/parser/ToscaParserImpl2Test.java index 1282a6f78..e1c5e923b 100644 --- a/vid-app-common/src/test/java/org/onap/vid/asdc/parser/ToscaParserImpl2Test.java +++ b/vid-app-common/src/test/java/org/onap/vid/asdc/parser/ToscaParserImpl2Test.java @@ -15,8 +15,8 @@ import org.onap.sdc.toscaparser.api.NodeTemplate; import org.onap.vid.asdc.AsdcCatalogException; import org.onap.vid.asdc.AsdcClient; import org.onap.vid.asdc.local.LocalAsdcClient; -import org.onap.vid.model.*; import org.onap.vid.controllers.ToscaParserMockHelper; +import org.onap.vid.model.*; import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -196,6 +196,28 @@ public class ToscaParserImpl2Test { JsonAssert.assertJsonEquals(expectedConfigurations, actualConfigurations); } + @Test + public void modelWithAnnotatedInputWithTwoProperties_vfModuleGetsTheInput() throws Exception { + final ToscaParserMockHelper mockHelper = new ToscaParserMockHelper("90fe6842-aa76-4b68-8329-5c86ff564407", "empty.json"); + final ServiceModel serviceModel = toscaParserImpl2.makeServiceModel(getCsarPath(mockHelper.getUuid()), getServiceByUuid(mockHelper.getUuid())); + + assertJsonStringEqualsIgnoreNulls("{ vfModules: { 201712488_adiodvpe10..201712488AdiodVpe1..ADIOD_vRE_BV..module-1: { inputs: { 201712488_adiodvpe10_availability_zone_0: { } } } } }", om.writeValueAsString(serviceModel)); + } + + @Test + public void modelWithNfNamingWithToValues_ecompGeneratedNamingIsExtracted() throws Exception { + final ToscaParserMockHelper mockHelper = new ToscaParserMockHelper("90fe6842-aa76-4b68-8329-5c86ff564407", "empty.json"); + final ServiceModel serviceModel = toscaParserImpl2.makeServiceModel(getCsarPath(mockHelper.getUuid()), getServiceByUuid(mockHelper.getUuid())); + + assertJsonStringEqualsIgnoreNulls("" + + "{ vnfs: " + + " { \"201712-488_ADIOD-vPE-1 0\": " + + " { properties: { " + + " ecomp_generated_naming: \"true\", " + + " nf_naming: \"{naming_policy=SDNC_Policy.Config_MS_1806SRIOV_VPE_ADIoDJson, ecomp_generated_naming=true}\" " + + "} } } }", om.writeValueAsString(serviceModel)); + } + private void setPprobeServiceProxy(Map<String, PortMirroringConfig> expectedConfigurations){ //Port Mirroring Configuration By Policy 0 doesn't contains pProbe. // But due to sdc design if pProbe not exists parser expects to get it from other source. diff --git a/vid-app-common/src/test/java/org/onap/vid/asdc/rest/SdcRestClientTest.java b/vid-app-common/src/test/java/org/onap/vid/asdc/rest/SdcRestClientTest.java index c1d6ab78a..642569c73 100644 --- a/vid-app-common/src/test/java/org/onap/vid/asdc/rest/SdcRestClientTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/asdc/rest/SdcRestClientTest.java @@ -25,7 +25,7 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.onap.vid.asdc.AsdcCatalogException; import org.onap.vid.asdc.beans.Service; import org.onap.vid.client.SyncRestClient; @@ -37,9 +37,7 @@ import java.util.UUID; import static org.hamcrest.CoreMatchers.notNullValue; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.Is.is; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyMapOf; -import static org.mockito.Matchers.matches; +import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) @@ -82,7 +80,7 @@ public class SdcRestClientTest { @Test public void shouldReturnServiceForGivenUUID() throws AsdcCatalogException { String url = String.format(METADATA_URL_REGEX, randomId); - when(mockedSyncRestClient.get(matches(url), anyMapOf(String.class, String.class), anyMapOf(String.class, String.class), any())).thenReturn(httpResponse); + when(mockedSyncRestClient.get(matches(url), anyMap(), anyMap(), any())).thenReturn(httpResponse); when(httpResponse.getBody()).thenReturn(sampleService); Service service = restClient.getService(randomId); @@ -94,7 +92,7 @@ public class SdcRestClientTest { @Test(expected = AsdcCatalogException.class) public void shouldRaiseAsdcExceptionWhenClientFails() throws AsdcCatalogException { String url = String.format(METADATA_URL_REGEX, randomId); - when(mockedSyncRestClient.get(matches(url), anyMapOf(String.class, String.class), anyMapOf(String.class, String.class), any())).thenThrow(new RuntimeException()); + when(mockedSyncRestClient.get(matches(url), anyMap(), anyMap(), any())).thenThrow(new RuntimeException()); restClient.getService(randomId); } @@ -119,7 +117,7 @@ public class SdcRestClientTest { @Test(expected = AsdcCatalogException.class) public void shouldRaiseAsdcExceptionWhenDownloadFails() throws AsdcCatalogException { String url = String.format(MODEL_URL_REGEX, randomId); - when(mockedSyncRestClient.getStream(matches(url), anyMapOf(String.class, String.class), anyMapOf(String.class, String.class))).thenThrow(new RuntimeException()); + when(mockedSyncRestClient.getStream(matches(url), anyMap(), anyMap())).thenThrow(new RuntimeException()); restClient.getServiceToscaModel(randomId); diff --git a/vid-app-common/src/test/java/org/onap/vid/config/JobCommandsConfigWithMockedMso.java b/vid-app-common/src/test/java/org/onap/vid/config/JobCommandsConfigWithMockedMso.java index 56ac28d2e..c1ac6a219 100644 --- a/vid-app-common/src/test/java/org/onap/vid/config/JobCommandsConfigWithMockedMso.java +++ b/vid-app-common/src/test/java/org/onap/vid/config/JobCommandsConfigWithMockedMso.java @@ -21,13 +21,19 @@ package org.onap.vid.config; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.IOException; import org.hibernate.SessionFactory; import org.mockito.Mockito; import org.onap.portalsdk.core.service.DataAccessService; -import org.onap.vid.aai.AaiClientInterface; +import org.onap.vid.aai.AaiOverTLSClient; +import org.onap.vid.aai.AaiOverTLSClientInterface; +import org.onap.vid.aai.AaiOverTLSPropertySupplier; import org.onap.vid.aai.util.HttpsAuthClient; import org.onap.vid.aai.util.SSLContextProvider; import org.onap.vid.aai.util.SystemPropertyHelper; +import org.onap.vid.client.SyncRestClient; import org.onap.vid.job.JobAdapter; import org.onap.vid.job.JobsBrokerService; import org.onap.vid.job.command.InProgressStatusCommand; @@ -84,12 +90,40 @@ public class JobCommandsConfigWithMockedMso { } @Bean + public AaiOverTLSClientInterface AaiOverTLSClient(){ + io.joshworks.restclient.http.mapper.ObjectMapper objectMapper = new io.joshworks.restclient.http.mapper.ObjectMapper() { + + ObjectMapper om = new ObjectMapper(); + + @Override + public <T> T readValue(String s, Class<T> aClass) { + try { + return om.readValue(s, aClass); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + @Override + public String writeValue(Object o) { + try { + return om.writeValueAsString(o); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + } + }; + + return new AaiOverTLSClient(new SyncRestClient(objectMapper), new AaiOverTLSPropertySupplier()); + } + + @Bean public AsyncInstantiationBusinessLogic asyncInstantiationBusinessLogic(DataAccessService dataAccessService, JobAdapter jobAdapter, JobsBrokerService jobsBrokerService, SessionFactory sessionFactory, - AaiClientInterface aaiClient) { - return new AsyncInstantiationBusinessLogicImpl(dataAccessService, jobAdapter, jobsBrokerService, sessionFactory, aaiClient); + AaiOverTLSClientInterface aaiOverTLSClientInterface) { + return new AsyncInstantiationBusinessLogicImpl(dataAccessService, jobAdapter, jobsBrokerService, sessionFactory, aaiOverTLSClientInterface); } @Bean diff --git a/vid-app-common/src/test/java/org/onap/vid/controller/ClientCredentialsFilterTest.java b/vid-app-common/src/test/java/org/onap/vid/controller/ClientCredentialsFilterTest.java index 61f18f54a..113bf2bf9 100644 --- a/vid-app-common/src/test/java/org/onap/vid/controller/ClientCredentialsFilterTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/controller/ClientCredentialsFilterTest.java @@ -13,7 +13,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; /** @@ -71,7 +71,7 @@ public class ClientCredentialsFilterTest { FilterChain chain = Mockito.mock(FilterChain.class); - Mockito.when(filter.verifyClientCredentials(any(String.class),any(String.class))).thenReturn(clientVerified); + Mockito.when(filter.verifyClientCredentials(any(),any())).thenReturn(clientVerified); Mockito.doNothing().when(response).sendError(401); Mockito.doCallRealMethod().when(filter).doFilter(request,response,chain); diff --git a/vid-app-common/src/test/java/org/onap/vid/controller/PromiseEcompRequestIdFilterTest.java b/vid-app-common/src/test/java/org/onap/vid/controller/PromiseEcompRequestIdFilterTest.java index 3bcb2d005..4f42171b5 100644 --- a/vid-app-common/src/test/java/org/onap/vid/controller/PromiseEcompRequestIdFilterTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/controller/PromiseEcompRequestIdFilterTest.java @@ -19,11 +19,12 @@ import java.io.IOException; import java.util.*; import java.util.function.Function; +import static org.apache.commons.lang3.StringUtils.equalsIgnoreCase; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.argThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.argThat; import static org.onap.portalsdk.core.util.SystemProperties.ECOMP_REQUEST_ID; @Test @@ -130,8 +131,8 @@ public class PromiseEcompRequestIdFilterTest { private HttpServletRequest createMockedHttpServletRequest(Map<String, String> requestHeaders) { HttpServletRequest servletRequest = Mockito.mock(HttpServletRequest.class); requestHeaders.forEach((k, v) -> { - Mockito.when(servletRequest.getHeader(argThat(equalToIgnoringCase(k)))).thenReturn(v); - Mockito.when(servletRequest.getHeaders(argThat(equalToIgnoringCase(k)))).then(returnEnumerationAnswer(v)); + Mockito.when(servletRequest.getHeader(argThat(s -> equalsIgnoreCase(s, k)))).thenReturn(v); + Mockito.when(servletRequest.getHeaders(argThat(s -> equalsIgnoreCase(s, k)))).then(returnEnumerationAnswer(v)); }); Mockito.when(servletRequest.getHeaderNames()).then(returnEnumerationAnswer(requestHeaders.keySet())); return servletRequest; diff --git a/vid-app-common/src/test/java/org/onap/vid/controllers/ChangeManagementControllerTest.java b/vid-app-common/src/test/java/org/onap/vid/controllers/ChangeManagementControllerTest.java index 317bd978c..58406a662 100644 --- a/vid-app-common/src/test/java/org/onap/vid/controllers/ChangeManagementControllerTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/controllers/ChangeManagementControllerTest.java @@ -1,23 +1,19 @@ package org.onap.vid.controllers; -import java.util.Collection; - -import javax.servlet.http.HttpServletRequest; - -import org.codehaus.jackson.map.ObjectMapper; import org.json.simple.JSONArray; import org.junit.Test; import org.onap.vid.changeManagement.ChangeManagementRequest; import org.onap.vid.changeManagement.GetVnfWorkflowRelationRequest; import org.onap.vid.changeManagement.VnfWorkflowRelationRequest; import org.onap.vid.mso.MsoResponseWrapperInterface; -import org.onap.vid.services.ChangeManagementService; import org.onap.vid.services.ChangeManagementServiceImpl; -import org.onap.vid.services.WorkflowService; import org.onap.vid.services.WorkflowServiceImpl; import org.springframework.http.ResponseEntity; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; +import java.util.Collection; + public class ChangeManagementControllerTest { private ChangeManagementController createTestSubject() { diff --git a/vid-app-common/src/test/java/org/onap/vid/controllers/HealthCheckControllerTest.java b/vid-app-common/src/test/java/org/onap/vid/controllers/HealthCheckControllerTest.java index da9cdaa6e..4894f35ea 100644 --- a/vid-app-common/src/test/java/org/onap/vid/controllers/HealthCheckControllerTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/controllers/HealthCheckControllerTest.java @@ -5,7 +5,7 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.onap.vid.dao.FnAppDoaImpl; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MockMvc; @@ -13,8 +13,8 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders; import java.sql.SQLException; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.BDDMockito.given; -import static org.mockito.Matchers.anyString; import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR; import static org.springframework.http.HttpStatus.OK; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; diff --git a/vid-app-common/src/test/java/org/onap/vid/controllers/MaintenanceControllerTest.java b/vid-app-common/src/test/java/org/onap/vid/controllers/MaintenanceControllerTest.java index 7bdd6b863..3a9d88f07 100644 --- a/vid-app-common/src/test/java/org/onap/vid/controllers/MaintenanceControllerTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/controllers/MaintenanceControllerTest.java @@ -22,22 +22,8 @@ package org.onap.vid.controllers; * ============LICENSE_END========================================================= */ -import static org.mockito.BDDMockito.given; -import static org.mockito.BDDMockito.then; -import static org.mockito.BDDMockito.willThrow; -import static org.mockito.Matchers.argThat; -import static org.mockito.Matchers.eq; -import static org.mockito.Mockito.times; -import static org.onap.vid.model.CategoryParameter.Family.PARAMETER_STANDARDIZATION; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import java.util.Collections; -import java.util.function.BiFunction; -import javax.ws.rs.ForbiddenException; import org.apache.log4j.BasicConfigurator; import org.codehaus.jackson.map.ObjectMapper; import org.junit.Before; @@ -45,7 +31,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentMatcher; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.onap.vid.category.AddCategoryOptionResponse; import org.onap.vid.category.AddCategoryOptionsRequest; import org.onap.vid.category.CategoryParameterOptionRep; @@ -61,6 +47,19 @@ import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilde import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import javax.ws.rs.ForbiddenException; +import java.util.Collections; +import java.util.function.BiFunction; + +import static org.mockito.ArgumentMatchers.argThat; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.BDDMockito.*; +import static org.mockito.Mockito.times; +import static org.onap.vid.model.CategoryParameter.Family.PARAMETER_STANDARDIZATION; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + @RunWith(MockitoJUnitRunner.class) public class MaintenanceControllerTest { diff --git a/vid-app-common/src/test/java/org/onap/vid/controllers/PromiseEcompRequestIdFilterTest.java b/vid-app-common/src/test/java/org/onap/vid/controllers/PromiseEcompRequestIdFilterTest.java index 77dba37e9..f17403955 100644 --- a/vid-app-common/src/test/java/org/onap/vid/controllers/PromiseEcompRequestIdFilterTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/controllers/PromiseEcompRequestIdFilterTest.java @@ -19,11 +19,12 @@ import java.io.IOException; import java.util.*; import java.util.function.Function; +import static org.apache.commons.lang3.StringUtils.equalsIgnoreCase; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.argThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.argThat; import static org.onap.portalsdk.core.util.SystemProperties.ECOMP_REQUEST_ID; @Test @@ -130,8 +131,8 @@ public class PromiseEcompRequestIdFilterTest { private HttpServletRequest createMockedHttpServletRequest(Map<String, String> requestHeaders) { HttpServletRequest servletRequest = Mockito.mock(HttpServletRequest.class); requestHeaders.forEach((k, v) -> { - Mockito.when(servletRequest.getHeader(argThat(equalToIgnoringCase(k)))).thenReturn(v); - Mockito.when(servletRequest.getHeaders(argThat(equalToIgnoringCase(k)))).then(returnEnumerationAnswer(v)); + Mockito.when(servletRequest.getHeader(argThat(s -> equalsIgnoreCase(s, k)))).thenReturn(v); + Mockito.when(servletRequest.getHeaders(argThat(s -> equalsIgnoreCase(s, k)))).then(returnEnumerationAnswer(v)); }); Mockito.when(servletRequest.getHeaderNames()).then(returnEnumerationAnswer(requestHeaders.keySet())); return servletRequest; diff --git a/vid-app-common/src/test/java/org/onap/vid/controllers/VidControllerTest.java b/vid-app-common/src/test/java/org/onap/vid/controllers/VidControllerTest.java index 168d90090..198680afc 100644 --- a/vid-app-common/src/test/java/org/onap/vid/controllers/VidControllerTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/controllers/VidControllerTest.java @@ -21,26 +21,8 @@ package org.onap.vid.controllers; -import static java.util.stream.Collectors.toMap; -import static org.assertj.core.api.Assertions.assertThat; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.nullValue; -import static org.hamcrest.Matchers.not; -import static org.mockito.BDDMockito.given; -import static org.mockito.BDDMockito.then; -import static org.mockito.Mockito.times; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; -import java.util.stream.IntStream; -import javax.ws.rs.core.MediaType; import org.apache.log4j.BasicConfigurator; import org.codehaus.jackson.map.ObjectMapper; import org.junit.Assert; @@ -49,21 +31,14 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.onap.vid.asdc.AsdcCatalogException; import org.onap.vid.asdc.beans.SecureServices; import org.onap.vid.asdc.beans.Service; import org.onap.vid.asdc.beans.ServiceBuilder; -import org.onap.vid.model.CR; -import org.onap.vid.model.Network; -import org.onap.vid.model.Node; +import org.onap.vid.model.*; import org.onap.vid.model.PombaInstance.PombaRequest; import org.onap.vid.model.PombaInstance.ServiceInstance; -import org.onap.vid.model.ServiceModel; -import org.onap.vid.model.ServiceProxy; -import org.onap.vid.model.VNF; -import org.onap.vid.model.VfModule; -import org.onap.vid.model.VolumeGroup; import org.onap.vid.roles.RoleProvider; import org.onap.vid.services.AaiService; import org.onap.vid.services.PombaService; @@ -71,6 +46,25 @@ import org.onap.vid.services.VidService; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import javax.ws.rs.core.MediaType; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.stream.IntStream; + +import static java.util.stream.Collectors.toMap; +import static org.assertj.core.api.Assertions.assertThat; +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.CoreMatchers.nullValue; +import static org.hamcrest.Matchers.not; +import static org.mockito.BDDMockito.given; +import static org.mockito.BDDMockito.then; +import static org.mockito.Mockito.times; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + @RunWith(MockitoJUnitRunner.class) public class VidControllerTest { diff --git a/vid-app-common/src/test/java/org/onap/vid/dao/FnAppDoaImplTest.java b/vid-app-common/src/test/java/org/onap/vid/dao/FnAppDoaImplTest.java index 2c2aa89a0..6d60aa18a 100644 --- a/vid-app-common/src/test/java/org/onap/vid/dao/FnAppDoaImplTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/dao/FnAppDoaImplTest.java @@ -1,20 +1,20 @@ package org.onap.vid.dao; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; import static org.assertj.core.api.Java6Assertions.assertThat; import static org.assertj.core.api.Java6Assertions.assertThatThrownBy; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.BDDMockito.given; -import static org.mockito.Matchers.anyString; @RunWith(MockitoJUnitRunner.class) public class FnAppDoaImplTest { diff --git a/vid-app-common/src/test/java/org/onap/vid/job/impl/JobWorkerTest.java b/vid-app-common/src/test/java/org/onap/vid/job/impl/JobWorkerTest.java index b7e8e35a9..e58b6ba03 100644 --- a/vid-app-common/src/test/java/org/onap/vid/job/impl/JobWorkerTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/job/impl/JobWorkerTest.java @@ -19,7 +19,7 @@ import java.util.UUID; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; diff --git a/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java b/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java index 461673224..718e22fb4 100644 --- a/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java @@ -20,25 +20,8 @@ */ package org.onap.vid.mso; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatExceptionOfType; -import static org.junit.Assert.assertEquals; -import static org.mockito.BDDMockito.given; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.argThat; -import static org.mockito.Matchers.eq; -import static org.mockito.Mockito.mock; -import static org.onap.vid.mso.MsoBusinessLogicImpl.validateEndpointPath; - import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; -import java.io.IOException; -import java.net.URL; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.List; -import java.util.stream.Collectors; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -56,6 +39,22 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.togglz.core.manager.FeatureManager; +import java.io.IOException; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; +import java.util.stream.Collectors; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.*; +import static org.mockito.BDDMockito.given; +import static org.mockito.Mockito.mock; +import static org.onap.vid.mso.MsoBusinessLogicImpl.validateEndpointPath; + @ContextConfiguration(classes = {SystemProperties.class}) @RunWith(SpringJUnit4ClassRunner.class) public class MsoBusinessLogicImplTest { @@ -287,7 +286,7 @@ public class MsoBusinessLogicImplTest { return new String(Files.readAllBytes(path)); } - private static class MsoRequestWrapperMatcher extends + private static class MsoRequestWrapperMatcher implements ArgumentMatcher<org.onap.vid.changeManagement.RequestDetailsWrapper> { private final org.onap.vid.changeManagement.RequestDetailsWrapper expectedRequest; @@ -297,9 +296,8 @@ public class MsoBusinessLogicImplTest { } @Override - public boolean matches(Object argument) { - org.onap.vid.changeManagement.RequestDetailsWrapper requestDetailsWrapper = (org.onap.vid.changeManagement.RequestDetailsWrapper) argument; - return expectedRequest.requestDetails.equals(requestDetailsWrapper.requestDetails); + public boolean matches(org.onap.vid.changeManagement.RequestDetailsWrapper argument) { + return expectedRequest.requestDetails.equals(argument.requestDetails); } } } diff --git a/vid-app-common/src/test/java/org/onap/vid/mso/rest/OutgoingRequestIdTest.java b/vid-app-common/src/test/java/org/onap/vid/mso/rest/OutgoingRequestIdTest.java index 909975fb8..197bfe75d 100644 --- a/vid-app-common/src/test/java/org/onap/vid/mso/rest/OutgoingRequestIdTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/mso/rest/OutgoingRequestIdTest.java @@ -2,12 +2,7 @@ package org.onap.vid.mso.rest; import com.google.common.collect.ImmutableList; import org.apache.commons.lang3.reflect.FieldUtils; -import org.mockito.ArgumentCaptor; -import org.mockito.Captor; -import org.mockito.InjectMocks; -import org.mockito.Matchers; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; +import org.mockito.*; import org.onap.vid.aai.util.AAIRestInterface; import org.onap.vid.changeManagement.RequestDetailsWrapper; import org.onap.vid.controller.filter.PromiseEcompRequestIdFilter; @@ -31,13 +26,9 @@ import java.util.function.Consumer; import java.util.stream.Collectors; import java.util.stream.Stream; +import static org.apache.commons.lang3.StringUtils.equalsIgnoreCase; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.allOf; -import static org.hamcrest.Matchers.equalToIgnoringCase; -import static org.hamcrest.Matchers.hasItem; -import static org.hamcrest.Matchers.hasToString; -import static org.hamcrest.Matchers.instanceOf; -import static org.hamcrest.Matchers.matchesPattern; +import static org.hamcrest.Matchers.*; public class OutgoingRequestIdTest { @@ -130,7 +121,7 @@ public class OutgoingRequestIdTest { ArgumentCaptor<Object> argumentCaptor = ArgumentCaptor.forClass(Object.class); Mockito.verify(fakeBuilder) .header( - Matchers.argThat(equalToIgnoringCase(requestIdHeader)), + Matchers.argThat(s -> equalsIgnoreCase(s, requestIdHeader)), argumentCaptor.capture() ); requestId = argumentCaptor.getValue(); diff --git a/vid-app-common/src/test/java/org/onap/vid/scheduler/SchedulerRestInterfaceTest.java b/vid-app-common/src/test/java/org/onap/vid/scheduler/SchedulerRestInterfaceTest.java index 6390f5800..0655aca9e 100644 --- a/vid-app-common/src/test/java/org/onap/vid/scheduler/SchedulerRestInterfaceTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/scheduler/SchedulerRestInterfaceTest.java @@ -30,7 +30,7 @@ import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.onap.vid.exceptions.GenericUncheckedException; import org.onap.vid.testUtils.StubServerUtil; import org.testng.annotations.AfterMethod; diff --git a/vid-app-common/src/test/java/org/onap/vid/services/AaiServiceImplTest.java b/vid-app-common/src/test/java/org/onap/vid/services/AaiServiceImplTest.java index ae6c2ccca..efa12f2c0 100644 --- a/vid-app-common/src/test/java/org/onap/vid/services/AaiServiceImplTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/services/AaiServiceImplTest.java @@ -1,8 +1,28 @@ -package org.onap.vid.services; +/*- + * ============LICENSE_START======================================================= + * VID + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2018 Nokia. 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========================================================= + */ -import java.util.Collection; -import java.util.List; +package org.onap.vid.services; +import com.google.common.collect.ImmutableList; +import io.joshworks.restclient.http.HttpResponse; import org.junit.Assert; import org.junit.Test; import org.onap.vid.aai.AaiResponse; @@ -13,6 +33,8 @@ import org.onap.vid.aai.model.AaiGetTenatns.GetTenantsResponse; import org.onap.vid.model.SubscriberList; import org.onap.vid.roles.RoleValidator; +import java.util.List; + public class AaiServiceImplTest { private AaiServiceImpl createTestSubject() { @@ -55,7 +77,7 @@ public class AaiServiceImplTest { @Test public void testGetFullSubscriberList_1() throws Exception { AaiServiceImpl testSubject; - AaiResponse<SubscriberList> result; + HttpResponse<SubscriberList> result; // default test try { @@ -144,7 +166,7 @@ public class AaiServiceImplTest { @Test public void testGetVersionByInvariantId() throws Exception { AaiServiceImpl testSubject; - List<String> modelInvariantId = null; + List<String> modelInvariantId = ImmutableList.of("some invariant id"); // default test try { diff --git a/vid-app-common/src/test/java/org/onap/vid/services/AsyncInstantiationBaseTest.java b/vid-app-common/src/test/java/org/onap/vid/services/AsyncInstantiationBaseTest.java index c3d01283d..5ead3fce4 100644 --- a/vid-app-common/src/test/java/org/onap/vid/services/AsyncInstantiationBaseTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/services/AsyncInstantiationBaseTest.java @@ -1,8 +1,35 @@ +/*- + * ============LICENSE_START======================================================= + * VID + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2018 Nokia. 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.vid.services; import com.google.common.collect.ImmutableMap; +import io.joshworks.restclient.http.HttpResponse; import jersey.repackaged.com.google.common.collect.ImmutableList; -import org.onap.vid.aai.AaiClientInterface; +import org.apache.http.HttpStatus; +import org.apache.http.HttpVersion; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.DefaultHttpResponseFactory; +import org.apache.http.message.BasicStatusLine; +import org.onap.vid.aai.AaiOverTLSClientInterface; import org.onap.vid.aai.AaiResponse; import org.onap.vid.aai.model.AaiNodeQueryResponse; import org.onap.vid.aai.model.ResourceType; @@ -13,15 +40,14 @@ import org.onap.vid.model.serviceInstantiation.VfModule; import org.onap.vid.model.serviceInstantiation.Vnf; import org.onap.vid.mso.RestObject; import org.onap.vid.mso.rest.AsyncRequestStatus; -import org.onap.vid.services.AsyncInstantiationBusinessLogic; -import org.onap.vid.services.AsyncInstantiationBusinessLogicTest; import org.springframework.test.context.testng.AbstractTestNGSpringContextTests; import org.togglz.core.manager.FeatureManager; import javax.inject.Inject; +import java.io.UnsupportedEncodingException; import java.util.*; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; public class AsyncInstantiationBaseTest extends AbstractTestNGSpringContextTests { @@ -48,7 +74,7 @@ public class AsyncInstantiationBaseTest extends AbstractTestNGSpringContextTests protected FeatureManager featureManager; @Inject - protected AaiClientInterface aaiClient; + protected AaiOverTLSClientInterface aaiClient; public ServiceInstantiation generateMockServiceInstantiationPayload(boolean isPause, Map<String, Vnf> vnfs, int bulkSize, boolean isUserProvidedNaming, String projectName, boolean rollbackOnFailure) { ModelInfo modelInfo = createModelInfo(); @@ -174,12 +200,15 @@ public class AsyncInstantiationBaseTest extends AbstractTestNGSpringContextTests return restObject; } - protected void mockAaiClientAnyNameFree() { + protected void mockAaiClientAnyNameFree() throws UnsupportedEncodingException { when(aaiClient.searchNodeTypeByName(any(), any())).thenReturn(aaiNodeQueryResponseNameFree()); } - protected AaiResponse<AaiNodeQueryResponse> aaiNodeQueryResponseNameFree() { - return new AaiResponse<>(new AaiNodeQueryResponse(null),"", 200); + protected HttpResponse<AaiNodeQueryResponse> aaiNodeQueryResponseNameFree() throws UnsupportedEncodingException { + org.apache.http.HttpResponse response = new DefaultHttpResponseFactory().newHttpResponse(new BasicStatusLine(HttpVersion.HTTP_1_1, HttpStatus.SC_OK, null), null); + response.setEntity(new StringEntity("")); + + return HttpResponse.fallback(new AaiNodeQueryResponse(null)); } protected AaiResponse<AaiNodeQueryResponse> aaiNodeQueryBadResponse() { diff --git a/vid-app-common/src/test/java/org/onap/vid/services/AsyncInstantiationBusinessLogicTest.java b/vid-app-common/src/test/java/org/onap/vid/services/AsyncInstantiationBusinessLogicTest.java index 3f13c9dff..9711fa858 100644 --- a/vid-app-common/src/test/java/org/onap/vid/services/AsyncInstantiationBusinessLogicTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/services/AsyncInstantiationBusinessLogicTest.java @@ -1,72 +1,9 @@ package org.onap.vid.services; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import jersey.repackaged.com.google.common.collect.ImmutableList; -import net.javacrumbs.jsonunit.JsonAssert; -import org.apache.commons.io.IOUtils; -import org.hibernate.SessionFactory; -import org.json.JSONException; -import org.mockito.ArgumentCaptor; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; -import org.onap.vid.aai.exceptions.InvalidAAIResponseException; -import org.onap.vid.aai.model.ResourceType; -import org.onap.vid.changeManagement.RequestDetailsWrapper; -import org.onap.vid.exceptions.GenericUncheckedException; -import org.onap.vid.exceptions.MaxRetriesException; -import org.onap.vid.exceptions.OperationNotAllowedException; -import org.onap.vid.job.Job; -import org.onap.vid.job.Job.JobStatus; -import org.onap.vid.job.JobAdapter; -import org.onap.vid.job.JobsBrokerService; -import org.onap.vid.job.impl.JobDaoImpl; -import org.onap.vid.model.JobAuditStatus; -import org.onap.vid.model.JobAuditStatus.SourceStatus; -import org.onap.vid.model.NameCounter; -import org.onap.vid.model.ServiceInfo; -import org.onap.vid.model.serviceInstantiation.ServiceInstantiation; -import org.onap.vid.model.serviceInstantiation.Vnf; -import org.onap.vid.mso.model.ServiceInstantiationRequestDetails; -import org.onap.vid.mso.rest.AsyncRequestStatus; -import org.onap.vid.utils.DaoUtils; +import org.onap.portalsdk.core.util.SystemProperties; import org.onap.vid.config.DataSourceConfig; import org.onap.vid.config.MockedAaiClientAndFeatureManagerConfig; -import org.onap.vid.mso.MsoOperationalEnvironmentTest; -import org.onap.vid.services.AsyncInstantiationBaseTest; -import org.onap.portalsdk.core.domain.FusionObject; -import org.onap.portalsdk.core.service.DataAccessService; -import org.onap.portalsdk.core.util.SystemProperties; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; -import org.testng.Assert; -import org.testng.annotations.*; - -import javax.inject.Inject; -import java.io.IOException; -import java.lang.reflect.Method; -import java.net.URL; -import java.time.Instant; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.util.*; -import java.util.Optional; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.stream.Collectors; -import java.util.stream.IntStream; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.contains; -import static org.hamcrest.Matchers.*; -import static org.hamcrest.core.Every.everyItem; -import static org.hamcrest.core.IsEqual.equalTo; -import static org.mockito.Matchers.any; -import static org.mockito.Mockito.*; -import static org.onap.vid.job.Job.JobStatus.*; -import static org.testng.Assert.*; @ContextConfiguration(classes = {DataSourceConfig.class, SystemProperties.class, MockedAaiClientAndFeatureManagerConfig.class}) public class AsyncInstantiationBusinessLogicTest extends AsyncInstantiationBaseTest { diff --git a/vid-app-common/src/test/java/org/onap/vid/services/CategoryParameterServiceImplTest.java b/vid-app-common/src/test/java/org/onap/vid/services/CategoryParameterServiceImplTest.java index 7992cbb17..3492a7547 100644 --- a/vid-app-common/src/test/java/org/onap/vid/services/CategoryParameterServiceImplTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/services/CategoryParameterServiceImplTest.java @@ -20,18 +20,6 @@ */ package org.onap.vid.services; -import static org.mockito.Matchers.anyObject; -import static org.mockito.Matchers.anyString; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.reset; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.MockitoAnnotations.initMocks; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import javax.ws.rs.ForbiddenException; import org.mockito.InjectMocks; import org.mockito.Mock; import org.onap.portalsdk.core.service.DataAccessService; @@ -50,6 +38,16 @@ import org.testng.annotations.BeforeMethod; import org.testng.annotations.BeforeSuite; import org.testng.annotations.Test; +import javax.ws.rs.ForbiddenException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.*; +import static org.mockito.MockitoAnnotations.initMocks; + public class CategoryParameterServiceImplTest { private static final String CATEGORY_NAME = "SAMPLE_CATEGORY_NAME"; @@ -89,7 +87,7 @@ public class CategoryParameterServiceImplTest { Assert.assertTrue(result.getErrors().isEmpty());; verify(dataAccessService, times(1)) - .saveDomainObject(anyObject(), anyObject()); + .saveDomainObject(any(), any()); } @Test @@ -164,12 +162,12 @@ public class CategoryParameterServiceImplTest { categoryParameter.addOption(categoryParameterOption); List<CategoryParameter> aList = createCategoryParametersList(categoryParameter); - doReturn(aList).when(dataAccessService).getList(anyObject(), anyString(), anyString(), anyObject()); + doReturn(aList).when(dataAccessService).getList(any(), anyString(), any(), any()); testSubject.deleteCategoryOption(CATEGORY_NAME, categoryParameterOption); verify(dataAccessService, times(1)) - .deleteDomainObject(anyObject(), anyObject()); + .deleteDomainObject(any(), any()); } @Test @@ -181,7 +179,7 @@ public class CategoryParameterServiceImplTest { categoryParameter.addOption(categoryParameterOption); List<CategoryParameter> aList = createCategoryParametersList(categoryParameter); - doReturn(aList).when(dataAccessService).getList(anyObject(), anyString(), anyString(), anyObject()); + doReturn(aList).when(dataAccessService).getList(any(), anyString(), any(), any()); CategoryParametersResponse response = testSubject.getCategoryParameters(Family.PARAMETER_STANDARDIZATION); @@ -189,7 +187,7 @@ public class CategoryParameterServiceImplTest { Assert.assertTrue(response.getCategoryParameters().containsKey(CATEGORY_NAME)); verify(dataAccessService, times(1)) - .getList(anyObject(), anyString(), anyString(), anyObject()); + .getList(any(), anyString(), any(), any()); } @Test @@ -206,7 +204,7 @@ public class CategoryParameterServiceImplTest { AddCategoryOptionResponse result = testSubject.updateCategoryParameterOption(CATEGORY_NAME, optionRepExisting); verify(dataAccessService, times(1)) - .saveDomainObject(anyObject(), anyObject()); + .saveDomainObject(any(), any()); } @Test(expectedExceptions = { ForbiddenException.class }) diff --git a/vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceImplTest.java b/vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceImplTest.java index 157f59c74..00d9e1735 100644 --- a/vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceImplTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceImplTest.java @@ -1,12 +1,12 @@ package org.onap.vid.services; import org.mockito.*; +import org.onap.portalsdk.core.service.DataAccessService; import org.onap.vid.changeManagement.ChangeManagementRequest; import org.onap.vid.changeManagement.RequestDetails; import org.onap.vid.mso.MsoBusinessLogic; import org.onap.vid.mso.MsoResponseWrapperInterface; import org.onap.vid.scheduler.SchedulerRestInterfaceIfc; -import org.onap.portalsdk.core.service.DataAccessService; import org.springframework.http.ResponseEntity; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -54,47 +54,47 @@ public class ChangeManagementServiceImplTest { @Test public void doChangeManagement_requestTypeIsUpdate_MsoUpdateVnfIsCalled() throws Exception { - Mockito.doReturn(Mockito.mock(MsoResponseWrapperInterface.class)).when(msoBusinessLogicMock).updateVnf(Mockito.any(),Mockito.anyString(),Mockito.anyString()); + Mockito.doReturn(Mockito.mock(MsoResponseWrapperInterface.class)).when(msoBusinessLogicMock).updateVnf(Mockito.any(),Mockito.any(),Mockito.any()); RequestDetails requestDetails = callChangeManagement(ChangeManagementRequest.UPDATE); ArgumentCaptor<RequestDetails> argumentCaptor = ArgumentCaptor.forClass(RequestDetails.class); - verify(msoBusinessLogicMock).updateVnf(argumentCaptor.capture(),Mockito.anyString(),Mockito.anyString()); + verify(msoBusinessLogicMock).updateVnf(argumentCaptor.capture(),Mockito.any(),Mockito.any()); assertEquals(argumentCaptor.getValue().getVnfInstanceId(),requestDetails.getVnfInstanceId()); } @Test public void doChangeManagement_requestTypeIsReplace_MsoUpdateVnfIsCalled() throws Exception { - Mockito.doReturn(Mockito.mock(MsoResponseWrapperInterface.class)).when(msoBusinessLogicMock).replaceVnf(Mockito.any(),Mockito.anyString(),Mockito.anyString()); + Mockito.doReturn(Mockito.mock(MsoResponseWrapperInterface.class)).when(msoBusinessLogicMock).replaceVnf(Mockito.any(),Mockito.any(),Mockito.any()); RequestDetails requestDetails = callChangeManagement(ChangeManagementRequest.REPLACE); ArgumentCaptor<RequestDetails> argumentCaptor = ArgumentCaptor.forClass(RequestDetails.class); - verify(msoBusinessLogicMock).replaceVnf(argumentCaptor.capture(),Mockito.anyString(),Mockito.anyString()); + verify(msoBusinessLogicMock).replaceVnf(argumentCaptor.capture(),Mockito.any(),Mockito.any()); assertEquals(argumentCaptor.getValue().getVnfInstanceId(),requestDetails.getVnfInstanceId()); } @Test public void doChangeManagement_requestTypeIsInPlaceSoftwareUpdate_MsoUpdateVnfIsCalled() throws Exception { - Mockito.doReturn(Mockito.mock(MsoResponseWrapperInterface.class)).when(msoBusinessLogicMock).updateVnfSoftware(Mockito.any(),Mockito.anyString(),Mockito.anyString()); + Mockito.doReturn(Mockito.mock(MsoResponseWrapperInterface.class)).when(msoBusinessLogicMock).updateVnfSoftware(Mockito.any(),Mockito.any(),Mockito.any()); RequestDetails requestDetails = callChangeManagement(ChangeManagementRequest.VNF_IN_PLACE_SOFTWARE_UPDATE); ArgumentCaptor<RequestDetails> argumentCaptor = ArgumentCaptor.forClass(RequestDetails.class); - verify(msoBusinessLogicMock).updateVnfSoftware(argumentCaptor.capture(),Mockito.anyString(),Mockito.anyString()); + verify(msoBusinessLogicMock).updateVnfSoftware(argumentCaptor.capture(),Mockito.any(),Mockito.any()); assertEquals(argumentCaptor.getValue().getVnfInstanceId(),requestDetails.getVnfInstanceId()); } @Test public void doChangeManagement_requestTypeIsConfigUpdate_MsoUpdateVnfIsCalled() throws Exception { - Mockito.doReturn(Mockito.mock(MsoResponseWrapperInterface.class)).when(msoBusinessLogicMock).updateVnfConfig(Mockito.any(),Mockito.anyString(),Mockito.anyString()); + Mockito.doReturn(Mockito.mock(MsoResponseWrapperInterface.class)).when(msoBusinessLogicMock).updateVnfConfig(Mockito.any(),Mockito.any(),Mockito.any()); RequestDetails requestDetails = callChangeManagement(ChangeManagementRequest.CONFIG_UPDATE); ArgumentCaptor<RequestDetails> argumentCaptor = ArgumentCaptor.forClass(RequestDetails.class); - verify(msoBusinessLogicMock).updateVnfConfig(argumentCaptor.capture(),Mockito.anyString(),Mockito.anyString()); + verify(msoBusinessLogicMock).updateVnfConfig(argumentCaptor.capture(),Mockito.any(),Mockito.any()); assertEquals(argumentCaptor.getValue().getVnfInstanceId(),requestDetails.getVnfInstanceId()); } @@ -106,8 +106,8 @@ public class ChangeManagementServiceImplTest { updateRequest.setRequestType(requestType); RequestDetails requestDetails = new RequestDetails(); requestDetails.setVnfInstanceId("vnfFakeId"); - Mockito.doReturn("fakeId").when(changeManagementServiceSpied).extractServiceInstanceId(Mockito.anyObject(),Mockito.anyString()); - Mockito.doReturn(requestDetails).when(changeManagementServiceSpied).findRequestByVnfName(Matchers.anyList(),Mockito.anyString()); + Mockito.doReturn("fakeId").when(changeManagementServiceSpied).extractServiceInstanceId(Mockito.any(),Mockito.any()); + Mockito.doReturn(requestDetails).when(changeManagementServiceSpied).findRequestByVnfName(Matchers.any(),Mockito.any()); changeManagementServiceSpied.doChangeManagement(updateRequest,"anyVnfName"); diff --git a/vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceUnitTest.java b/vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceUnitTest.java index 8aafda3f0..d849869b0 100644 --- a/vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceUnitTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceUnitTest.java @@ -24,6 +24,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; import io.joshworks.restclient.http.HttpResponse; import org.apache.commons.io.IOUtils; import org.mockito.ArgumentCaptor; +import org.onap.portalsdk.core.service.DataAccessService; +import org.onap.portalsdk.core.util.SystemProperties; import org.onap.vid.changeManagement.ChangeManagementRequest; import org.onap.vid.changeManagement.RequestDetailsWrapper; import org.onap.vid.client.SyncRestClient; @@ -37,8 +39,6 @@ import org.onap.vid.mso.rest.RequestDetails; import org.onap.vid.properties.AsdcClientConfiguration; import org.onap.vid.scheduler.SchedulerRestInterfaceIfc; import org.onap.vid.testUtils.RegExMatcher; -import org.onap.portalsdk.core.service.DataAccessService; -import org.onap.portalsdk.core.util.SystemProperties; import org.skyscreamer.jsonassert.JSONAssert; import org.skyscreamer.jsonassert.JSONCompareMode; import org.springframework.context.annotation.Bean; @@ -54,8 +54,8 @@ import java.net.URL; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.IsEqual.equalTo; import static org.hamcrest.core.IsInstanceOf.instanceOf; -import static org.mockito.Matchers.anyObject; -import static org.mockito.Matchers.anyString; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.*; @@ -74,7 +74,7 @@ public class ChangeManagementServiceUnitTest extends AbstractTestNGSpringContext void testInPlaceSoftwareUpdateRequest() throws Exception { - doReturn(new HttpResponse<>(anyObject(), RequestReferencesContainer.class, anyObject())).when(restClientUnderTest).post(anyString(), anyObject(), anyObject()); + doReturn(new HttpResponse<>(any(), RequestReferencesContainer.class, any())).when(restClientUnderTest).post(anyString(), any(), any()); URL requestJsonUrl = this.getClass().getResource("/services/change_management_software_update_request.json"); ChangeManagementRequest changeManagementRequest = objectMapper.readValue(requestJsonUrl, ChangeManagementRequest.class); diff --git a/vid-app-common/src/test/java/org/onap/vid/testUtils/IntersectionTest.java b/vid-app-common/src/test/java/org/onap/vid/testUtils/IntersectionTest.java index c766d26f3..dcccab008 100644 --- a/vid-app-common/src/test/java/org/onap/vid/testUtils/IntersectionTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/testUtils/IntersectionTest.java @@ -1,101 +1,108 @@ +/*- + * ============LICENSE_START======================================================= + * VID + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2018 Nokia. 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.vid.testUtils; -import org.junit.Assert; import org.junit.Test; import org.onap.vid.utils.Intersection; -import java.util.ArrayList; import java.util.List; -/** - * Created by moriya1 on 10/10/2017. - */ +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.util.Lists.emptyList; +import static org.assertj.core.util.Lists.list; + public class IntersectionTest { @Test - public void testFourArrays(){ - List<String> l1 = new ArrayList<String>(); - l1.add("1"); - l1.add("2"); - - List<String> l2 = new ArrayList<String>(); - l2.add("2"); - l2.add("3"); - - List<String> l3 = new ArrayList<String>(); - l3.add("2"); - l3.add("4"); - - List<String> l4 = new ArrayList<String>(); - l4.add("2"); - l4.add("5"); - - List<List<String>> all = new ArrayList<>(); - all.add(l1); - all.add(l2); - all.add(l3); - all.add(l4); - Intersection<String> m = new Intersection<>(); - List<String> ans = m.intersectMultipileArray(all); - Assert.assertEquals(1,ans.size()); - Assert.assertEquals(ans.get(0),"2"); + public void testFourArrays() { + // given + List<List<String>> input = list( + list("1", "2"), + list("2", "3"), + list("2", "4"), + list("2", "5") + ); + // when + List<String> output = Intersection.of(input); + // then + assertThat(output).containsExactlyInAnyOrder("2"); } - - @Test - public void testTwoArrays(){ - List<String> l1 = new ArrayList<String>(); - l1.add("1"); - l1.add("2"); - - List<String> l2 = new ArrayList<String>(); - l2.add("2"); - l2.add("3"); - - List<List<String>> all = new ArrayList<>(); - all.add(l1); - all.add(l2); - Intersection<String> m = new Intersection<>(); - List<String> l3 = m.intersectMultipileArray(all); - Assert.assertEquals(l3.size(),1); - Assert.assertEquals(l3.get(0),"2"); + public void testTwoArrays() { + // given + List<List<String>> input = list( + list("1", "2"), + list("2", "3") + ); + // when + List<String> output = Intersection.of(input); + // then + assertThat(output).containsExactlyInAnyOrder("2"); } @Test - public void testNoIntersection(){ - List<String> l1 = new ArrayList<String>(); - l1.add("1"); - l1.add("2"); - - List<String> l2 = new ArrayList<String>(); - l2.add("3"); - l2.add("4"); + public void testNoIntersection() { + // given + List<List<String>> input = list( + list("1", "2"), + list("3", "4") + ); + // when + List<String> output = Intersection.of(input); + // then + assertThat(output).isEmpty(); - List<List<String>> all = new ArrayList<>(); - all.add(l1); - all.add(l2); - Intersection<String> m = new Intersection<>(); - List<String> l3 = m.intersectMultipileArray(all); - Assert.assertEquals(l3.size(),0); + } + @Test + public void testOneArray() { + // given + List<List<String>> input = list(list("1", "2")); + // when + List<String> output = Intersection.of(input); + // then + assertThat(output).containsExactlyInAnyOrder("1", "2"); } @Test - public void testOneArrays(){ - List<String> l1 = new ArrayList<String>(); - l1.add("1"); - l1.add("2"); - List<List<String>> all = new ArrayList<>(); - all.add(l1); - Intersection<String> m = new Intersection<>(); - List<String> l3 = m.intersectMultipileArray(all); - Assert.assertEquals(l3.size(),2); - Assert.assertEquals(l3.get(0),"1"); - Assert.assertEquals(l3.get(1),"2"); + public void testEmptyInput() { + // when + List<String> output = Intersection.of(emptyList()); + // then + assertThat(output).isEmpty(); + } + @Test + public void shouldIgnoreRepetitions() { + // when + List<String> output = Intersection.of(list( + list("1", "1"), + list("1", "1") + )); + // then + assertThat(output).containsExactly("1"); } } diff --git a/vid-app-common/src/test/java/org/onap/vid/testUtils/TestUtils.java b/vid-app-common/src/test/java/org/onap/vid/testUtils/TestUtils.java index 0460f5325..b4c7828bc 100644 --- a/vid-app-common/src/test/java/org/onap/vid/testUtils/TestUtils.java +++ b/vid-app-common/src/test/java/org/onap/vid/testUtils/TestUtils.java @@ -22,8 +22,8 @@ import java.util.Iterator; import java.util.List; import static fj.parser.Parser.fail; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.*; /** |