aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org
diff options
context:
space:
mode:
authorojasdubey <ojas.dubey@amdocs.com>2018-02-22 14:32:06 +0530
committerAvi Gaffa <avi.gaffa@amdocs.com>2018-02-28 09:56:30 +0000
commit51e051e86f9f5d10c9439e9e5e57d1e9ee8f8e06 (patch)
tree957583dc6b93667d7024c7258716d6c6b96776c2 /openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org
parentbc169d4b132891052cc8c642e18e642afd04464f (diff)
VLAN tagging - Pattern 1A, 1C1
1. Implementation for supporting VLAN tagging in Pattern 1A and 1C1 heats 2. Updated code for switch case refactor with command design pattern 3. Added unit tests and bug fixes Change-Id: I54938ffd6673f865b4506a890ec8e7b9c54597b1 Issue-ID: SDC-1036 Signed-off-by: ojasdubey <ojas.dubey@amdocs.com>
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/TestUtils.java13
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationServiceTest.java16
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionServiceTest.java38
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/buildconsolidationdata/ConsolidationDataTestUtil.java58
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionSubInterfaceFullTest.java190
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java1
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VlanToInterfaceResourceConnectionTest.java120
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/unifiedmodel/commands/ComputeNewNodeTemplateIdGeneratorTest.java90
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/unifiedmodel/commands/PortNewNodeTemplateIdGeneratorTest.java199
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/unifiedmodel/commands/SubInterfaceNewNodeTemplateIdGeneratorTest.java191
10 files changed, 878 insertions, 38 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/TestUtils.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/TestUtils.java
index 1f7167c522..7a07d78c10 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/TestUtils.java
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/TestUtils.java
@@ -30,7 +30,9 @@ import org.openecomp.sdc.tosca.datatypes.model.GroupDefinition;
import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate;
import org.openecomp.sdc.tosca.datatypes.model.RequirementAssignment;
import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
+import org.openecomp.sdc.tosca.datatypes.model.TopologyTemplate;
import org.openecomp.sdc.tosca.services.DataModelUtil;
+import org.openecomp.sdc.tosca.services.ToscaConstants;
import org.openecomp.sdc.tosca.services.ToscaExtensionYamlUtil;
import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.ComputeConsolidationData;
import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.ComputeTemplateConsolidationData;
@@ -46,6 +48,7 @@ import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolida
import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.RequirementAssignmentData;
import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.SubInterfaceTemplateConsolidationData;
import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.TypeComputeConsolidationData;
+import org.openecomp.sdc.translator.services.heattotosca.globaltypes.GlobalTypesGenerator;
import java.io.File;
import java.io.FileInputStream;
@@ -691,5 +694,15 @@ public class TestUtils {
return Optional.empty();
}
+ public static ServiceTemplate createInitServiceTemplate() {
+ ServiceTemplate initServiceTemplate = new ServiceTemplate();
+ Map<String, String> templateMetadata = new HashMap<>();
+ templateMetadata.put(ToscaConstants.ST_METADATA_TEMPLATE_NAME, "Test");
+ initServiceTemplate.setTosca_definitions_version(ToscaConstants.TOSCA_DEFINITIONS_VERSION);
+ initServiceTemplate.setMetadata(templateMetadata);
+ initServiceTemplate.setTopology_template(new TopologyTemplate());
+ initServiceTemplate.setImports(GlobalTypesGenerator.getGlobalTypesImportList());
+ return initServiceTemplate;
+ }
}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationServiceTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationServiceTest.java
index 63ce6b5682..9a36499956 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationServiceTest.java
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationServiceTest.java
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ * 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.
+ */
+
package org.openecomp.sdc.translator.services.heattotosca;
import static org.mockito.Matchers.any;
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionServiceTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionServiceTest.java
index 7de9ae5588..646aa47884 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionServiceTest.java
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionServiceTest.java
@@ -1,5 +1,25 @@
+/*
+ * 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.
+ * 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.
+ */
+
package org.openecomp.sdc.translator.services.heattotosca;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Matchers.anyString;
+
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import org.junit.Before;
@@ -40,10 +60,6 @@ import java.util.Map;
import java.util.Objects;
import java.util.Optional;
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Matchers.anyString;
-
public class UnifiedCompositionServiceTest {
private static final String BASE_DIRECTORY = "/mock/services/heattotosca/unifiedComposition/";
@InjectMocks
@@ -879,11 +895,11 @@ public class UnifiedCompositionServiceTest {
context.setConsolidationData(
createConsolidationData(Collections.singletonList(FSB1_template), portTypeToIdList));
context.addCleanedNodeTemplate(MAIN_SERVICE_TEMPLATE_YAML, FSB1_template,
- UnifiedCompositionEntity.Compute, cleanedComputeNodeTemplate);
+ UnifiedCompositionEntity.COMPUTE, cleanedComputeNodeTemplate);
context.addCleanedNodeTemplate(MAIN_SERVICE_TEMPLATE_YAML, FSB1_INTERNAL1,
- UnifiedCompositionEntity.Port, cleanedComputeNodeTemplate);
+ UnifiedCompositionEntity.PORT, cleanedComputeNodeTemplate);
context.addCleanedNodeTemplate(MAIN_SERVICE_TEMPLATE_YAML, FSB1_INTERNAL2,
- UnifiedCompositionEntity.Port, cleanedComputeNodeTemplate);
+ UnifiedCompositionEntity.PORT, cleanedComputeNodeTemplate);
setUnifiedCompositionData(Arrays.asList(FSB1_template, FSB1_INTERNAL1, FSB1_INTERNAL2));
@@ -910,13 +926,13 @@ public class UnifiedCompositionServiceTest {
createConsolidationData(Arrays.asList("FSB1_template_1", "FSB1_template_2"),
portTypeToIdList));
context.addCleanedNodeTemplate(MAIN_SERVICE_TEMPLATE_YAML, "FSB1_template_1",
- UnifiedCompositionEntity.Compute, cleanedComputeNodeTemplate);
+ UnifiedCompositionEntity.COMPUTE, cleanedComputeNodeTemplate);
context.addCleanedNodeTemplate(MAIN_SERVICE_TEMPLATE_YAML, "FSB1_template_2",
- UnifiedCompositionEntity.Compute, cleanedComputeNodeTemplate);
+ UnifiedCompositionEntity.COMPUTE, cleanedComputeNodeTemplate);
context.addCleanedNodeTemplate(MAIN_SERVICE_TEMPLATE_YAML, FSB1_INTERNAL1,
- UnifiedCompositionEntity.Port, cleanedComputeNodeTemplate);
+ UnifiedCompositionEntity.PORT, cleanedComputeNodeTemplate);
context.addCleanedNodeTemplate(MAIN_SERVICE_TEMPLATE_YAML, FSB2_INTERNAL1,
- UnifiedCompositionEntity.Port, cleanedComputeNodeTemplate);
+ UnifiedCompositionEntity.PORT, cleanedComputeNodeTemplate);
setUnifiedCompositionData(
Arrays.asList("FSB1_template_1", "FSB1_template_2", FSB1_INTERNAL1, FSB2_INTERNAL1));
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/buildconsolidationdata/ConsolidationDataTestUtil.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/buildconsolidationdata/ConsolidationDataTestUtil.java
index bb1f898dc4..9353de7eb1 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/buildconsolidationdata/ConsolidationDataTestUtil.java
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/buildconsolidationdata/ConsolidationDataTestUtil.java
@@ -1,5 +1,35 @@
+/*
+ * 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.
+ * 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.
+ */
+
package org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata;
+import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.MAIN_SERVICE_TEMPLATE;
+import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_DEPENDS_ON_INVALID_DEPENDENCY_CANDIDATE;
+import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_DEPENDS_ON_MULTIPLE_COMPUTE;
+import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_DEPENDS_ON_NODES_CONNECTED_IN;
+import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_DEPENDS_ON_NODES_CONNECTED_IN_AND_OUT;
+import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_DEPENDS_ON_NODES_CONNECTED_OUT;
+import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_DEPENDS_ON_NO_DEPENDENCY;
+import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_MULTIPLE_MULTI_LEVEL_NESTED_RESOURCE;
+import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_MULTIPLE_NESTED_RESOURCE;
+import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_SECURITY_RULE_PORT_MULTI_LEVEL_NESTED_CONNECTION;
+import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_SECURITY_RULE_PORT_MULTI_LEVEL_NESTED_SHARED_PORT;
+import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_SECURITY_RULE_PORT_NESTED_CONNECTION;
+import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_SINGLE_NESTED_RESOURCE;
+
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.collections4.CollectionUtils;
import org.junit.Assert;
@@ -37,20 +67,6 @@ import java.util.Objects;
import java.util.Optional;
import java.util.Set;
-import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.MAIN_SERVICE_TEMPLATE;
-import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_DEPENDS_ON_INVALID_DEPENDENCY_CANDIDATE;
-import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_DEPENDS_ON_MULTIPLE_COMPUTE;
-import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_DEPENDS_ON_NODES_CONNECTED_IN;
-import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_DEPENDS_ON_NODES_CONNECTED_IN_AND_OUT;
-import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_DEPENDS_ON_NODES_CONNECTED_OUT;
-import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_DEPENDS_ON_NO_DEPENDENCY;
-import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_MULTIPLE_MULTI_LEVEL_NESTED_RESOURCE;
-import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_MULTIPLE_NESTED_RESOURCE;
-import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_SECURITY_RULE_PORT_MULTI_LEVEL_NESTED_CONNECTION;
-import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_SECURITY_RULE_PORT_MULTI_LEVEL_NESTED_SHARED_PORT;
-import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_SECURITY_RULE_PORT_NESTED_CONNECTION;
-import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.TEST_SINGLE_NESTED_RESOURCE;
-
public class ConsolidationDataTestUtil {
public static void validateVolumeInConsolidationData(String computeNodeTemplateId,
@@ -617,7 +633,7 @@ public class ConsolidationDataTestUtil {
Assert.assertNotNull(consolidationData);
if(TestConstants.TEST_GET_ATTR_FOR_MORE_THAN_ONE_ATTR_IN_ATTR_LIST.equals(testName)){
PortTemplateConsolidationData portTemplateConsolidationData = consolidationData
- .getPortConsolidationData().getFilePortConsolidationData("MainServiceTemplate.yaml")
+ .getPortConsolidationData().getFilePortConsolidationData("ep-jsa_netServiceTemplate.yaml")
.getPortTemplateConsolidationData("VMI1");
Assert.assertNotNull(portTemplateConsolidationData);
Assert.assertEquals(2, portTemplateConsolidationData.getNodesGetAttrIn().size());
@@ -635,7 +651,7 @@ public class ConsolidationDataTestUtil {
ComputeTemplateConsolidationData computeTemplateConsolidationDataFSB2 = consolidationData
.getComputeConsolidationData()
- .getFileComputeConsolidationData("MainServiceTemplate.yaml")
+ .getFileComputeConsolidationData("ep-jsa_netServiceTemplate.yaml")
.getTypeComputeConsolidationData("org.openecomp.resource.vfc.nodes.heat.FSB2")
.getComputeTemplateConsolidationData("FSB2");
Assert.assertEquals(1,computeTemplateConsolidationDataFSB2.getNodesGetAttrOut().size());
@@ -647,7 +663,7 @@ public class ConsolidationDataTestUtil {
.get(0).getAttributeName());
ComputeTemplateConsolidationData computeTemplateConsolidationDataFSB1 = consolidationData
.getComputeConsolidationData()
- .getFileComputeConsolidationData("MainServiceTemplate.yaml")
+ .getFileComputeConsolidationData("ep-jsa_netServiceTemplate.yaml")
.getTypeComputeConsolidationData("org.openecomp.resource.vfc.nodes.heat.FSB1")
.getComputeTemplateConsolidationData("FSB1");
Assert.assertEquals(1,computeTemplateConsolidationDataFSB1.getNodesGetAttrOut().size());
@@ -682,7 +698,7 @@ public class ConsolidationDataTestUtil {
Assert.assertNotNull(portTemplateConsolidationData);
Assert.assertEquals("name",portTemplateConsolidationData.getNodesGetAttrIn().get("FSB1").
get(0).getFieldName());
- Assert.assertEquals("fq_name",portTemplateConsolidationData.getNodesGetAttrIn().get("FSB1").
+ Assert.assertEquals("tenant_id",portTemplateConsolidationData.getNodesGetAttrIn().get("FSB1").
get(0).getAttributeName());
} else if(TestConstants.TEST_GET_ATTR_FOR_NONE_TO_PORT_OR_COMPUTE.equals(testName)){
ComputeTemplateConsolidationData computeTemplateConsolidationData = consolidationData
@@ -697,7 +713,7 @@ public class ConsolidationDataTestUtil {
} else if(TestConstants.TEST_OUTPUT_GET_ATTR.equals(testName)){
ComputeTemplateConsolidationData computeTemplateConsolidationData1 = consolidationData
.getComputeConsolidationData()
- .getFileComputeConsolidationData("MainServiceTemplate.yaml")
+ .getFileComputeConsolidationData("firstnet_fgi_frwlServiceTemplate.yaml")
.getTypeComputeConsolidationData("org.openecomp.resource.vfc.nodes.heat.cgi_fw")
.getComputeTemplateConsolidationData("CGI_FW_SERVER_1");
Assert.assertEquals("cgi_fw_01_left_mac_1",computeTemplateConsolidationData1
@@ -707,7 +723,7 @@ public class ConsolidationDataTestUtil {
.get(0).getAttributeName());
ComputeTemplateConsolidationData computeTemplateConsolidationData2 = consolidationData
.getComputeConsolidationData()
- .getFileComputeConsolidationData("MainServiceTemplate.yaml")
+ .getFileComputeConsolidationData("firstnet_fgi_frwlServiceTemplate.yaml")
.getTypeComputeConsolidationData("org.openecomp.resource.vfc.nodes.heat.cgi_fw")
.getComputeTemplateConsolidationData("CGI_FW_SERVER_2");
Assert.assertEquals(1,computeTemplateConsolidationData2
@@ -755,7 +771,7 @@ public class ConsolidationDataTestUtil {
Assert.assertEquals("addresses",computeTemplateConsolidationData2
.getOutputParametersGetAttrIn().get(7).getAttributeName());
PortTemplateConsolidationData portTemplateConsolidationData = consolidationData
- .getPortConsolidationData().getFilePortConsolidationData("MainServiceTemplate.yaml")
+ .getPortConsolidationData().getFilePortConsolidationData("firstnet_fgi_frwlServiceTemplate.yaml")
.getPortTemplateConsolidationData("contrail_vmi_subinterface");
Assert.assertEquals("cgi_fw_01_left_mac_7",portTemplateConsolidationData
.getOutputParametersGetAttrIn().get(0).getFieldName());
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionSubInterfaceFullTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionSubInterfaceFullTest.java
new file mode 100644
index 0000000000..558ebf44b3
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionSubInterfaceFullTest.java
@@ -0,0 +1,190 @@
+/*
+ * 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.
+ * 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.
+ */
+
+package org.openecomp.sdc.translator.services.heattotosca.impl.fulltest;
+
+import org.junit.Test;
+import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseFullTranslationTest;
+
+import java.io.IOException;
+
+public class UnifiedCompositionSubInterfaceFullTest extends BaseFullTranslationTest {
+
+ private static final String PATTERN_1A_BASE_DIRECTORY =
+ "/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1a/";
+ private static final String PATTERN_1C1_BASE_DIRECTORY =
+ "/mock/services/heattotosca/fulltest/subinterface/vlantagging/pattern1c1/";
+
+ @Test
+ public void testSubInterfaceComputePortNetwork() throws IOException {
+ /**
+ * Heat file with one compute, one port and one subinterface resource group with only port
+ * connected to network
+ */
+ testTranslationWithInit(PATTERN_1A_BASE_DIRECTORY + "computePortNetworkSubInterface");
+ }
+
+ @Test
+ public void testSubInterfaceNodesConnectedOut() throws IOException {
+ /**
+ * Heat file with one compute, one port and one subinterface resource group with
+ * 1. Port connected to network
+ * 2. Sub-interface connected to same network
+ * 3. Sub-interface has depends on (out) connectivity with network resource
+ */
+ testTranslationWithInit(PATTERN_1A_BASE_DIRECTORY + "subInterfaceNodesConnectedOut");
+ }
+
+ @Test
+ public void testSubInterfaceNodesConnectedIn() throws IOException {
+ /**
+ * Heat file with one compute, one port and one subinterface resource group with
+ * 1. Port connected to network
+ * 2. Sub-interface connected to different network
+ * 3. Sub-interface has depends on (in) connectivity from network resource
+ */
+ testTranslationWithInit(PATTERN_1A_BASE_DIRECTORY + "subInterfaceNodesConnectedIn");
+ }
+
+ @Test
+ public void testSubInterfaceGetAttrInOut() throws IOException {
+ /**
+ * Heat file with one compute, one port and one subinterface resource group with
+ * 1. Port connected to network
+ * 2. Sub-interface connected to different network
+ * 3. Sub-interface has get attribute (in) connectivity from network resource
+ * 4. Sub-interface has get attribute (out) connectivity to second network resource
+ * 5. Sub-interface has get attribute (in) connectivity from output param
+ */
+ testTranslationWithInit(PATTERN_1A_BASE_DIRECTORY + "subInterfaceGetAttrInOut");
+ }
+
+ @Test
+ public void testSubInterfaceMultipleVlanSameNestedFile() throws IOException {
+ /**
+ * Heat file with one compute, one port and two subinterface resource groups with
+ * 1. Port connected to network
+ * 2. Sub-interfaces with same nested files
+ */
+ testTranslationWithInit(PATTERN_1A_BASE_DIRECTORY + "multipleVlanSameType");
+ }
+
+ @Test
+ public void testSubInterfaceMultipleVlanDiffNestedFile() throws IOException {
+ /**
+ * Heat file with one compute, one port and two subinterface resource groups with
+ * 1. Port connected to network
+ * 2. Sub-interfaces with different nested files
+ */
+ testTranslationWithInit(PATTERN_1A_BASE_DIRECTORY + "multipleVlanDiffType");
+ }
+
+ @Test
+ public void testSubInterfaceMultiplePortsMultipleVlans() throws IOException {
+ /**
+ * Heat file with one compute, two ports and two subinterface resource groups with
+ * 1. Port connected to network
+ * 2. Sub-interfaces each with different nested files
+ */
+ testTranslationWithInit(PATTERN_1A_BASE_DIRECTORY + "multiplePortsMultipleVlans");
+ }
+
+ @Test
+ public void testSubInterfaceRegularNested() throws IOException {
+ /**
+ * Heat file with one compute, one port and one subinterface resource represented through a
+ * regular nested resource and not using a resource group
+ */
+ testTranslationWithInit(PATTERN_1A_BASE_DIRECTORY + "regularNestedSubInterface");
+ }
+
+ @Test
+ public void testSubInterfaceNotBoundToPort() throws IOException {
+ /**
+ * Heat file with one compute, one port and one subinterface resource group with
+ * 1. Resource group missing virtual_machine_interface_refs property
+ * 2. Resource group missing virtual_machine_interface_properties_sub_interface_vlan_tag
+ * property
+ * 3. Resource group parent port as get_param
+ */
+ testTranslationWithInit(PATTERN_1A_BASE_DIRECTORY + "notBoundToParentPort");
+ }
+
+ //****************** PATTERN 1C1 Tests ***************************
+
+ @Test
+ public void testSubInterfaceScalingOnePortVlanSameType() throws IOException {
+ /**
+ * Heat file with two computes of same type, two ports of same type and two subinterface resource groups of same
+ * type with
+ * 1. Compute has one port each
+ * 2. Port has one sub-interface each
+ * 3. Port connected to network
+ * 3. Sub-interface not connected to network
+ */
+ testTranslationWithInit(PATTERN_1C1_BASE_DIRECTORY + "onePortVlanSameType");
+ }
+
+ @Test
+ public void testSubInterfaceScalingMultiplePortsMultipleVlans() throws IOException {
+ /**
+ * Heat file with two computes of different type, four ports of two types each and four subinterface resource groups
+ * of two types each
+ * 1. Each compute has two ports, one of each type
+ * 2. Port has one sub-interface each
+ * 3. Ports connected to different networks
+ * 4. Sub-interface of one type connected to network
+ */
+ testTranslationWithInit(PATTERN_1C1_BASE_DIRECTORY + "multiplePortsMultipleVlans");
+ }
+
+ @Test
+ public void testSubInterfaceScalingOptionalPropertiesConsolidation() throws IOException {
+ /**
+ * Heat file with two computes of same type, four ports of two types each and two subinterface resource groups
+ * of same type
+ * 1. Each compute has two ports, one of each type
+ * 2. One of the ports has a subinterface
+ * 3. Ports connected to network
+ * 4. Subinterfaces not connected to network
+ * 5. Optional properties contained in one subinterface and not in other
+ */
+ testTranslationWithInit(PATTERN_1C1_BASE_DIRECTORY + "optionalPropertiesConsolidation");
+ }
+
+ @Test
+ public void testSubInterfaceScalingRegularNestedSubInterface() throws IOException {
+ /**
+ * Heat file with two computes, two ports of same type connected to network and two subinterface resource
+ * represented through a regular nested resource and not using a resource group not connected to network
+ */
+ testTranslationWithInit(PATTERN_1C1_BASE_DIRECTORY + "regularNestedSubInterface");
+ }
+
+ @Test
+ public void testSubInterfaceScalingAllConnectivities() throws IOException {
+ /**
+ * Heat file with two computes of same type, four ports of two types each and two subinterface resource groups
+ * of same type
+ * 1. Each compute has two ports, one of each type
+ * 2. One of the ports has a subinterface
+ * 3. Port connected to network
+ * 4. Both ports and subinterfaces connected to network
+ * 5. All connectivities including dependency, get attribute from nodes and output param
+ */
+ testTranslationWithInit(PATTERN_1C1_BASE_DIRECTORY + "allConnectivities");
+ }
+}
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/BaseFullTranslationTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java
index 17383a9a10..0533961d23 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java
@@ -65,6 +65,7 @@ public class BaseFullTranslationTest {
public static void enableToggleableFeatures(){
manager = new TestFeatureManager(ToggleableFeature.class);
manager.enableAll();
+ TestFeatureManagerProvider.setFeatureManager(manager);
}
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());
+ }
+ }
}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/unifiedmodel/commands/ComputeNewNodeTemplateIdGeneratorTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/unifiedmodel/commands/ComputeNewNodeTemplateIdGeneratorTest.java
new file mode 100644
index 0000000000..5750de5172
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/unifiedmodel/commands/ComputeNewNodeTemplateIdGeneratorTest.java
@@ -0,0 +1,90 @@
+/*
+ * 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.
+ * 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.
+ */
+
+package org.openecomp.sdc.translator.services.heattotosca.unifiedmodel.commands;
+
+import static org.openecomp.sdc.translator.TestUtils.createInitServiceTemplate;
+
+import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate;
+import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
+import org.openecomp.sdc.tosca.datatypes.model.TopologyTemplate;
+import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.commands.UnifiedSubstitutionNodeTemplateIdGenerator;
+import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.commands.impl.ComputeNewNodeTemplateIdGenerator;
+import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.to.UnifiedCompositionTo;
+import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseResourceTranslationTest;
+import org.testng.Assert;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Optional;
+
+public class ComputeNewNodeTemplateIdGeneratorTest extends BaseResourceTranslationTest {
+
+ private static final String SERVER_PCM = "server_pcm";
+ private UnifiedSubstitutionNodeTemplateIdGenerator unifiedSubstitutionNodeTemplateIdGenerator;
+
+ @BeforeClass
+ public void setUp(){
+ unifiedSubstitutionNodeTemplateIdGenerator = new ComputeNewNodeTemplateIdGenerator();
+ }
+
+ @Test
+ public void testGenerateNewComputeNodeTemplateId() {
+ UnifiedCompositionTo unifiedCompositionTo = new UnifiedCompositionTo(getTestComputeServiceTemplate(), null, null,
+ null);
+ Optional<String>
+ nodeTemplateId = unifiedSubstitutionNodeTemplateIdGenerator.generate(unifiedCompositionTo, SERVER_PCM);
+ if (nodeTemplateId.isPresent()) {
+ Assert.assertEquals(nodeTemplateId.get(), "pcm_server");
+ } else {
+ Assert.fail();
+ }
+ }
+
+ @Test
+ public void testGenerateInvalidOriginalNodeTemplateId() {
+ //node template with id is not present in the service template
+ UnifiedCompositionTo unifiedCompositionTo = new UnifiedCompositionTo(getTestComputeServiceTemplate(), null, null,
+ null);
+ Optional<String>
+ nodeTemplateId = unifiedSubstitutionNodeTemplateIdGenerator.generate(unifiedCompositionTo, SERVER_PCM +
+ "_invalid");
+ Assert.assertEquals(nodeTemplateId.isPresent(), false);
+ }
+
+ @Test
+ public void testGenerateNullOriginalNodeTemplateId() {
+ UnifiedCompositionTo unifiedCompositionTo = new UnifiedCompositionTo(getTestComputeServiceTemplate(), null, null,
+ null);
+ Optional<String>
+ nodeTemplateId = unifiedSubstitutionNodeTemplateIdGenerator.generate(unifiedCompositionTo, null);
+ Assert.assertEquals(nodeTemplateId.isPresent(), false);
+ }
+
+ private static ServiceTemplate getTestComputeServiceTemplate() {
+ ServiceTemplate serviceTemplate = createInitServiceTemplate();
+ TopologyTemplate topologyTemplate = serviceTemplate.getTopology_template();
+ NodeTemplate nodeTemplate = new NodeTemplate();
+ nodeTemplate.setType("org.openecomp.resource.vfc.nodes.heat.pcm_server");
+ Map<String, NodeTemplate> nodeTemplateMap = new HashMap<>();
+ nodeTemplateMap.put(SERVER_PCM, nodeTemplate);
+ topologyTemplate.setNode_templates(nodeTemplateMap);
+ return serviceTemplate;
+ }
+
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/unifiedmodel/commands/PortNewNodeTemplateIdGeneratorTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/unifiedmodel/commands/PortNewNodeTemplateIdGeneratorTest.java
new file mode 100644
index 0000000000..1986ecae4e
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/unifiedmodel/commands/PortNewNodeTemplateIdGeneratorTest.java
@@ -0,0 +1,199 @@
+/*
+ * 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.
+ * 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.
+ */
+
+package org.openecomp.sdc.translator.services.heattotosca.unifiedmodel.commands;
+
+import static org.openecomp.sdc.translator.TestUtils.createInitServiceTemplate;
+
+import org.openecomp.sdc.tosca.datatypes.ToscaCapabilityType;
+import org.openecomp.sdc.tosca.datatypes.ToscaNodeType;
+import org.openecomp.sdc.tosca.datatypes.ToscaRelationshipType;
+import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate;
+import org.openecomp.sdc.tosca.datatypes.model.RequirementAssignment;
+import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
+import org.openecomp.sdc.tosca.datatypes.model.TopologyTemplate;
+import org.openecomp.sdc.tosca.services.ToscaConstants;
+import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.UnifiedCompositionData;
+import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.commands.UnifiedSubstitutionNodeTemplateIdGenerator;
+import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.commands.impl.PortNewNodeTemplateIdGenerator;
+import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.to.UnifiedCompositionTo;
+import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.ComputeTemplateConsolidationData;
+import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseResourceTranslationTest;
+import org.testng.Assert;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+
+public class PortNewNodeTemplateIdGeneratorTest extends BaseResourceTranslationTest {
+
+ private static final String SERVER_PCM = "server_pcm";
+ private static final String PCM_PORT_0 = "pcm_port_0";
+ private static final String PCM_PORT_1 = "pcm_port_1";
+
+ private UnifiedSubstitutionNodeTemplateIdGenerator unifiedSubstitutionNodeTemplateIdGenerator;
+
+ @BeforeClass
+ public void setUp(){
+ unifiedSubstitutionNodeTemplateIdGenerator = new PortNewNodeTemplateIdGenerator();
+ }
+
+ @Test
+ public void testGenerateNewPortNodeTemplateId() {
+ UnifiedCompositionTo unifiedCompositionTo = new UnifiedCompositionTo(getTestPortServiceTemplate(), null,
+ getUnifiedCompositionDataListWithOnePort(), null);
+ Optional<String>
+ nodeTemplateId = unifiedSubstitutionNodeTemplateIdGenerator.generate(unifiedCompositionTo, PCM_PORT_0);
+ if (nodeTemplateId.isPresent()) {
+ Assert.assertEquals(nodeTemplateId.get(), "pcm_server_pcm_port");
+ } else {
+ Assert.fail();
+ }
+ }
+
+ @Test
+ public void testGeneratePortIdNotBoundToServer() {
+ UnifiedCompositionTo unifiedCompositionTo = new UnifiedCompositionTo(getTestInitPortServiceTemplate(), null,
+ getInitUnifiedCompositionDataList(), null);
+ Optional<String>
+ nodeTemplateId = unifiedSubstitutionNodeTemplateIdGenerator.generate(unifiedCompositionTo, PCM_PORT_0);
+ Assert.assertEquals(false, nodeTemplateId.isPresent());
+ }
+
+ @Test
+ public void testGeneratePortIdMultiplePortsSameTypeToOneServer() {
+ UnifiedCompositionTo unifiedCompositionTo =
+ new UnifiedCompositionTo(getTestPortServiceTemplateWithTwoPortsOfSameType(), null,
+ getUnifiedCompositionDataListWithTwoPortsOfSameType(), null);
+ Optional<String>
+ nodeTemplateId = unifiedSubstitutionNodeTemplateIdGenerator.generate(unifiedCompositionTo, PCM_PORT_0);
+ if (nodeTemplateId.isPresent()) {
+ Assert.assertEquals(nodeTemplateId.get(), "pcm_server_pcm_port_0");
+ } else {
+ Assert.fail();
+ }
+
+ nodeTemplateId = unifiedSubstitutionNodeTemplateIdGenerator.generate(unifiedCompositionTo, PCM_PORT_1);
+ if (nodeTemplateId.isPresent()) {
+ Assert.assertEquals(nodeTemplateId.get(), "pcm_server_pcm_port_1");
+ } else {
+ Assert.fail();
+ }
+}
+
+ @Test
+ public void testGenerateInvalidOriginalNodeTemplateId() {
+ UnifiedCompositionTo unifiedCompositionTo = new UnifiedCompositionTo(getTestPortServiceTemplate(), null,
+ getUnifiedCompositionDataListWithOnePort(), null);
+ Optional<String>
+ nodeTemplateId = unifiedSubstitutionNodeTemplateIdGenerator.generate(unifiedCompositionTo,
+ PCM_PORT_0 + "_Invalid");
+ Assert.assertEquals(nodeTemplateId.isPresent(), false);
+ }
+
+ private static ServiceTemplate getTestInitPortServiceTemplate() {
+ ServiceTemplate serviceTemplate = createInitServiceTemplate();
+ TopologyTemplate topologyTemplate = serviceTemplate.getTopology_template();
+ NodeTemplate nodeTemplate = new NodeTemplate();
+ nodeTemplate.setType("org.openecomp.resource.vfc.nodes.heat.pcm_server");
+ Map<String, NodeTemplate> nodeTemplateMap = new HashMap<>();
+ nodeTemplateMap.put(SERVER_PCM, nodeTemplate);
+ NodeTemplate portNodeTemplate = new NodeTemplate();
+ portNodeTemplate.setType(ToscaNodeType.NEUTRON_PORT);
+ nodeTemplateMap.put(PCM_PORT_0, portNodeTemplate);
+ topologyTemplate.setNode_templates(nodeTemplateMap);
+ return serviceTemplate;
+ }
+
+ private static ServiceTemplate getTestPortServiceTemplate() {
+ ServiceTemplate serviceTemplate = getTestInitPortServiceTemplate();
+ NodeTemplate portNodeTemplate = serviceTemplate.getTopology_template().getNode_templates().get(PCM_PORT_0);
+ Map<String, RequirementAssignment> portBindingToServer = new HashMap<>();
+ RequirementAssignment binding = new RequirementAssignment();
+ binding.setRelationship(ToscaRelationshipType.NATIVE_NETWORK_BINDS_TO);
+ binding.setCapability(ToscaCapabilityType.NATIVE_NETWORK_BINDABLE);
+ binding.setNode(SERVER_PCM);
+ portBindingToServer.put(ToscaConstants.BINDING_REQUIREMENT_ID, binding);
+ List<Map<String, RequirementAssignment>> requirements = new ArrayList<>(1);
+ requirements.add(portBindingToServer);
+ portNodeTemplate.setRequirements(requirements);
+ return serviceTemplate;
+ }
+
+ private static ServiceTemplate getTestPortServiceTemplateWithTwoPortsOfSameType() {
+ ServiceTemplate serviceTemplate = getTestInitPortServiceTemplate();
+ Map<String, NodeTemplate> nodeTemplateMap = serviceTemplate.getTopology_template().getNode_templates();
+ NodeTemplate anotherPortNodeTemplate = new NodeTemplate();
+ anotherPortNodeTemplate.setType(ToscaNodeType.NEUTRON_PORT);
+ nodeTemplateMap.put(PCM_PORT_1, anotherPortNodeTemplate);
+
+ NodeTemplate portNodeTemplate = serviceTemplate.getTopology_template().getNode_templates().get(PCM_PORT_0);
+ addBindingToServer(portNodeTemplate);
+ addBindingToServer(anotherPortNodeTemplate);
+ return serviceTemplate;
+ }
+
+ private List<UnifiedCompositionData> getInitUnifiedCompositionDataList() {
+ List<UnifiedCompositionData> unifiedCompositionDataList = new ArrayList<>(1);
+ UnifiedCompositionData unifiedCompositionData = new UnifiedCompositionData();
+ ComputeTemplateConsolidationData computeTemplateConsolidationData = new ComputeTemplateConsolidationData();
+ computeTemplateConsolidationData.setNodeTemplateId(SERVER_PCM);
+ unifiedCompositionData.setComputeTemplateConsolidationData(computeTemplateConsolidationData);
+ unifiedCompositionDataList.add(unifiedCompositionData);
+ return unifiedCompositionDataList;
+ }
+
+ private List<UnifiedCompositionData> getUnifiedCompositionDataListWithOnePort() {
+ List<UnifiedCompositionData> unifiedCompositionDataList = getInitUnifiedCompositionDataList();
+ ComputeTemplateConsolidationData computeTemplateConsolidationData = unifiedCompositionDataList.get(0)
+ .getComputeTemplateConsolidationData();
+ List<String> ports = new ArrayList<>(1);
+ ports.add(PCM_PORT_0);
+ Map<String, List<String>> portMap = new HashMap<>();
+ portMap.put("pcm_port", ports);
+ computeTemplateConsolidationData.setPorts(portMap);
+ return unifiedCompositionDataList;
+ }
+
+ private List<UnifiedCompositionData> getUnifiedCompositionDataListWithTwoPortsOfSameType() {
+ List<UnifiedCompositionData> unifiedCompositionDataList = getUnifiedCompositionDataListWithOnePort();
+ ComputeTemplateConsolidationData computeTemplateConsolidationData = unifiedCompositionDataList.get(0)
+ .getComputeTemplateConsolidationData();
+ List<String> ports = new ArrayList<>(2);
+ ports.add(PCM_PORT_0);
+ ports.add(PCM_PORT_1);
+ Map<String, List<String>> portMap = new HashMap<>();
+ portMap.put("pcm_port", ports);
+ computeTemplateConsolidationData.setPorts(portMap);
+ return unifiedCompositionDataList;
+ }
+
+ private static void addBindingToServer(NodeTemplate portNodeTemplate) {
+ Map<String, RequirementAssignment> portBindingToServer = new HashMap<>();
+ RequirementAssignment binding = new RequirementAssignment();
+ binding.setRelationship(ToscaRelationshipType.NATIVE_NETWORK_BINDS_TO);
+ binding.setCapability(ToscaCapabilityType.NATIVE_NETWORK_BINDABLE);
+ binding.setNode(SERVER_PCM);
+ portBindingToServer.put(ToscaConstants.BINDING_REQUIREMENT_ID, binding);
+ List<Map<String, RequirementAssignment>> requirements = new ArrayList<>(1);
+ requirements.add(portBindingToServer);
+ portNodeTemplate.setRequirements(requirements);
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/unifiedmodel/commands/SubInterfaceNewNodeTemplateIdGeneratorTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/unifiedmodel/commands/SubInterfaceNewNodeTemplateIdGeneratorTest.java
new file mode 100644
index 0000000000..11b20fa0b1
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/unifiedmodel/commands/SubInterfaceNewNodeTemplateIdGeneratorTest.java
@@ -0,0 +1,191 @@
+/*
+ * 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.
+ * 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.
+ */
+
+package org.openecomp.sdc.translator.services.heattotosca.unifiedmodel.commands;
+
+import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
+import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
+import org.openecomp.sdc.translator.TestUtils;
+import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext;
+import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.UnifiedCompositionData;
+import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.commands.UnifiedSubstitutionNodeTemplateIdGenerator;
+import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.commands.impl.SubInterfaceNewNodeTemplateIdGenerator;
+import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.to.UnifiedCompositionTo;
+import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.ComputeTemplateConsolidationData;
+import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.ConsolidationData;
+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.impl.resourcetranslation.BaseResourceTranslationTest;
+import org.testng.Assert;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+
+public class SubInterfaceNewNodeTemplateIdGeneratorTest extends BaseResourceTranslationTest {
+
+ private static final String VDBE_UNTR_1_PORT = "vdbe_untr_1_port";
+ private static final String VDBE_UNTR_1_SUBPORTS = "vdbe_untr_1_subports";
+ private static final String MAIN_SERVICE_TEMPLATE_YAML = "MainServiceTemplate.yaml";
+ private static final String VDBE_UNTR_2_SUBPORTS = "vdbe_untr_2_subports";
+ private static final String SUBINTERFACE_TYPE_NESTED =
+ "org.openecomp.resource.abstract.nodes.heat.subinterface.nested";
+
+ private UnifiedSubstitutionNodeTemplateIdGenerator unifiedSubstitutionNodeTemplateIdGenerator;
+
+ @BeforeClass
+ public void setUp(){
+ unifiedSubstitutionNodeTemplateIdGenerator = new SubInterfaceNewNodeTemplateIdGenerator();
+ }
+
+ @Test
+ public void testGenerateNewSubInterfaceNodeTemplateId() throws IOException {
+ UnifiedCompositionTo unifiedCompositionTo = new UnifiedCompositionTo(getTestInitSubInterfaceServiceTemplate(), null,
+ getUnifiedCompositionDataListWithOnePortAndSubInterface(), getContext(false));
+ Optional<String>
+ nodeTemplateId = unifiedSubstitutionNodeTemplateIdGenerator.generate(unifiedCompositionTo, VDBE_UNTR_1_SUBPORTS);
+ if (nodeTemplateId.isPresent()) {
+ Assert.assertEquals(nodeTemplateId.get(), "vdbe_vdbe_untr_1_port_nested");
+ } else {
+ Assert.fail();
+ }
+ }
+
+ @Test
+ public void testGeneratePortIdMultipleSubInterfacesOfSameTypeToOnePort() throws IOException {
+ UnifiedCompositionTo unifiedCompositionTo =
+ new UnifiedCompositionTo(getTestSubInterfaceServiceTemplateMultipleVlan(), null,
+ getUnifiedCompositionDataListWithTwoSubInterfacesOfSameType(), getContext(true));
+ Optional<String>
+ nodeTemplateId = unifiedSubstitutionNodeTemplateIdGenerator.generate(unifiedCompositionTo, VDBE_UNTR_1_SUBPORTS);
+ if (nodeTemplateId.isPresent()) {
+ Assert.assertEquals(nodeTemplateId.get(), "vdbe_vdbe_untr_1_port_vdbe_untr_1_subports");
+ } else {
+ Assert.fail();
+ }
+
+ nodeTemplateId = unifiedSubstitutionNodeTemplateIdGenerator.generate(unifiedCompositionTo, VDBE_UNTR_2_SUBPORTS);
+ if (nodeTemplateId.isPresent()) {
+ Assert.assertEquals(nodeTemplateId.get(), "vdbe_vdbe_untr_1_port_vdbe_untr_2_subports");
+ } else {
+ Assert.fail();
+ }
+ }
+
+ @Test
+ public void testGenerateInvalidOriginalNodeTemplateId() throws IOException {
+ UnifiedCompositionTo unifiedCompositionTo = new UnifiedCompositionTo(getTestInitSubInterfaceServiceTemplate(), null,
+ getUnifiedCompositionDataListWithOnePortAndSubInterface(), getContext(false));
+ Optional<String>
+ nodeTemplateId = unifiedSubstitutionNodeTemplateIdGenerator.generate(unifiedCompositionTo,
+ VDBE_UNTR_1_SUBPORTS + "_Invalid");
+ Assert.assertEquals(nodeTemplateId.isPresent(), false);
+ }
+
+ private ServiceTemplate getTestInitSubInterfaceServiceTemplate() throws IOException {
+ ToscaServiceModel serviceModel = TestUtils.loadToscaServiceModel
+ ("/mock/services/heattotosca/unifiedComposition/commands/newnodetemplateidgenerator/oneportsubinterfacetype",
+ null, null);
+ Optional<ServiceTemplate> serviceTemplate = serviceModel.getServiceTemplate("MainServiceTemplate.yaml");
+ return serviceTemplate.get();
+ }
+
+ private ServiceTemplate getTestSubInterfaceServiceTemplateMultipleVlan() throws IOException {
+ ToscaServiceModel serviceModel = TestUtils.loadToscaServiceModel
+ ("/mock/services/heattotosca/unifiedComposition/commands/newnodetemplateidgenerator/multiplevlansametype",
+ null, null);
+ Optional<ServiceTemplate> serviceTemplate = serviceModel.getServiceTemplate("MainServiceTemplate.yaml");
+ return serviceTemplate.get();
+ }
+
+ private List<UnifiedCompositionData> getInitUnifiedCompositionDataList() {
+ List<UnifiedCompositionData> unifiedCompositionDataList = new ArrayList<>(1);
+ UnifiedCompositionData unifiedCompositionData = new UnifiedCompositionData();
+ ComputeTemplateConsolidationData computeTemplateConsolidationData = new ComputeTemplateConsolidationData();
+ computeTemplateConsolidationData.setNodeTemplateId("vdbe_node_1");
+ unifiedCompositionData.setComputeTemplateConsolidationData(computeTemplateConsolidationData);
+ unifiedCompositionDataList.add(unifiedCompositionData);
+ return unifiedCompositionDataList;
+ }
+
+ private List<UnifiedCompositionData> getUnifiedCompositionDataListWithOnePortAndSubInterface() {
+ List<UnifiedCompositionData> unifiedCompositionDataList = getInitUnifiedCompositionDataList();
+ UnifiedCompositionData unifiedCompositionData = unifiedCompositionDataList.get(0);
+ ComputeTemplateConsolidationData computeTemplateConsolidationData = unifiedCompositionData
+ .getComputeTemplateConsolidationData();
+ List<String> ports = new ArrayList<>(1);
+ ports.add(VDBE_UNTR_1_PORT);
+ Map<String, List<String>> portMap = new HashMap<>();
+ portMap.put(VDBE_UNTR_1_PORT, ports);
+ computeTemplateConsolidationData.setPorts(portMap);
+
+
+ PortTemplateConsolidationData portTemplateConsolidationData = new PortTemplateConsolidationData();
+ portTemplateConsolidationData.setNodeTemplateId(VDBE_UNTR_1_PORT);
+ SubInterfaceTemplateConsolidationData subInterfaceTemplateConsolidationData = new
+ SubInterfaceTemplateConsolidationData();
+ subInterfaceTemplateConsolidationData.setNodeTemplateId(VDBE_UNTR_1_SUBPORTS);
+ subInterfaceTemplateConsolidationData.setParentPortNodeTemplateId(VDBE_UNTR_1_PORT);
+ List<SubInterfaceTemplateConsolidationData> subInterfaceTemplateConsolidationDataList = new ArrayList<>(1);
+ subInterfaceTemplateConsolidationDataList.add(subInterfaceTemplateConsolidationData);
+ portTemplateConsolidationData.addSubInterfaceConsolidationData(
+ SUBINTERFACE_TYPE_NESTED,
+ subInterfaceTemplateConsolidationData);
+
+ List<PortTemplateConsolidationData> portTemplateConsolidationDataList = new ArrayList<>(1);
+ portTemplateConsolidationDataList.add(portTemplateConsolidationData);
+ unifiedCompositionData.setPortTemplateConsolidationDataList(portTemplateConsolidationDataList);
+ unifiedCompositionData.setSubInterfaceTemplateConsolidationDataList(subInterfaceTemplateConsolidationDataList);
+
+
+ return unifiedCompositionDataList;
+ }
+
+ private List<UnifiedCompositionData> getUnifiedCompositionDataListWithTwoSubInterfacesOfSameType() {
+ List<UnifiedCompositionData> unifiedCompositionDataList = getUnifiedCompositionDataListWithOnePortAndSubInterface();
+ List<SubInterfaceTemplateConsolidationData> subInterfaceTemplateConsolidationDataList = unifiedCompositionDataList
+ .get(0).getSubInterfaceTemplateConsolidationDataList();
+ SubInterfaceTemplateConsolidationData anotherSubInterfaceData = new SubInterfaceTemplateConsolidationData();
+ anotherSubInterfaceData.setNodeTemplateId(VDBE_UNTR_2_SUBPORTS);
+ anotherSubInterfaceData.setParentPortNodeTemplateId(VDBE_UNTR_1_PORT);
+ subInterfaceTemplateConsolidationDataList.add(anotherSubInterfaceData);
+ unifiedCompositionDataList.get(0).getPortTemplateConsolidationDataList().get(0).addSubInterfaceConsolidationData
+ (SUBINTERFACE_TYPE_NESTED, anotherSubInterfaceData);
+ return unifiedCompositionDataList;
+ }
+
+ private TranslationContext getContext(boolean isMultipleSubInterfaceTest) {
+ FilePortConsolidationData filePortConsolidationData = new FilePortConsolidationData();
+ PortTemplateConsolidationData portTemplateConsolidationData = isMultipleSubInterfaceTest
+ ? getUnifiedCompositionDataListWithTwoSubInterfacesOfSameType().get(0).getPortTemplateConsolidationDataList().get(0)
+ : getUnifiedCompositionDataListWithOnePortAndSubInterface().get(0).getPortTemplateConsolidationDataList().get(0);
+ filePortConsolidationData.setPortTemplateConsolidationData(portTemplateConsolidationData
+ .getNodeTemplateId(), portTemplateConsolidationData);
+ TranslationContext context = new TranslationContext();
+ context.setConsolidationData(new ConsolidationData());
+ context.getConsolidationData().getPortConsolidationData()
+ .setFilePortConsolidationData(MAIN_SERVICE_TEMPLATE_YAML, filePortConsolidationData);
+ context.getConsolidationData().getPortConsolidationData().getFilePortConsolidationData(MAIN_SERVICE_TEMPLATE_YAML);
+ return context;
+ }
+
+}