summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test
diff options
context:
space:
mode:
authoreleonorali <eleonoral@amdocs.com>2018-05-22 16:26:35 +0300
committerVitaly Emporopulo <Vitaliy.Emporopulo@amdocs.com>2018-05-31 11:49:42 +0000
commitba61c887dbcb1b81e31e15b18a44f68ff344b2fb (patch)
treedd31ec8b358392c3309b680f045003d0350abf5b /openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test
parent5bf62dca8740c67fd7b7492874808fe152514fc3 (diff)
TOSCA Consolidation Data - Refactoring Part 2
Refactor get Compute/Port/Nested/SubInterface Consolidation Data APIs Change-Id: Ibce3abcd766555fe0eeaaf2f728d3a384935877d Issue-ID: SDC-1330 Signed-off-by: eleonorali <eleonoral@amdocs.com>
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/ComputeConsolidationDataTest.java111
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/ConsolidationDataTest.java57
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/EntityConsolidationDataTest.java170
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/FileComputeConsolidationDataTest.java98
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/TypeComputeConsolidationDataTest.java89
5 files changed, 525 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/ComputeConsolidationDataTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/ComputeConsolidationDataTest.java
new file mode 100644
index 0000000000..a92e298c0a
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/ComputeConsolidationDataTest.java
@@ -0,0 +1,111 @@
+/*
+ * 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.datatypes.heattotosca.unifiedmodel.consolidation;
+
+import java.util.HashSet;
+import java.util.Set;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class ComputeConsolidationDataTest {
+
+ private static final String SERVICE_TEMPLATE_FILE_NAME_1 = "serviceTemplateFileName1";
+ private static final String SERVICE_TEMPLATE_FILE_NAME_2 = "serviceTemplateFileName2";
+ private static final String COMPUTE_NODE_TEMPLATE_ID_1 = "computeNodeTemplateId1";
+ private static final String COMPUTE_NODE_TEMPLATE_ID_2 = "computeNodeTemplateId2";
+ private static final String COMPUTE_NODE_TYPE_1 = "computeNodeType1";
+ private static final String COMPUTE_NODE_TYPE_2 = "computeNodeType2";
+
+ @Test
+ public void testAddComputeTemplateConsolidationData() {
+ ComputeConsolidationData consolidationData = new ComputeConsolidationData();
+ consolidationData.addComputeTemplateConsolidationData(SERVICE_TEMPLATE_FILE_NAME_1,
+ COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
+
+ Set<String> expectedServiceTemplateNames = new HashSet<>();
+ expectedServiceTemplateNames.add(SERVICE_TEMPLATE_FILE_NAME_1);
+ checkComputeConsolidationData(consolidationData, SERVICE_TEMPLATE_FILE_NAME_1, expectedServiceTemplateNames);
+ }
+
+ @Test
+ public void testAddSameConsolidationDataTwice_noNewCreated() {
+ ComputeConsolidationData consolidationData = new ComputeConsolidationData();
+ consolidationData.addComputeTemplateConsolidationData(SERVICE_TEMPLATE_FILE_NAME_1,
+ COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
+ consolidationData.getFileComputeConsolidationData(SERVICE_TEMPLATE_FILE_NAME_1);
+
+ Set<String> expectedServiceTemplateNames = new HashSet<>();
+ expectedServiceTemplateNames.add(SERVICE_TEMPLATE_FILE_NAME_1);
+ checkComputeConsolidationData(consolidationData, SERVICE_TEMPLATE_FILE_NAME_1, expectedServiceTemplateNames);
+
+ consolidationData.addComputeTemplateConsolidationData(SERVICE_TEMPLATE_FILE_NAME_1,
+ COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
+ consolidationData.getFileComputeConsolidationData(SERVICE_TEMPLATE_FILE_NAME_1);
+ checkComputeConsolidationData(consolidationData, SERVICE_TEMPLATE_FILE_NAME_1, expectedServiceTemplateNames);
+ }
+
+ @Test
+ public void testAddDiffConsolidationData_SameServiceTemplate_DiffNodeTypes() {
+ ComputeConsolidationData consolidationData = new ComputeConsolidationData();
+
+ consolidationData.addComputeTemplateConsolidationData(SERVICE_TEMPLATE_FILE_NAME_1,
+ COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
+ Set<String> expectedServiceTemplateNames = new HashSet<>();
+ expectedServiceTemplateNames.add(SERVICE_TEMPLATE_FILE_NAME_1);
+ checkComputeConsolidationData(consolidationData, SERVICE_TEMPLATE_FILE_NAME_1, expectedServiceTemplateNames);
+
+ consolidationData.addComputeTemplateConsolidationData(SERVICE_TEMPLATE_FILE_NAME_1,
+ COMPUTE_NODE_TYPE_2, COMPUTE_NODE_TEMPLATE_ID_2);
+ checkComputeConsolidationData(consolidationData, SERVICE_TEMPLATE_FILE_NAME_1, expectedServiceTemplateNames);
+ }
+
+ @Test
+ public void testAddDiffConsolidationData_DiffServiceTemplate() {
+ ComputeConsolidationData consolidationData = new ComputeConsolidationData();
+
+ consolidationData.addComputeTemplateConsolidationData(SERVICE_TEMPLATE_FILE_NAME_1,
+ COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
+ Set<String> expectedServiceTemplateNames = new HashSet<>();
+ expectedServiceTemplateNames.add(SERVICE_TEMPLATE_FILE_NAME_1);
+ checkComputeConsolidationData(consolidationData, SERVICE_TEMPLATE_FILE_NAME_1, expectedServiceTemplateNames);
+
+ consolidationData.addComputeTemplateConsolidationData(SERVICE_TEMPLATE_FILE_NAME_2,
+ COMPUTE_NODE_TYPE_2, COMPUTE_NODE_TEMPLATE_ID_2);
+ expectedServiceTemplateNames.add(SERVICE_TEMPLATE_FILE_NAME_2);
+ checkComputeConsolidationData(consolidationData, SERVICE_TEMPLATE_FILE_NAME_2, expectedServiceTemplateNames);
+
+ }
+
+ private void checkComputeConsolidationData(ComputeConsolidationData consolidationData,
+ String serviceTemplateFileName, Set<String> expectedServiceTemplateNames) {
+
+ FileComputeConsolidationData fileComputeConsolidationData = consolidationData
+ .getFileComputeConsolidationData(serviceTemplateFileName);
+ Assert.assertNotNull(fileComputeConsolidationData);
+ checkGetAllServiceTemplateFileNames(consolidationData, expectedServiceTemplateNames);
+ }
+
+ private void checkGetAllServiceTemplateFileNames(ComputeConsolidationData consolidationData,
+ Set<String> expectedServiceTemplateNames) {
+ Set<String> allServiceTemplateFileNames = consolidationData.getAllServiceTemplateFileNames();
+ Assert.assertNotNull(allServiceTemplateFileNames);
+ Assert.assertEquals(allServiceTemplateFileNames.size(), expectedServiceTemplateNames.size());
+ Assert.assertTrue(allServiceTemplateFileNames.containsAll(expectedServiceTemplateNames));
+ }
+
+
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/ConsolidationDataTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/ConsolidationDataTest.java
new file mode 100644
index 0000000000..726a76c2d2
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/ConsolidationDataTest.java
@@ -0,0 +1,57 @@
+/*
+ * 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.datatypes.heattotosca.unifiedmodel.consolidation;
+
+import java.util.Optional;
+import org.junit.Assert;
+import org.junit.Test;
+import org.openecomp.sdc.translator.services.heattotosca.ConsolidationEntityType;
+
+public class ConsolidationDataTest {
+
+ private final ConsolidationData consolidationData = new ConsolidationData();
+
+ @Test
+ public void testGetConsolidationDataHandler() {
+
+ checkHandlerIsValid(ConsolidationEntityType.COMPUTE, ComputeConsolidationDataHandler.class);
+ checkHandlerIsValid(ConsolidationEntityType.PORT, PortConsolidationDataHandler.class);
+ checkHandlerIsValid(ConsolidationEntityType.SUB_INTERFACE, SubInterfaceConsolidationDataHandler.class);
+ checkHandlerIsValid(ConsolidationEntityType.NESTED, NestedConsolidationDataHandler.class);
+ checkHandlerIsValid(ConsolidationEntityType.VFC_NESTED, NestedConsolidationDataHandler.class);
+ }
+
+ @Test
+ public void testGetConsolidationDataHandler_Negative() {
+ checkHandlerNotExist(ConsolidationEntityType.OTHER);
+ checkHandlerNotExist(ConsolidationEntityType.VOLUME);
+ }
+
+ private void checkHandlerIsValid(ConsolidationEntityType consolidationEntityType, Class cls) {
+ Optional<ConsolidationDataHandler> consolidationDataHandler =
+ consolidationData.getConsolidationDataHandler(consolidationEntityType);
+ Assert.assertTrue(consolidationDataHandler.isPresent());
+ Assert.assertTrue(cls.isInstance(consolidationDataHandler.get()));
+ }
+
+ private void checkHandlerNotExist(ConsolidationEntityType consolidationEntityType) {
+ Optional<ConsolidationDataHandler> consolidationDataHandler =
+ consolidationData.getConsolidationDataHandler(consolidationEntityType);
+ Assert.assertFalse(consolidationDataHandler.isPresent());
+ }
+
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/EntityConsolidationDataTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/EntityConsolidationDataTest.java
new file mode 100644
index 0000000000..ec65b43fef
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/EntityConsolidationDataTest.java
@@ -0,0 +1,170 @@
+/*
+ * 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.datatypes.heattotosca.unifiedmodel.consolidation;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import org.onap.sdc.tosca.datatypes.model.RequirementAssignment;
+
+@SuppressWarnings("Duplicates")
+public class EntityConsolidationDataTest {
+
+ private static final String NODE_TEMPLATE_ID_1 = "nodeTemplateId1";
+ private static final String NODE_TEMPLATE_ID_2 = "nodeTemplateId2";
+ private static final String REQUIREMENT_ID_1 = "requirementId1";
+ private static final String REQUIREMENT_ID_2 = "requirementId2";
+
+ @Test
+ public void testAddNodesConnectedIn_SameNodeTemplateIds() {
+ EntityConsolidationData consolidationData = new EntityConsolidationData();
+ Map<String, String[]> expectedNodesConnectedData = new HashMap<>();
+
+ addNodesConnectedIn(consolidationData,NODE_TEMPLATE_ID_1, REQUIREMENT_ID_1);
+ expectedNodesConnectedData.put(NODE_TEMPLATE_ID_1, new String[]{REQUIREMENT_ID_1});
+ checkNodesConnected(consolidationData.getNodesConnectedIn(), expectedNodesConnectedData);
+
+ addNodesConnectedIn(consolidationData,NODE_TEMPLATE_ID_1, REQUIREMENT_ID_2);
+ expectedNodesConnectedData.put(NODE_TEMPLATE_ID_1, new String[]{REQUIREMENT_ID_1, REQUIREMENT_ID_2});
+ checkNodesConnected(consolidationData.getNodesConnectedIn(), expectedNodesConnectedData);
+ }
+
+ @Test
+ public void testAddNodesConnectedIn_DiffNodeTemplateIds() {
+ EntityConsolidationData consolidationData = new EntityConsolidationData();
+ Map<String, String[]> expectedNodesConnectedData = new HashMap<>();
+
+ addNodesConnectedIn(consolidationData, NODE_TEMPLATE_ID_1, REQUIREMENT_ID_1);
+ expectedNodesConnectedData.put(NODE_TEMPLATE_ID_1, new String[]{REQUIREMENT_ID_1});
+ checkNodesConnected(consolidationData.getNodesConnectedIn(), expectedNodesConnectedData);
+
+ addNodesConnectedIn(consolidationData, NODE_TEMPLATE_ID_2, REQUIREMENT_ID_2);
+ expectedNodesConnectedData.put(NODE_TEMPLATE_ID_2, new String[]{REQUIREMENT_ID_2});
+ checkNodesConnected(consolidationData.getNodesConnectedIn(), expectedNodesConnectedData);
+ }
+
+ @Test
+ public void testAddNodesConnectedOut_SameNodeTemplateIds() {
+ EntityConsolidationData consolidationData = new EntityConsolidationData();
+ Map<String, String[]> expectedNodesConnectedData = new HashMap<>();
+
+ addNodesConnectedOut(consolidationData, NODE_TEMPLATE_ID_1, REQUIREMENT_ID_1);
+ expectedNodesConnectedData.put(NODE_TEMPLATE_ID_1, new String[]{REQUIREMENT_ID_1});
+ checkNodesConnected(consolidationData.getNodesConnectedOut(), expectedNodesConnectedData);
+
+ addNodesConnectedOut(consolidationData, NODE_TEMPLATE_ID_1, REQUIREMENT_ID_2);
+ expectedNodesConnectedData.put(NODE_TEMPLATE_ID_1, new String[]{REQUIREMENT_ID_1, REQUIREMENT_ID_2});
+ checkNodesConnected(consolidationData.getNodesConnectedOut(), expectedNodesConnectedData);
+ }
+
+ @Test
+ public void testAddNodesConnectedOut_DiffNodeTemplateIds() {
+ EntityConsolidationData consolidationData = new EntityConsolidationData();
+ Map<String, String[]> expectedNodesConnectedData = new HashMap<>();
+
+ addNodesConnectedOut(consolidationData, NODE_TEMPLATE_ID_1, REQUIREMENT_ID_1);
+ expectedNodesConnectedData.put(NODE_TEMPLATE_ID_1, new String[]{REQUIREMENT_ID_1});
+ checkNodesConnected(consolidationData.getNodesConnectedOut(), expectedNodesConnectedData);
+
+ addNodesConnectedOut(consolidationData, NODE_TEMPLATE_ID_2, REQUIREMENT_ID_2);
+ expectedNodesConnectedData.put(NODE_TEMPLATE_ID_2, new String[]{REQUIREMENT_ID_2});
+ checkNodesConnected(consolidationData.getNodesConnectedOut(), expectedNodesConnectedData);
+ }
+
+ @Test
+ public void testAddOutputParamGetAttrIn() {
+ EntityConsolidationData consolidationData = new EntityConsolidationData();
+ GetAttrFuncData getAttrFuncData1 = createGetAttrFuncData("field1");
+
+ consolidationData.addOutputParamGetAttrIn(getAttrFuncData1);
+ List<GetAttrFuncData> outputParametersGetAttrIn = consolidationData.getOutputParametersGetAttrIn();
+ Assert.assertEquals(1, outputParametersGetAttrIn.size());
+ Assert.assertTrue(outputParametersGetAttrIn.contains(getAttrFuncData1));
+
+ GetAttrFuncData getAttrFuncData2 = createGetAttrFuncData("field2");
+ consolidationData.addOutputParamGetAttrIn(getAttrFuncData2);
+ Assert.assertEquals(2,outputParametersGetAttrIn.size());
+ Assert.assertTrue(outputParametersGetAttrIn.contains(getAttrFuncData1));
+ Assert.assertTrue(outputParametersGetAttrIn.contains(getAttrFuncData2));
+ }
+
+ @Test
+ public void testRemoveParamNameFromAttrFuncList() {
+ EntityConsolidationData consolidationData = new EntityConsolidationData();
+ GetAttrFuncData getAttrFuncData1 = createGetAttrFuncData("field1");
+
+ consolidationData.addOutputParamGetAttrIn(getAttrFuncData1);
+ // verify that getAttrFuncData was added
+ List<GetAttrFuncData> outputParametersGetAttrIn = consolidationData.getOutputParametersGetAttrIn();
+ Assert.assertEquals(1, outputParametersGetAttrIn.size());
+
+ consolidationData.removeParamNameFromAttrFuncList("field2");
+ //verify that not existing getAttrFuncData parameter wasn't removed and no Exception
+ outputParametersGetAttrIn = consolidationData.getOutputParametersGetAttrIn();
+ Assert.assertEquals(1, outputParametersGetAttrIn.size());
+
+ consolidationData.removeParamNameFromAttrFuncList("field1");
+ //verify that existing getAttrFuncData parameter was removed
+ outputParametersGetAttrIn = consolidationData.getOutputParametersGetAttrIn();
+ Assert.assertEquals(0, outputParametersGetAttrIn.size());
+ }
+
+ private GetAttrFuncData createGetAttrFuncData(String field) {
+ GetAttrFuncData getAttrFuncData = new GetAttrFuncData();
+ getAttrFuncData.setFieldName(field);
+ getAttrFuncData.setAttributeName("attribute");
+ return getAttrFuncData;
+ }
+
+ private void checkNodesConnected(Map<String, List<RequirementAssignmentData>> actualNodesConnected,
+ Map<String, String[]> expectedNodesConnected) {
+ Assert.assertNotNull(actualNodesConnected);
+
+ expectedNodesConnected.keySet().forEach(expectedNodeTemplateId -> {
+ Assert.assertTrue(actualNodesConnected.containsKey(expectedNodeTemplateId));
+ Assert.assertEquals(expectedNodesConnected.size(), actualNodesConnected.size());
+
+ List<RequirementAssignmentData> actualRequirementAssignmentData =
+ actualNodesConnected.get(expectedNodeTemplateId);
+ List<String> expectedRequirementIdList =
+ Arrays.asList(expectedNodesConnected.get(expectedNodeTemplateId));
+ Assert.assertEquals(expectedRequirementIdList.size(), actualRequirementAssignmentData.size());
+
+ actualRequirementAssignmentData.forEach(actualRequirementAssignment ->
+ Assert.assertTrue(expectedRequirementIdList
+ .contains(actualRequirementAssignment.getRequirementId())));
+ });
+
+ }
+
+ private void addNodesConnectedIn(EntityConsolidationData consolidationData,
+ String nodeTemplateId, String requirementId) {
+ RequirementAssignment requirementAssignment = new RequirementAssignment();
+ consolidationData.addNodesConnectedIn(nodeTemplateId, requirementId, requirementAssignment);
+ }
+
+ private void addNodesConnectedOut(EntityConsolidationData consolidationData,
+ String nodeTemplateId, String requirementId) {
+ RequirementAssignment requirementAssignment = new RequirementAssignment();
+ consolidationData.addNodesConnectedOut(nodeTemplateId, requirementId, requirementAssignment);
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/FileComputeConsolidationDataTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/FileComputeConsolidationDataTest.java
new file mode 100644
index 0000000000..eab3bd25b1
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/FileComputeConsolidationDataTest.java
@@ -0,0 +1,98 @@
+/*
+ * 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.datatypes.heattotosca.unifiedmodel.consolidation;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class FileComputeConsolidationDataTest {
+
+ private static final String COMPUTE_NODE_TEMPLATE_ID_1 = "computeNodeTemplateId1";
+ private static final String COMPUTE_NODE_TEMPLATE_ID_2 = "computeNodeTemplateId2";
+ private static final String COMPUTE_NODE_TYPE_1 = "computeNodeType1";
+ private static final String COMPUTE_NODE_TYPE_2 = "computeNodeType2";
+
+ @Test
+ public void testAddComputeTemplateConsolidationData() {
+ FileComputeConsolidationData consolidationData = new FileComputeConsolidationData();
+ consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
+
+ Set<String> expectedComputeNodeTypes = new HashSet<>();
+ expectedComputeNodeTypes.add(COMPUTE_NODE_TYPE_1);
+ checkComputeConsolidationData(consolidationData, COMPUTE_NODE_TYPE_1, expectedComputeNodeTypes);
+ }
+
+ @Test
+ public void testAddSameConsolidationDataTwice_noNewCreated() {
+ FileComputeConsolidationData consolidationData = new FileComputeConsolidationData();
+ consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
+ TypeComputeConsolidationData firstTypeComputeConsolidationData =
+ consolidationData.getTypeComputeConsolidationData(COMPUTE_NODE_TYPE_1);
+
+ consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
+ TypeComputeConsolidationData secondTypeComputeConsolidationData =
+ consolidationData.getTypeComputeConsolidationData(COMPUTE_NODE_TYPE_1);
+ Assert.assertEquals(firstTypeComputeConsolidationData, secondTypeComputeConsolidationData);
+ }
+
+ @Test
+ public void testAddDiffConsolidationData_DiffNodeType() {
+ FileComputeConsolidationData consolidationData = new FileComputeConsolidationData();
+
+ consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
+ Set<String> expectedComputeNodeTypes = new HashSet<>();
+ expectedComputeNodeTypes.add(COMPUTE_NODE_TYPE_1);
+ checkComputeConsolidationData(consolidationData, COMPUTE_NODE_TYPE_1, expectedComputeNodeTypes);
+
+ consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_2, COMPUTE_NODE_TEMPLATE_ID_2);
+ expectedComputeNodeTypes.add(COMPUTE_NODE_TYPE_2);
+ checkComputeConsolidationData(consolidationData, COMPUTE_NODE_TYPE_2, expectedComputeNodeTypes);
+ }
+
+ @Test
+ public void testAddDiffConsolidationData_SameNodeType_MultiNodeTemplateId() {
+ FileComputeConsolidationData consolidationData = new FileComputeConsolidationData();
+
+ consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
+ Set<String> expectedComputeNodeTypes = new HashSet<>();
+ expectedComputeNodeTypes.add(COMPUTE_NODE_TYPE_1);
+ checkComputeConsolidationData(consolidationData, COMPUTE_NODE_TYPE_1, expectedComputeNodeTypes);
+
+ consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_2);
+ checkComputeConsolidationData(consolidationData, COMPUTE_NODE_TYPE_1, expectedComputeNodeTypes);
+ }
+
+ private void checkComputeConsolidationData(FileComputeConsolidationData fileComputeConsolidationData,
+ String computeNodeType, Set<String> expectedComputeNodeTypes) {
+ TypeComputeConsolidationData typeComputeConsolidationData =
+ fileComputeConsolidationData.getTypeComputeConsolidationData(computeNodeType);
+ Assert.assertNotNull(typeComputeConsolidationData);
+ checkGetAllComputeTypes(fileComputeConsolidationData, expectedComputeNodeTypes);
+ }
+
+ private void checkGetAllComputeTypes(FileComputeConsolidationData fileComputeConsolidationData,
+ Set<String> expectedComputeNodeTypes) {
+ Collection<String> allComputeTypes = fileComputeConsolidationData.getAllComputeTypes();
+ Assert.assertNotNull(allComputeTypes);
+ Assert.assertEquals(allComputeTypes.size(), expectedComputeNodeTypes.size());
+ Assert.assertTrue(allComputeTypes.containsAll(expectedComputeNodeTypes));
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/TypeComputeConsolidationDataTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/TypeComputeConsolidationDataTest.java
new file mode 100644
index 0000000000..7a3c8fa526
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/TypeComputeConsolidationDataTest.java
@@ -0,0 +1,89 @@
+/*
+ * 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.datatypes.heattotosca.unifiedmodel.consolidation;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class TypeComputeConsolidationDataTest {
+
+ private static final String COMPUTE_NODE_TEMPLATE_ID_1 = "computeNodeTemplateId1";
+ private static final String COMPUTE_NODE_TEMPLATE_ID_2 = "computeNodeTemplateId2";
+
+ @Test
+ public void testAddComputeTemplateConsolidationData() {
+ TypeComputeConsolidationData consolidationData = new TypeComputeConsolidationData();
+ consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TEMPLATE_ID_1);
+
+ Set<String> expectedNodeTemplateIds = new HashSet<>();
+ expectedNodeTemplateIds.add(COMPUTE_NODE_TEMPLATE_ID_1);
+ verifyComputeTemplateConsolidationData(consolidationData, COMPUTE_NODE_TEMPLATE_ID_1, expectedNodeTemplateIds);
+ }
+
+ @Test
+ public void testAddSameConsolidationDataTwice_noNewCreated() {
+ TypeComputeConsolidationData consolidationData = new TypeComputeConsolidationData();
+ consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TEMPLATE_ID_1);
+ ComputeTemplateConsolidationData firstComputeTemplateConsolidationData =
+ consolidationData.getComputeTemplateConsolidationData(COMPUTE_NODE_TEMPLATE_ID_1);
+
+ consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TEMPLATE_ID_1);
+ ComputeTemplateConsolidationData secondComputeTemplateConsolidationData =
+ consolidationData.getComputeTemplateConsolidationData(COMPUTE_NODE_TEMPLATE_ID_1);
+ Assert.assertEquals(firstComputeTemplateConsolidationData, secondComputeTemplateConsolidationData);
+ }
+
+ @Test
+ public void testAddDiffConsolidationData_DiffNodeTemplateId() {
+ TypeComputeConsolidationData consolidationData = new TypeComputeConsolidationData();
+
+ final ComputeTemplateConsolidationData firstComputeTemplateConsolidationData = consolidationData
+ .addComputeTemplateConsolidationData(COMPUTE_NODE_TEMPLATE_ID_1);
+ Set<String> expectedNodeTemplateIds1 = new HashSet<>();
+ expectedNodeTemplateIds1.add(COMPUTE_NODE_TEMPLATE_ID_1);
+ verifyComputeTemplateConsolidationData(consolidationData, COMPUTE_NODE_TEMPLATE_ID_1, expectedNodeTemplateIds1);
+
+ final ComputeTemplateConsolidationData secondComputeTemplateConsolidationData = consolidationData
+ .addComputeTemplateConsolidationData(COMPUTE_NODE_TEMPLATE_ID_2);
+ Set<String> expectedNodeTemplateIds2 = new HashSet<>();
+ expectedNodeTemplateIds2.add(COMPUTE_NODE_TEMPLATE_ID_2);
+ verifyComputeTemplateConsolidationData(consolidationData, COMPUTE_NODE_TEMPLATE_ID_2, expectedNodeTemplateIds2);
+
+ Assert.assertNotEquals(firstComputeTemplateConsolidationData, secondComputeTemplateConsolidationData);
+ }
+
+ private void verifyComputeTemplateConsolidationData(TypeComputeConsolidationData typeComputeConsolidationData,
+ String computeNodeTemplateId, Set<String> expectedComputeNodeTemplateIds) {
+ ComputeTemplateConsolidationData computeTemplateConsolidationData =
+ typeComputeConsolidationData.getComputeTemplateConsolidationData(computeNodeTemplateId);
+ Assert.assertNotNull(computeTemplateConsolidationData);
+ Assert.assertEquals(computeTemplateConsolidationData.getNodeTemplateId(), computeNodeTemplateId);
+
+ verifyGetAllComputeNodeTemplateId(typeComputeConsolidationData, expectedComputeNodeTemplateIds);
+ }
+
+ private void verifyGetAllComputeNodeTemplateId(TypeComputeConsolidationData typeComputeConsolidationData,
+ Set<String> expectedComputeNodeTemplateIds) {
+ Collection<String> allComputeNodeTemplateIds = typeComputeConsolidationData.getAllComputeNodeTemplateIds();
+ Assert.assertNotNull(allComputeNodeTemplateIds);
+ Assert.assertTrue(allComputeNodeTemplateIds.containsAll(expectedComputeNodeTemplateIds));
+ }
+}