diff options
author | Ittay Stern <ittay.stern@att.com> | 2020-03-05 17:25:34 +0200 |
---|---|---|
committer | Ittay Stern <ittay.stern@att.com> | 2020-03-08 09:49:29 +0200 |
commit | 17b63f0c432f9edf407e4c9f465a295bfd870485 (patch) | |
tree | e6109422808147976bb4a1930f68c1eef3dfad08 /vid-app-common/src/test/java | |
parent | f7c41b1c4aeea09e67c8bb88f39d15e02cd1708f (diff) |
isVfModuleBaseModule() will not throw on model mismatch
In addition, the model-info comparision is by customization id or
customization name instead of the version id.
Issue-ID: VID-603
Change-Id: I8efee06f470e5d5681c264de01ed1315ee1f8cc6
Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-app-common/src/test/java')
-rw-r--r-- | vid-app-common/src/test/java/org/onap/vid/job/command/CommandUtilsTest.java | 89 | ||||
-rw-r--r-- | vid-app-common/src/test/java/org/onap/vid/job/impl/AsyncInstantiationIntegrationTest.java | 21 |
2 files changed, 60 insertions, 50 deletions
diff --git a/vid-app-common/src/test/java/org/onap/vid/job/command/CommandUtilsTest.java b/vid-app-common/src/test/java/org/onap/vid/job/command/CommandUtilsTest.java index ee43d1f72..d1d9b5e4f 100644 --- a/vid-app-common/src/test/java/org/onap/vid/job/command/CommandUtilsTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/job/command/CommandUtilsTest.java @@ -20,29 +20,30 @@ package org.onap.vid.job.command; -import com.google.common.collect.ImmutableMap; +import static java.util.Collections.emptyMap; +import static java.util.Collections.singletonMap; +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.reset; +import static org.mockito.Mockito.when; +import static org.onap.vid.testUtils.TestUtils.setStringsInStringFields; + +import java.util.UUID; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.onap.vid.asdc.AsdcCatalogException; import org.onap.vid.model.GroupProperties; import org.onap.vid.model.ServiceModel; import org.onap.vid.model.VfModule; +import org.onap.vid.mso.model.ModelInfo; import org.onap.vid.services.VidService; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeClass; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; -import java.util.Collections; -import java.util.Map; -import java.util.UUID; - -import static org.apache.commons.lang.RandomStringUtils.randomAlphanumeric; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; -import static org.mockito.Mockito.*; - public class CommandUtilsTest { @InjectMocks @@ -62,47 +63,57 @@ public class CommandUtilsTest { } @DataProvider - public static Object[][] trueAndFalse() { - return new Object[][]{ {true}, {false} }; - } + public static Object[][] vfModuleModelInfos() { + ModelInfo modelInfoMatchByUuid = setStringsInStringFields(new ModelInfo()); + modelInfoMatchByUuid.setModelCustomizationId("toscaCustomizationUuid"); - @Test(dataProvider="trueAndFalse") - void testIsVfModelIsBaseModule(boolean isBase) throws AsdcCatalogException { - final String serviceModelUuid = UUID.randomUUID().toString(); - final String vfModuleUuid = UUID.randomUUID().toString(); + ModelInfo modelInfoMatchByName = setStringsInStringFields(new ModelInfo()); + modelInfoMatchByName.setModelCustomizationName("toscaCustomizationName"); - ServiceModel mockedServiceModel = mock(ServiceModel.class); - VfModule mockedVfModule = mock(VfModule.class); - GroupProperties mockedGroupProperties = mock(GroupProperties.class); - Map<String, VfModule> vfModulesMap = ImmutableMap.of(randomAlphanumeric(10), mockedVfModule); + ModelInfo modelInfoDontMatch = setStringsInStringFields(new ModelInfo()); + + return new Object[][]{ + {true, modelInfoMatchByUuid, true}, + {false, modelInfoMatchByUuid, false}, - when(vidService.getService(serviceModelUuid)).thenReturn(mockedServiceModel); - when(mockedServiceModel.getVfModules()).thenReturn(vfModulesMap); - when(mockedVfModule.getUuid()).thenReturn(vfModuleUuid); - when(mockedVfModule.getProperties()).thenReturn(mockedGroupProperties); - when(mockedGroupProperties.getBaseModule()).thenReturn(isBase); + {true, modelInfoMatchByName, true}, + {false, modelInfoMatchByName, false}, - assertThat(commandUtils.isVfModuleBaseModule(serviceModelUuid, vfModuleUuid), equalTo(isBase)); + {true, modelInfoDontMatch, false}, + {false, modelInfoDontMatch, false}, + }; } - @Test(expectedExceptions = AsdcCatalogException.class) - void whenCantFindModelInSdc_thenExceptionIsThrown() throws AsdcCatalogException { + @Test(dataProvider="vfModuleModelInfos") + void isVfModuleBaseModule_vfModuleIsMatchedByEitherNameOrUuid(boolean isBaseInTosca, ModelInfo instanceModelInfo, boolean expected) { + GroupProperties mockedGroupProperties = mock(GroupProperties.class); + when(mockedGroupProperties.getBaseModule()).thenReturn(isBaseInTosca); + + VfModule toscaVfModuleModelInfo = mock(VfModule.class); + when(toscaVfModuleModelInfo.getCustomizationUuid()).thenReturn("toscaCustomizationUuid"); + when(toscaVfModuleModelInfo.getModelCustomizationName()).thenReturn("toscaCustomizationName"); + when(toscaVfModuleModelInfo.getProperties()).thenReturn(mockedGroupProperties); + + + ServiceModel mockedServiceModel = mock(ServiceModel.class); + when(mockedServiceModel.getVfModules()).thenReturn(singletonMap("some-name", toscaVfModuleModelInfo)); + String serviceModelUuid = UUID.randomUUID().toString(); - when(vidService.getService(serviceModelUuid)).thenReturn(null); - commandUtils.isVfModuleBaseModule(serviceModelUuid, "abc"); - } + when(vidService.getServiceModelOrThrow(serviceModelUuid)).thenReturn(mockedServiceModel); - @Test(expectedExceptions = AsdcCatalogException.class) - void whenCantFindVfModuleInModel_thenExceptionIsThrown() throws AsdcCatalogException { + assertThat(commandUtils.isVfModuleBaseModule(serviceModelUuid, instanceModelInfo), equalTo(expected)); + } + @Test + void isVfModuleBaseModule_whenCantFindVfModulesInModel_resultIsFalse() { String serviceModelUuid = UUID.randomUUID().toString(); ServiceModel mockedServiceModel = mock(ServiceModel.class); - Map<String, VfModule> emptyMap = Collections.emptyMap(); - when(vidService.getService(serviceModelUuid)).thenReturn(mockedServiceModel); - when(mockedServiceModel.getVfModules()).thenReturn(emptyMap); + when(vidService.getServiceModelOrThrow(serviceModelUuid)).thenReturn(mockedServiceModel); + when(mockedServiceModel.getVfModules()).thenReturn(emptyMap()); - commandUtils.isVfModuleBaseModule(serviceModelUuid, "abc"); + assertThat( + commandUtils.isVfModuleBaseModule(serviceModelUuid, mock(ModelInfo.class)), is(false)); } } diff --git a/vid-app-common/src/test/java/org/onap/vid/job/impl/AsyncInstantiationIntegrationTest.java b/vid-app-common/src/test/java/org/onap/vid/job/impl/AsyncInstantiationIntegrationTest.java index 642adb307..6b15c879f 100644 --- a/vid-app-common/src/test/java/org/onap/vid/job/impl/AsyncInstantiationIntegrationTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/job/impl/AsyncInstantiationIntegrationTest.java @@ -67,7 +67,6 @@ import static org.testng.AssertJUnit.assertTrue; import com.fasterxml.jackson.databind.JsonNode; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import java.io.IOException; import java.lang.reflect.Method; import java.util.Collection; import java.util.Collections; @@ -458,13 +457,11 @@ public class AsyncInstantiationIntegrationTest extends AsyncInstantiationBaseTes when(restMso.GetForObject(endsWith(VNF_REQUEST_ID), eq(AsyncRequestStatus.class))). thenReturn(asyncRequestStatusResponseAsRestObject(COMPLETE_STR)); - try { - reset(commandUtils); - when(commandUtils.isVfModuleBaseModule(SERVICE_MODEL_VERSION_ID, VF_MODULE_0_MODEL_VERSION_ID)).thenReturn(true); - when(commandUtils.isVfModuleBaseModule(SERVICE_MODEL_VERSION_ID, VF_MODULE_1_MODEL_VERSION_ID)).thenReturn(false); - } catch (AsdcCatalogException e) { - - } + reset(commandUtils); + when(commandUtils.isVfModuleBaseModule(eq(SERVICE_MODEL_VERSION_ID), + argThat(it -> it.getModelCustomizationId().equals(VF_MODULE_0_MODEL_CUSTOMIZATION_NAME)))).thenReturn(true); + when(commandUtils.isVfModuleBaseModule(eq(SERVICE_MODEL_VERSION_ID), + argThat(it -> it.getModelCustomizationId().equals(VF_MODULE_1_MODEL_CUSTOMIZATION_NAME)))).thenReturn(false); /*---------- vf Module without volume group name (base) -----------*/ @@ -1015,10 +1012,12 @@ public class AsyncInstantiationIntegrationTest extends AsyncInstantiationBaseTes RestObject<AsyncRequestStatus> createStatusResponse, RestObject<AsyncRequestStatus> deleteStatusResponse, JobStatus expectedJobStatus, - int getStatusCounter) throws IOException, AsdcCatalogException { + int getStatusCounter) { - when(commandUtils.isVfModuleBaseModule("6b528779-44a3-4472-bdff-9cd15ec93450", "f8360508-3f17-4414-a2ed-6bc71161e8db")).thenReturn(true); - when(commandUtils.isVfModuleBaseModule("6b528779-44a3-4472-bdff-9cd15ec93450", "25284168-24bb-4698-8cb4-3f509146eca5")).thenReturn(false); + when(commandUtils.isVfModuleBaseModule(eq("6b528779-44a3-4472-bdff-9cd15ec93450"), + argThat(it -> it.getModelCustomizationName().equals("2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0")))).thenReturn(true); + when(commandUtils.isVfModuleBaseModule(eq("6b528779-44a3-4472-bdff-9cd15ec93450"), + argThat(it -> it.getModelCustomizationName().equals("2017488PasqualeVpe..PASQUALE_vRE_BV..module-1")))).thenReturn(false); createAndDeleteIntegrationTest("/payload_jsons/vfModuleDelete1Create1None1Request.json", "/serviceInstantiation/v7/serviceInstances/f8791436-8d55-4fde-b4d5-72dd2cf13cfb/vnfs/VNF_INSTANCE_ID/vfModules", |