2 * Copyright © 2016-2018 European Support Limited
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation;
19 import java.util.Collection;
20 import java.util.HashSet;
23 import org.junit.Assert;
24 import org.junit.Test;
26 public class FileComputeConsolidationDataTest {
28 private static final String COMPUTE_NODE_TEMPLATE_ID_1 = "computeNodeTemplateId1";
29 private static final String COMPUTE_NODE_TEMPLATE_ID_2 = "computeNodeTemplateId2";
30 private static final String COMPUTE_NODE_TYPE_1 = "computeNodeType1";
31 private static final String COMPUTE_NODE_TYPE_2 = "computeNodeType2";
34 public void testAddComputeTemplateConsolidationData() {
35 FileComputeConsolidationData consolidationData = new FileComputeConsolidationData();
36 consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
38 Set<String> expectedComputeNodeTypes = new HashSet<>();
39 expectedComputeNodeTypes.add(COMPUTE_NODE_TYPE_1);
40 checkComputeConsolidationData(consolidationData, COMPUTE_NODE_TYPE_1, expectedComputeNodeTypes);
44 public void testAddSameConsolidationDataTwice_noNewCreated() {
45 FileComputeConsolidationData consolidationData = new FileComputeConsolidationData();
46 consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
47 TypeComputeConsolidationData firstTypeComputeConsolidationData =
48 consolidationData.getTypeComputeConsolidationData(COMPUTE_NODE_TYPE_1);
50 consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
51 TypeComputeConsolidationData secondTypeComputeConsolidationData =
52 consolidationData.getTypeComputeConsolidationData(COMPUTE_NODE_TYPE_1);
53 Assert.assertEquals(firstTypeComputeConsolidationData, secondTypeComputeConsolidationData);
57 public void testAddDiffConsolidationData_DiffNodeType() {
58 FileComputeConsolidationData consolidationData = new FileComputeConsolidationData();
60 consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
61 Set<String> expectedComputeNodeTypes = new HashSet<>();
62 expectedComputeNodeTypes.add(COMPUTE_NODE_TYPE_1);
63 checkComputeConsolidationData(consolidationData, COMPUTE_NODE_TYPE_1, expectedComputeNodeTypes);
65 consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_2, COMPUTE_NODE_TEMPLATE_ID_2);
66 expectedComputeNodeTypes.add(COMPUTE_NODE_TYPE_2);
67 checkComputeConsolidationData(consolidationData, COMPUTE_NODE_TYPE_2, expectedComputeNodeTypes);
71 public void testAddDiffConsolidationData_SameNodeType_MultiNodeTemplateId() {
72 FileComputeConsolidationData consolidationData = new FileComputeConsolidationData();
74 consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
75 Set<String> expectedComputeNodeTypes = new HashSet<>();
76 expectedComputeNodeTypes.add(COMPUTE_NODE_TYPE_1);
77 checkComputeConsolidationData(consolidationData, COMPUTE_NODE_TYPE_1, expectedComputeNodeTypes);
79 consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_2);
80 checkComputeConsolidationData(consolidationData, COMPUTE_NODE_TYPE_1, expectedComputeNodeTypes);
83 private void checkComputeConsolidationData(FileComputeConsolidationData fileComputeConsolidationData,
84 String computeNodeType, Set<String> expectedComputeNodeTypes) {
85 TypeComputeConsolidationData typeComputeConsolidationData =
86 fileComputeConsolidationData.getTypeComputeConsolidationData(computeNodeType);
87 Assert.assertNotNull(typeComputeConsolidationData);
88 checkGetAllComputeTypes(fileComputeConsolidationData, expectedComputeNodeTypes);
91 private void checkGetAllComputeTypes(FileComputeConsolidationData fileComputeConsolidationData,
92 Set<String> expectedComputeNodeTypes) {
93 Collection<String> allComputeTypes = fileComputeConsolidationData.getAllComputeTypes();
94 Assert.assertNotNull(allComputeTypes);
95 Assert.assertEquals(allComputeTypes.size(), expectedComputeNodeTypes.size());
96 Assert.assertTrue(allComputeTypes.containsAll(expectedComputeNodeTypes));