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 TypeComputeConsolidationDataTest {
28 private static final String COMPUTE_NODE_TEMPLATE_ID_1 = "computeNodeTemplateId1";
29 private static final String COMPUTE_NODE_TEMPLATE_ID_2 = "computeNodeTemplateId2";
32 public void testAddComputeTemplateConsolidationData() {
33 TypeComputeConsolidationData consolidationData = new TypeComputeConsolidationData();
34 consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TEMPLATE_ID_1);
36 Set<String> expectedNodeTemplateIds = new HashSet<>();
37 expectedNodeTemplateIds.add(COMPUTE_NODE_TEMPLATE_ID_1);
38 verifyComputeTemplateConsolidationData(consolidationData, COMPUTE_NODE_TEMPLATE_ID_1, expectedNodeTemplateIds);
42 public void testAddSameConsolidationDataTwice_noNewCreated() {
43 TypeComputeConsolidationData consolidationData = new TypeComputeConsolidationData();
44 consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TEMPLATE_ID_1);
45 ComputeTemplateConsolidationData firstComputeTemplateConsolidationData =
46 consolidationData.getComputeTemplateConsolidationData(COMPUTE_NODE_TEMPLATE_ID_1);
48 consolidationData.addComputeTemplateConsolidationData(COMPUTE_NODE_TEMPLATE_ID_1);
49 ComputeTemplateConsolidationData secondComputeTemplateConsolidationData =
50 consolidationData.getComputeTemplateConsolidationData(COMPUTE_NODE_TEMPLATE_ID_1);
51 Assert.assertEquals(firstComputeTemplateConsolidationData, secondComputeTemplateConsolidationData);
55 public void testAddDiffConsolidationData_DiffNodeTemplateId() {
56 TypeComputeConsolidationData consolidationData = new TypeComputeConsolidationData();
58 final ComputeTemplateConsolidationData firstComputeTemplateConsolidationData = consolidationData
59 .addComputeTemplateConsolidationData(COMPUTE_NODE_TEMPLATE_ID_1);
60 Set<String> expectedNodeTemplateIds1 = new HashSet<>();
61 expectedNodeTemplateIds1.add(COMPUTE_NODE_TEMPLATE_ID_1);
62 verifyComputeTemplateConsolidationData(consolidationData, COMPUTE_NODE_TEMPLATE_ID_1, expectedNodeTemplateIds1);
64 final ComputeTemplateConsolidationData secondComputeTemplateConsolidationData = consolidationData
65 .addComputeTemplateConsolidationData(COMPUTE_NODE_TEMPLATE_ID_2);
66 Set<String> expectedNodeTemplateIds2 = new HashSet<>();
67 expectedNodeTemplateIds2.add(COMPUTE_NODE_TEMPLATE_ID_2);
68 verifyComputeTemplateConsolidationData(consolidationData, COMPUTE_NODE_TEMPLATE_ID_2, expectedNodeTemplateIds2);
70 Assert.assertNotEquals(firstComputeTemplateConsolidationData, secondComputeTemplateConsolidationData);
73 private void verifyComputeTemplateConsolidationData(TypeComputeConsolidationData typeComputeConsolidationData,
74 String computeNodeTemplateId, Set<String> expectedComputeNodeTemplateIds) {
75 ComputeTemplateConsolidationData computeTemplateConsolidationData =
76 typeComputeConsolidationData.getComputeTemplateConsolidationData(computeNodeTemplateId);
77 Assert.assertNotNull(computeTemplateConsolidationData);
78 Assert.assertEquals(computeTemplateConsolidationData.getNodeTemplateId(), computeNodeTemplateId);
80 verifyGetAllComputeNodeTemplateId(typeComputeConsolidationData, expectedComputeNodeTemplateIds);
83 private void verifyGetAllComputeNodeTemplateId(TypeComputeConsolidationData typeComputeConsolidationData,
84 Set<String> expectedComputeNodeTemplateIds) {
85 Collection<String> allComputeNodeTemplateIds = typeComputeConsolidationData.getAllComputeNodeTemplateIds();
86 Assert.assertNotNull(allComputeNodeTemplateIds);
87 Assert.assertTrue(allComputeNodeTemplateIds.containsAll(expectedComputeNodeTemplateIds));