From 5540d178ab3203ab2994b21ee3434cca73318aa3 Mon Sep 17 00:00:00 2001 From: Ittay Stern Date: Mon, 9 Dec 2019 20:06:15 +0200 Subject: Join ExistingElementsCounterMaps with ServiceInstantiation This new pretty creature is called "ServiceInstantiationTemplate" :-) Issue-ID: VID-724 Change-Id: I1437d76e79512920079b574844b19368c07f501f Signed-off-by: Ittay Stern --- .../AsyncInstantiationBusinessLogicTest.java | 12 --- .../InstantiationTemplatesServiceTest.java | 102 +++++++++++++++++++++ 2 files changed, 102 insertions(+), 12 deletions(-) create mode 100644 vid-app-common/src/test/java/org/onap/vid/services/InstantiationTemplatesServiceTest.java (limited to 'vid-app-common/src/test/java') 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 56aaf1e83..d1124f3a8 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 @@ -35,7 +35,6 @@ import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.matchesPattern; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; -import static org.hamcrest.Matchers.sameInstance; import static org.hamcrest.core.Every.everyItem; import static org.hamcrest.core.IsEqual.equalTo; import static org.mockito.ArgumentMatchers.any; @@ -1369,15 +1368,4 @@ public class AsyncInstantiationBusinessLogicTest extends AsyncInstantiationBaseT } - @Test - public void getJobRequestAsTemplate_whenIsCalled_asyncInstantiationRepositoryGetJobRequestIsDelegated() { - UUID jobId = UUID.randomUUID(); - ServiceInstantiation expected = mock(ServiceInstantiation.class); - doReturn(expected).when(asyncInstantiationRepository).getJobRequest(jobId); - - ServiceInstantiation jobRequestAsTemplate = asyncInstantiationBL.getJobRequestAsTemplate(jobId); - - assertThat(jobRequestAsTemplate, is(sameInstance(expected))); - - } } diff --git a/vid-app-common/src/test/java/org/onap/vid/services/InstantiationTemplatesServiceTest.java b/vid-app-common/src/test/java/org/onap/vid/services/InstantiationTemplatesServiceTest.java new file mode 100644 index 000000000..f09ea313c --- /dev/null +++ b/vid-app-common/src/test/java/org/onap/vid/services/InstantiationTemplatesServiceTest.java @@ -0,0 +1,102 @@ +/*- + * ============LICENSE_START======================================================= + * VID + * ================================================================================ + * Copyright (C) 2017 - 2019 AT&T 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.services; + +import static net.javacrumbs.jsonunit.JsonMatchers.jsonEquals; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.anEmptyMap; +import static org.hamcrest.Matchers.hasProperty; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.RETURNS_DEEP_STUBS; +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 com.google.common.collect.ImmutableMap; +import java.util.Map; +import java.util.UUID; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.onap.vid.dal.AsyncInstantiationRepository; +import org.onap.vid.model.ModelUtil; +import org.onap.vid.model.serviceInstantiation.ServiceInstantiation; +import org.onap.vid.model.serviceInstantiation.ServiceInstantiationTemplate; +import org.onap.vid.model.serviceInstantiation.Vnf; +import org.onap.vid.testUtils.TestUtils; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +public class InstantiationTemplatesServiceTest { + + @Mock + private AsyncInstantiationRepository asyncInstantiationRepository; + + @Mock + private ModelUtil modelUtil; + + @InjectMocks + private InstantiationTemplatesService instantiationTemplatesService; + + @BeforeMethod + public void initMocks() { + TestUtils.initMockitoMocks(this); + } + + @Test + public void getJobRequestAsTemplate_whenIsCalled_asyncInstantiationRepositoryGetJobRequestIsInvoked() { + UUID jobId = UUID.randomUUID(); + ServiceInstantiation serviceInstantiationMock = mock(ServiceInstantiation.class, RETURNS_DEEP_STUBS); + doReturn(serviceInstantiationMock).when(asyncInstantiationRepository).getJobRequest(jobId); + + // When... + instantiationTemplatesService.getJobRequestAsTemplate(jobId); + + verify(asyncInstantiationRepository).getJobRequest(jobId); + } + + @Test + public void getJobRequestAsTemplate_givenModelUtilReturnsValue_thenVnfCounterMapIsPopulatedWithThatValue() { + Map dummyNonEmptyMap = ImmutableMap.of("dummyKey", 9); + ServiceInstantiation serviceInstantiation = mock(ServiceInstantiation.class, RETURNS_DEEP_STUBS); + doReturn(serviceInstantiation).when(asyncInstantiationRepository).getJobRequest(any()); + + // Given... + when(modelUtil.getExistingCounterMap(any(), any())).thenAnswer( + // return empty counterMap if argument is an empty map; otherwise return a mocked response + invocation -> ((Map)invocation.getArgument(0)).size() == 0 // isEmpty() does not work on mocks + ? ImmutableMap.of() + : dummyNonEmptyMap + ); + + // only vnf will have a non-empty value + when(serviceInstantiation.getVnfs()).thenReturn(ImmutableMap.of("1", mock(Vnf.class))); + + // When... + ServiceInstantiationTemplate result = instantiationTemplatesService.getJobRequestAsTemplate(UUID.randomUUID()); + + assertThat(result, hasProperty("existingVNFCounterMap", jsonEquals(dummyNonEmptyMap))); + assertThat(result, hasProperty("existingNetworksCounterMap", anEmptyMap())); + assertThat(result, hasProperty("existingVnfGroupCounterMap", anEmptyMap())); + assertThat(result, hasProperty("existingVRFCounterMap", anEmptyMap())); + } + +} -- cgit 1.2.3-korg