diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VlanToInterfaceResourceConnectionTest.java')
1 files changed, 114 insertions, 6 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VlanToInterfaceResourceConnectionTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VlanToInterfaceResourceConnectionTest.java index 5d73a300e8..f0c4517ea7 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VlanToInterfaceResourceConnectionTest.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VlanToInterfaceResourceConnectionTest.java @@ -1,5 +1,5 @@ /* - * Copyright © 2016-2017 European Support Limited + * Copyright © 2016-2018 European Support Limited * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,18 +16,38 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.junit.AfterClass; +import org.junit.Assert; import org.junit.Before; -import org.junit.BeforeClass; import org.junit.Test; -import org.openecomp.sdc.common.togglz.ToggleableFeature; -import org.togglz.testing.TestFeatureManager; -import org.togglz.testing.TestFeatureManagerProvider; +import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes; +import org.openecomp.sdc.heat.datatypes.model.Resource; +import org.openecomp.sdc.heat.services.HeatConstants; +import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.FilePortConsolidationData; +import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.PortTemplateConsolidationData; +import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.SubInterfaceTemplateConsolidationData; +import org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil; import java.io.IOException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; public class ContrailV2VlanToInterfaceResourceConnectionTest extends BaseResourceTranslationTest { + private static final String PORT_NODE_TEMPLATE_ID_FOR_ATTR_TEST = "vdbe_untr_1_port"; + private static final int ONE = 1; + private static final int TWO = 2; + private static final String NETWORK_ROLE_INOUT_ATTR_TEST = "untr"; + private static final String NESTED_FILE_NAME_INOUT_ATTR_TEST = "nested.yml"; + private static final String INPUT_FILE_PATH_FOR_INOUT_ATTR_TEST = + "/mock/services/heattotosca/subInterfaceToInterfaceConnection/inoutattr/inputfiles"; + private static final String INPUT_FILE_PATH_FOR_PORT_NETWORK_ROLE = + "/mock/services/heattotosca/subInterfaceToInterfaceConnection/portNetworkRole/inputfiles"; + private static final String MAIN_SERVICE_TEMPLATE_YAML = "MainServiceTemplate.yaml"; + + @Override @Before public void setUp() throws IOException { @@ -45,6 +65,84 @@ public class ContrailV2VlanToInterfaceResourceConnectionTest extends BaseResourc } @Test + public void testTranslateVlanToInterfaceNestedInOutAttr() throws Exception { + inputFilesPath = INPUT_FILE_PATH_FOR_INOUT_ATTR_TEST; + outputFilesPath = + "/mock/services/heattotosca/subInterfaceToInterfaceConnection/inoutattr" + + "/expectedoutputfiles"; + initTranslatorAndTranslate(); + testTranslation(); + + Assert.assertNotNull(this.translationContext.getConsolidationData().getPortConsolidationData() + .getFilePortConsolidationData(MAIN_SERVICE_TEMPLATE_YAML) + .getPortTemplateConsolidationData(PORT_NODE_TEMPLATE_ID_FOR_ATTR_TEST)); + + List<SubInterfaceTemplateConsolidationData> subInfList = + this.translationContext.getConsolidationData().getPortConsolidationData() + .getFilePortConsolidationData(MAIN_SERVICE_TEMPLATE_YAML) + .getPortTemplateConsolidationData(PORT_NODE_TEMPLATE_ID_FOR_ATTR_TEST) + .getSubInterfaceConsolidationData("org.openecomp.resource.abstract.nodes.heat.subinterface.nested"); + + Assert.assertEquals(ONE, subInfList.size()); + SubInterfaceTemplateConsolidationData data = subInfList.get(0); + + Assert.assertEquals(NETWORK_ROLE_INOUT_ATTR_TEST, data.getNetworkRole()); + Assert.assertEquals(ONE, data.getNodesConnectedIn().size()); + Assert.assertEquals(ONE, data.getNodesConnectedOut().size()); + Assert.assertEquals(TWO, data.getNodesConnectedOut().get("control_int_net").size()); + Assert.assertEquals(ONE, data.getNodesGetAttrIn().size()); + Assert.assertEquals(ONE, data.getNodesGetAttrOut().size()); + Assert.assertEquals(ONE, data.getOutputParametersGetAttrIn().size()); + + } + + @Test + public void testGetNetworkRoleFromResourceUtil() throws Exception { + inputFilesPath = INPUT_FILE_PATH_FOR_INOUT_ATTR_TEST; + initTranslatorAndTranslate(); + Resource targetResource = new Resource(); + targetResource.setType(NESTED_FILE_NAME_INOUT_ATTR_TEST); + + Optional<String> networkRole = HeatToToscaUtil.getNetworkRoleFromResource(targetResource, this + .translationContext); + + Assert.assertEquals(NETWORK_ROLE_INOUT_ATTR_TEST,networkRole.get()); + } + + @Test + public void testGetNetworkRoleFromResourceUtil_Port() throws Exception { + inputFilesPath = INPUT_FILE_PATH_FOR_PORT_NETWORK_ROLE; + initTranslatorAndTranslate(); + List<String> validNeutronPortTemplateIds = Arrays.asList("vdbe_0_oam_port_1", "vdbe_oam_port", "vdbe_oam_port_2"); + validatePortNetworkRole(validNeutronPortTemplateIds, "oam"); + + List<String> validVmiPortTemplateIds = Arrays.asList("vdbe_0_untr_vmi_0", "vdbe_untr_vmi"); + validatePortNetworkRole(validVmiPortTemplateIds, "untr"); + + List<String> portIdsNotFollowingHeatGuidelines = Arrays.asList("vdbe_0_oam_neutronNotFollowingHeatGuidelines_2", + "vdbe_0_untr_vmiNotFollowingHeatGuidelines_1"); + validatePortNetworkRole(portIdsNotFollowingHeatGuidelines, null); + + } + + + @Test + public void testIsSubInterfaceResourceUtil() throws Exception { + inputFilesPath = INPUT_FILE_PATH_FOR_INOUT_ATTR_TEST; + initTranslatorAndTranslate(); + Resource targetResource = new Resource(); + targetResource.setType(HeatResourcesTypes.RESOURCE_GROUP_RESOURCE_TYPE.getHeatResource()); + Map<String, Object> propetyMap = new HashMap<>(); + Map<String, Object> resourceDefPropsMap = new HashMap<>(); + resourceDefPropsMap.put("type", NESTED_FILE_NAME_INOUT_ATTR_TEST); + propetyMap.put(HeatConstants.RESOURCE_DEF_PROPERTY_NAME, resourceDefPropsMap); + targetResource.setProperties(propetyMap); + + Assert.assertTrue(HeatToToscaUtil.isSubInterfaceResource(targetResource, this + .translationContext)); + } + + @Test public void testTranslateVlanToNetMultiNestedConnection() throws Exception { inputFilesPath = "/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles"; @@ -55,4 +153,14 @@ public class ContrailV2VlanToInterfaceResourceConnectionTest extends BaseResourc testTranslation(); } + private void validatePortNetworkRole(List<String> portNodeTemplateIds, String expectedNetworkRole) { + FilePortConsolidationData filePortConsolidationData = + translationContext.getConsolidationData().getPortConsolidationData() + .getFilePortConsolidationData(MAIN_SERVICE_TEMPLATE_YAML); + for (String portNodeTemplateId : portNodeTemplateIds) { + PortTemplateConsolidationData portTemplateConsolidationData = + filePortConsolidationData.getPortTemplateConsolidationData(portNodeTemplateId); + Assert.assertEquals(expectedNetworkRole, portTemplateConsolidationData.getNetworkRole()); + } + } } |