diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/FileComputeConsolidationDataTest.java')
1 files changed, 114 insertions, 30 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/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 index eab3bd25b1..5d3d58e74c 100644 --- 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 @@ -17,67 +17,109 @@ package org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation; import java.util.Collection; +import java.util.EnumMap; import java.util.HashSet; import java.util.Set; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; 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"; + private final FileComputeConsolidationData consolidationData = new FileComputeConsolidationData(); + + private enum ComputeNodeTypeEnum { + COMPUTE_NODE_TYPE_1, + COMPUTE_NODE_TYPE_2 + } + + private final EnumMap<ComputeNodeTypeEnum, TypeComputeConsolidationData> mockMap = + new EnumMap<>(ComputeNodeTypeEnum.class); + + @Mock + private TypeComputeConsolidationData mockTypeComputeConsolidationData1; + @Mock + private TypeComputeConsolidationData mockTypeComputeConsolidationData2; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + addMocksToMap(); + } @Test public void testAddComputeTemplateConsolidationData() { - FileComputeConsolidationData consolidationData = new FileComputeConsolidationData(); - consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1); - + String computeNodeType = ComputeNodeTypeEnum.COMPUTE_NODE_TYPE_1.name(); + consolidationData.addComputeTemplateConsolidationData(computeNodeType, COMPUTE_NODE_TEMPLATE_ID_1); Set<String> expectedComputeNodeTypes = new HashSet<>(); - expectedComputeNodeTypes.add(COMPUTE_NODE_TYPE_1); - checkComputeConsolidationData(consolidationData, COMPUTE_NODE_TYPE_1, expectedComputeNodeTypes); + expectedComputeNodeTypes.add(computeNodeType); + checkComputeConsolidationData(consolidationData, computeNodeType, expectedComputeNodeTypes); } @Test public void testAddSameConsolidationDataTwice_noNewCreated() { - FileComputeConsolidationData consolidationData = new FileComputeConsolidationData(); - consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1); + String computeNodeType = ComputeNodeTypeEnum.COMPUTE_NODE_TYPE_1.name(); + consolidationData.addComputeTemplateConsolidationData(computeNodeType, COMPUTE_NODE_TEMPLATE_ID_1); TypeComputeConsolidationData firstTypeComputeConsolidationData = - consolidationData.getTypeComputeConsolidationData(COMPUTE_NODE_TYPE_1); + consolidationData.getTypeComputeConsolidationData(computeNodeType); - consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1); + consolidationData.addComputeTemplateConsolidationData(computeNodeType, COMPUTE_NODE_TEMPLATE_ID_1); TypeComputeConsolidationData secondTypeComputeConsolidationData = - consolidationData.getTypeComputeConsolidationData(COMPUTE_NODE_TYPE_1); + consolidationData.getTypeComputeConsolidationData(computeNodeType); Assert.assertEquals(firstTypeComputeConsolidationData, secondTypeComputeConsolidationData); } @Test - public void testAddDiffConsolidationData_DiffNodeType() { - FileComputeConsolidationData consolidationData = new FileComputeConsolidationData(); + public void testAddConsolidationData_diffNodeType() { + String computeNodeType1 = ComputeNodeTypeEnum.COMPUTE_NODE_TYPE_1.name(); + consolidationData.addComputeTemplateConsolidationData(computeNodeType1, COMPUTE_NODE_TEMPLATE_ID_1); + Set<String> expectedComputeNodeTypes = new HashSet<>(); + expectedComputeNodeTypes.add(computeNodeType1); + checkComputeConsolidationData(consolidationData, computeNodeType1, expectedComputeNodeTypes); - 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); + String computeNodeType2 = ComputeNodeTypeEnum.COMPUTE_NODE_TYPE_2.name(); + consolidationData.addComputeTemplateConsolidationData(computeNodeType2, COMPUTE_NODE_TEMPLATE_ID_2); + expectedComputeNodeTypes.add(computeNodeType2); + checkComputeConsolidationData(consolidationData, computeNodeType2, expectedComputeNodeTypes); + } + + @Test + public void testAddConsolidationData_diffNodeTemplateId() { + String computeNodeType = ComputeNodeTypeEnum.COMPUTE_NODE_TYPE_1.name(); + consolidationData.addComputeTemplateConsolidationData(computeNodeType, COMPUTE_NODE_TEMPLATE_ID_1); + Set<String> expectedComputeNodeTypes = new HashSet<>(); + expectedComputeNodeTypes.add(computeNodeType); + checkComputeConsolidationData(consolidationData, computeNodeType, 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); + consolidationData.addComputeTemplateConsolidationData(computeNodeType, COMPUTE_NODE_TEMPLATE_ID_2); + checkComputeConsolidationData(consolidationData, computeNodeType, expectedComputeNodeTypes); } @Test - public void testAddDiffConsolidationData_SameNodeType_MultiNodeTemplateId() { - FileComputeConsolidationData consolidationData = new FileComputeConsolidationData(); + public void testAddSameConsolidationDataTwice_testWithMock() throws Exception { + String computeNodeType = ComputeNodeTypeEnum.COMPUTE_NODE_TYPE_1.name(); + addAndCheckComputeTemplateConsolidationData(computeNodeType, COMPUTE_NODE_TEMPLATE_ID_1); + addAndCheckComputeTemplateConsolidationData(computeNodeType, COMPUTE_NODE_TEMPLATE_ID_1, 2); + } - 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 testAddConsolidationData_diffNodeType_testWithMock() throws Exception { + String computeNodeType = ComputeNodeTypeEnum.COMPUTE_NODE_TYPE_1.name(); + addAndCheckComputeTemplateConsolidationData(computeNodeType, COMPUTE_NODE_TEMPLATE_ID_1); + addAndCheckComputeTemplateConsolidationData(computeNodeType, COMPUTE_NODE_TEMPLATE_ID_2); + } - consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_2); - checkComputeConsolidationData(consolidationData, COMPUTE_NODE_TYPE_1, expectedComputeNodeTypes); + @Test + public void testAddConsolidationData_diffNodeTemplateId_testWithMock() throws Exception { + String computeNodeType = ComputeNodeTypeEnum.COMPUTE_NODE_TYPE_1.name(); + addAndCheckComputeTemplateConsolidationData(computeNodeType, COMPUTE_NODE_TEMPLATE_ID_1); + addAndCheckComputeTemplateConsolidationData(computeNodeType, COMPUTE_NODE_TEMPLATE_ID_2); } private void checkComputeConsolidationData(FileComputeConsolidationData fileComputeConsolidationData, @@ -89,10 +131,52 @@ public class FileComputeConsolidationDataTest { } private void checkGetAllComputeTypes(FileComputeConsolidationData fileComputeConsolidationData, - Set<String> expectedComputeNodeTypes) { + Set<String> expectedComputeNodeTypes) { Collection<String> allComputeTypes = fileComputeConsolidationData.getAllComputeTypes(); Assert.assertNotNull(allComputeTypes); Assert.assertEquals(allComputeTypes.size(), expectedComputeNodeTypes.size()); Assert.assertTrue(allComputeTypes.containsAll(expectedComputeNodeTypes)); } + + private void addAndCheckComputeTemplateConsolidationData( + String computeNodeType, String computeNodeTemplateId) throws Exception { + addAndCheckComputeTemplateConsolidationData(computeNodeType, + computeNodeTemplateId, 1); + } + + private void addAndCheckComputeTemplateConsolidationData(String computeNodeType, + String computeNodeTemplateId, int expectedTime) throws Exception { + TypeComputeConsolidationData fileComputeConsolidationDataMock = + setTypeComputeConsolidationDataMock(computeNodeType); + + consolidationData.addComputeTemplateConsolidationData( + computeNodeType, computeNodeTemplateId); + + Mockito.verify(fileComputeConsolidationDataMock, Mockito.times(expectedTime)) + .addComputeTemplateConsolidationData(computeNodeTemplateId); + } + + private void addMocksToMap() { + mockMap.put(ComputeNodeTypeEnum.COMPUTE_NODE_TYPE_1, mockTypeComputeConsolidationData1); + mockMap.put(ComputeNodeTypeEnum.COMPUTE_NODE_TYPE_2, mockTypeComputeConsolidationData2); + } + + private TypeComputeConsolidationData setTypeComputeConsolidationDataMock( + String computeType) throws Exception { + TypeComputeConsolidationData typeComputeConsolidationDataMock = + getFileComputeConsolidationDataMock(computeType); + consolidationData.setTypeComputeConsolidationData(computeType, typeComputeConsolidationDataMock); + return typeComputeConsolidationDataMock; + } + + private TypeComputeConsolidationData getFileComputeConsolidationDataMock(String computeType) throws Exception { + ComputeNodeTypeEnum enumValue = ComputeNodeTypeEnum.valueOf(computeType); + TypeComputeConsolidationData mock = mockMap.get(enumValue); + if (mock == null) { + throw new Exception("This compute Type doesn't support. " + + "Please add it to ComputeNodeTypeEnum enum"); + } + return mock; + } + } |