diff options
2 files changed, 146 insertions, 158 deletions
diff --git a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vdu/mapper/VfModuleCustomizationToVduMapperTest.java b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vdu/mapper/VfModuleCustomizationToVduMapperTest.java new file mode 100644 index 0000000000..c982f8beb1 --- /dev/null +++ b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vdu/mapper/VfModuleCustomizationToVduMapperTest.java @@ -0,0 +1,146 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2018 Nokia + * ================================================================================ + * 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.so.adapters.vdu.mapper; + +import static org.assertj.core.api.Assertions.assertThat; + +import com.google.common.collect.Lists; +import java.util.List; +import org.junit.Test; +import org.onap.so.adapters.vdu.VduArtifact; +import org.onap.so.adapters.vdu.VduArtifact.ArtifactType; +import org.onap.so.adapters.vdu.VduModelInfo; +import org.onap.so.db.catalog.beans.HeatEnvironment; +import org.onap.so.db.catalog.beans.HeatFiles; +import org.onap.so.db.catalog.beans.HeatTemplate; +import org.onap.so.db.catalog.beans.VfModule; +import org.onap.so.db.catalog.beans.VfModuleCustomization; + +public class VfModuleCustomizationToVduMapperTest { + + private static final String MODEL_CUSTOMIZATION_UUID = "modelCustomizationUUID"; + private static final String HEAT_ENV_NAME = "heatEnvName"; + private static final String HEAT_ENV_CONTENT = "heatEnvContent"; + private static final String MODULE_HEAT_TEMPLATE_NAME = "moduleHeatTemplateName"; + private static final String MODULE_HEAT_TEMPLATE_BODY = "moduleHeatTemplateBody"; + private static final String NESTED_TEMPLATE_NAME = "nestedTemplateName"; + private static final String NESTED_TEMPLATE_BODY = "nestedTemplateBody"; + private static final int TIMEOUT_IN_MIN = 66; + private static final String VF_MODULE_MODEL_INVARIANT_UUID = "vfModuleModelInvariantUUID"; + private static final String CLOUD_FILE_NAME = "cloudFileName"; + private static final String CLOUD_FILE_BODY = "cloudFileBody"; + + + @Test + public void mapVfModuleCustomizationToVdu_successful() { + // GIVEN + VfModuleCustomization vfModuleCustomization = createVfModuleCustomization(); + vfModuleCustomization.setHeatEnvironment(createHeatEnvironment(HEAT_ENV_NAME, HEAT_ENV_CONTENT)); + VfModule vfModule = createVfModule(); + vfModule.setModuleHeatTemplate(createHeatTemplate( + MODULE_HEAT_TEMPLATE_NAME, MODULE_HEAT_TEMPLATE_BODY, + NESTED_TEMPLATE_NAME, NESTED_TEMPLATE_BODY)); + vfModuleCustomization.setVfModule(vfModule); + + // WHEN + VduModelInfo vduModelInfo = new VfModuleCustomizationToVduMapper() + .mapVfModuleCustomizationToVdu(vfModuleCustomization); + + // THEN + assertThat(vduModelInfo.getModelCustomizationUUID()).isEqualTo(MODEL_CUSTOMIZATION_UUID); + assertThat(vduModelInfo.getTimeoutMinutes()).isEqualTo(TIMEOUT_IN_MIN); + assertThat(vduModelInfo.getArtifacts()).containsExactlyElementsOf(createExpectedVduArtifacts()); + } + + @Test + public void mapVfModuleCustVolumeToVdu_successful() { + // GIVEN + VfModuleCustomization vfModuleCustomization = createVfModuleCustomization(); + vfModuleCustomization.setVolumeHeatEnv(createHeatEnvironment(HEAT_ENV_NAME, HEAT_ENV_CONTENT)); + VfModule vfModule = createVfModule(); + vfModule.setVolumeHeatTemplate(createHeatTemplate( + MODULE_HEAT_TEMPLATE_NAME, MODULE_HEAT_TEMPLATE_BODY, + NESTED_TEMPLATE_NAME, NESTED_TEMPLATE_BODY)); + vfModuleCustomization.setVfModule(vfModule); + + // WHEN + VduModelInfo vduModelInfo = new VfModuleCustomizationToVduMapper() + .mapVfModuleCustVolumeToVdu(vfModuleCustomization); + + // THEN + assertThat(vduModelInfo.getModelCustomizationUUID()).isEqualTo(MODEL_CUSTOMIZATION_UUID); + assertThat(vduModelInfo.getTimeoutMinutes()).isEqualTo(TIMEOUT_IN_MIN); + assertThat(vduModelInfo.getArtifacts()).containsExactlyElementsOf(createExpectedVduArtifacts()); + } + + private VfModuleCustomization createVfModuleCustomization() { + VfModuleCustomization vfModuleCustomization = new VfModuleCustomization(); + vfModuleCustomization.setModelCustomizationUUID(MODEL_CUSTOMIZATION_UUID); + return vfModuleCustomization; + } + + private HeatEnvironment createHeatEnvironment(String volHeatEnvName, String volHeatEnvContent) { + HeatEnvironment heatEnvironment = new HeatEnvironment(); + heatEnvironment.setName(volHeatEnvName); + heatEnvironment.setEnvironment(volHeatEnvContent); + return heatEnvironment; + } + + private VfModule createVfModule() { + VfModule vfModule = new VfModule(); + vfModule.setModelInvariantUUID(VF_MODULE_MODEL_INVARIANT_UUID); + vfModule.setHeatFiles(createHeatFiles(CLOUD_FILE_NAME, CLOUD_FILE_BODY)); + return vfModule; + } + + private List<HeatFiles> createHeatFiles(String fileName, String fileBody) { + HeatFiles heatFiles = new HeatFiles(); + heatFiles.setFileName(fileName); + heatFiles.setFileBody(fileBody); + return Lists.newArrayList(heatFiles); + } + + private HeatTemplate createHeatTemplate(String moduleHeatTemplateName, String moduleHeatTemplateBody, + String childTemplateName, String childTemplateBody) { + HeatTemplate heatTemplate = new HeatTemplate(); + heatTemplate.setTemplateName(moduleHeatTemplateName); + heatTemplate.setTemplateBody(moduleHeatTemplateBody); + heatTemplate.setTimeoutMinutes(TIMEOUT_IN_MIN); + heatTemplate.setChildTemplates(createChildHeatTemplate(childTemplateName, childTemplateBody)); + return heatTemplate; + } + + private List<HeatTemplate> createChildHeatTemplate(String moduleHeatTemplateName, String moduleHeatTemplateBody) { + HeatTemplate heatTemplate = new HeatTemplate(); + heatTemplate.setTemplateName(moduleHeatTemplateName); + heatTemplate.setTemplateBody(moduleHeatTemplateBody); + return Lists.newArrayList(heatTemplate); + } + + private List<VduArtifact> createExpectedVduArtifacts() { + return Lists.newArrayList( + new VduArtifact(MODULE_HEAT_TEMPLATE_NAME, MODULE_HEAT_TEMPLATE_BODY.getBytes(), + ArtifactType.MAIN_TEMPLATE), + new VduArtifact(NESTED_TEMPLATE_NAME, NESTED_TEMPLATE_BODY.getBytes(), ArtifactType.NESTED_TEMPLATE), + new VduArtifact(CLOUD_FILE_NAME, CLOUD_FILE_BODY.getBytes(), ArtifactType.TEXT_FILE), + new VduArtifact(HEAT_ENV_NAME, HEAT_ENV_CONTENT.getBytes(), ArtifactType.ENVIRONMENT)); + } +} diff --git a/adapters/mso-vnf-adapter/src/test/java/org/onap/so/adapters/vdu/mapper/VfModuleCustomizationToVduMapperTest.java b/adapters/mso-vnf-adapter/src/test/java/org/onap/so/adapters/vdu/mapper/VfModuleCustomizationToVduMapperTest.java deleted file mode 100644 index c3d9cca0e9..0000000000 --- a/adapters/mso-vnf-adapter/src/test/java/org/onap/so/adapters/vdu/mapper/VfModuleCustomizationToVduMapperTest.java +++ /dev/null @@ -1,158 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 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.so.adapters.vdu.mapper; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -import java.util.HashMap; -import java.util.Map; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.onap.so.adapters.vdu.VduArtifact; -import org.onap.so.adapters.vdu.VduArtifact.ArtifactType; -import org.onap.so.adapters.vdu.VduModelInfo; -import org.onap.so.db.catalog.CatalogDatabase; -import org.onap.so.db.catalog.beans.HeatEnvironment; -import org.onap.so.db.catalog.beans.HeatFiles; -import org.onap.so.db.catalog.beans.HeatTemplate; -import org.onap.so.db.catalog.beans.VfModule; -import org.onap.so.db.catalog.beans.VfModuleCustomization; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; - -@RunWith(PowerMockRunner.class) -@PrepareForTest({CatalogDatabase.class}) -public class VfModuleCustomizationToVduMapperTest { - - private static final String HEAT_TEMPLATE_ARTIFACT_UUID = "testHeatTemplate"; - private static final String VF_MODULE_MODEL_UUID = "vfModuleUuid"; - private static final String HEAT_ENV_ARTIFACT_UUID = "heatEnvArtifactUuid"; - private static final String MAIN_TEMPLATE_NAME = "testTempName"; - private static final String MAIN_TEMPLATE_BODY = "testTempBody"; - private static final String NESTED_TEMPLATE_KEY = "testKey"; - private static final String NESTED_TEMPLATE_VALUE = "nestedTemplateTest"; - private static final String HEAT_FILE_NAME = "heatFileName"; - private static final String HEAT_FILE_BODY = "heatFileBodyTest"; - private static final String HEAT_ENV_NAME = "heatEnvName"; - private static final String HEAT_ENV = "heatEnv"; - private static final String VOL_HEAT_TEMPLATE_ARTIFACT = "volEnvArtifact"; - private static final String VOL_ENV_ARTIFACT_UUID = "volEnvArtifactUuid"; - - private VfModuleCustomizationToVduMapper testedObject; - private CatalogDatabase catalogDatabaseMock; - - @Before - public void init() { - PowerMockito.mockStatic(CatalogDatabase.class); - catalogDatabaseMock = mock(CatalogDatabase.class); - testedObject = new VfModuleCustomizationToVduMapper(); - PowerMockito.when(CatalogDatabase.getInstance()).thenReturn(catalogDatabaseMock); - when(catalogDatabaseMock.getNestedTemplates(HEAT_TEMPLATE_ARTIFACT_UUID)).thenReturn(createNestedTemplates()); - when(catalogDatabaseMock.getHeatFilesForVfModule(VF_MODULE_MODEL_UUID)).thenReturn(createHeatFileMap()); - } - - @Test - public void mapVfModuleCustomizationToVdu_successful() { - when(catalogDatabaseMock.getHeatTemplateByArtifactUuid(HEAT_TEMPLATE_ARTIFACT_UUID)) - .thenReturn(createHeatTemplate()); - when(catalogDatabaseMock.getHeatEnvironmentByArtifactUuid(HEAT_ENV_ARTIFACT_UUID)) - .thenReturn(createHeatEnvironment()); - VduModelInfo result = testedObject.mapVfModuleCustomizationToVdu(createVfModuleCustomization()); - assertThat(result.getArtifacts()).containsExactly(createExpectedResultArray()); - } - - @Test - public void mapVfModuleCustVolumeToVdu_successful() { - when(catalogDatabaseMock.getHeatTemplateByArtifactUuid(VOL_HEAT_TEMPLATE_ARTIFACT)) - .thenReturn(createHeatTemplate()); - when(catalogDatabaseMock.getHeatEnvironmentByArtifactUuid(VOL_ENV_ARTIFACT_UUID)) - .thenReturn(createHeatEnvironment()); - VduModelInfo result = testedObject.mapVfModuleCustVolumeToVdu(createVfModuleCustomization()); - assertThat(result.getArtifacts()).containsExactly(createExpectedResultArray()); - } - - private VfModuleCustomization createVfModuleCustomization() { - VfModuleCustomization vfModuleCustomization = new VfModuleCustomization(); - VfModule vfModule = new VfModule(); - vfModule.setHeatTemplateArtifactUUId(HEAT_TEMPLATE_ARTIFACT_UUID); - vfModule.setVolHeatTemplateArtifactUUId(VOL_HEAT_TEMPLATE_ARTIFACT); - vfModuleCustomization.setVfModule(vfModule); - vfModuleCustomization.setVfModuleModelUuid(VF_MODULE_MODEL_UUID); - vfModuleCustomization.setHeatEnvironmentArtifactUuid(HEAT_ENV_ARTIFACT_UUID); - vfModuleCustomization.setVolEnvironmentArtifactUuid(VOL_ENV_ARTIFACT_UUID); - return vfModuleCustomization; - } - - private HeatTemplate createHeatTemplate() { - HeatTemplate heatTemplate = new HeatTemplate(); - heatTemplate.setTemplateName(MAIN_TEMPLATE_NAME); - heatTemplate.setTemplateBody(MAIN_TEMPLATE_BODY); - heatTemplate.setArtifactUuid(HEAT_TEMPLATE_ARTIFACT_UUID); - return heatTemplate; - } - - private Map<String, Object> createNestedTemplates() { - Map<String, Object> map = new HashMap<>(); - map.put(NESTED_TEMPLATE_KEY, NESTED_TEMPLATE_VALUE); - return map; - } - - private Map<String, HeatFiles> createHeatFileMap() { - HeatFiles heatFiles = new HeatFiles(); - heatFiles.setFileName(HEAT_FILE_NAME); - heatFiles.setFileBody(HEAT_FILE_BODY); - Map<String, HeatFiles> map = new HashMap<>(); - map.put("heatFileKey", heatFiles); - return map; - } - - private HeatEnvironment createHeatEnvironment() { - HeatEnvironment heatEnvironment = new HeatEnvironment(); - heatEnvironment.setName(HEAT_ENV_NAME); - heatEnvironment.setEnvironment(HEAT_ENV); - return heatEnvironment; - } - - - private VduArtifact[] createExpectedResultArray() { - VduArtifact[] vduArtifactsArray = new VduArtifact[4]; - vduArtifactsArray[0] = new VduArtifact(MAIN_TEMPLATE_NAME, MAIN_TEMPLATE_BODY.getBytes(), - ArtifactType.MAIN_TEMPLATE); - vduArtifactsArray[1] = new VduArtifact(NESTED_TEMPLATE_KEY, NESTED_TEMPLATE_VALUE.getBytes(), - ArtifactType.NESTED_TEMPLATE); - vduArtifactsArray[2] = createVduArtifact(HEAT_FILE_NAME, HEAT_FILE_BODY, ArtifactType.TEXT_FILE); - vduArtifactsArray[3] = createVduArtifact(HEAT_ENV_NAME, HEAT_ENV, ArtifactType.ENVIRONMENT); - return vduArtifactsArray; - } - - private VduArtifact createVduArtifact(String name, String content, ArtifactType artifactType) { - VduArtifact vduArtifact = new VduArtifact(); - vduArtifact.setName(name); - vduArtifact.setContent(content.getBytes()); - vduArtifact.setType(artifactType); - return vduArtifact; - } - -} |