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.HashSet;
21 import org.junit.Assert;
22 import org.junit.Test;
24 public class ComputeConsolidationDataTest {
26 private static final String SERVICE_TEMPLATE_FILE_NAME_1 = "serviceTemplateFileName1";
27 private static final String SERVICE_TEMPLATE_FILE_NAME_2 = "serviceTemplateFileName2";
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 ComputeConsolidationData consolidationData = new ComputeConsolidationData();
36 consolidationData.addComputeTemplateConsolidationData(SERVICE_TEMPLATE_FILE_NAME_1,
37 COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
39 Set<String> expectedServiceTemplateNames = new HashSet<>();
40 expectedServiceTemplateNames.add(SERVICE_TEMPLATE_FILE_NAME_1);
41 checkComputeConsolidationData(consolidationData, SERVICE_TEMPLATE_FILE_NAME_1, expectedServiceTemplateNames);
45 public void testAddSameConsolidationDataTwice_noNewCreated() {
46 ComputeConsolidationData consolidationData = new ComputeConsolidationData();
47 consolidationData.addComputeTemplateConsolidationData(SERVICE_TEMPLATE_FILE_NAME_1,
48 COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
49 consolidationData.getFileComputeConsolidationData(SERVICE_TEMPLATE_FILE_NAME_1);
51 Set<String> expectedServiceTemplateNames = new HashSet<>();
52 expectedServiceTemplateNames.add(SERVICE_TEMPLATE_FILE_NAME_1);
53 checkComputeConsolidationData(consolidationData, SERVICE_TEMPLATE_FILE_NAME_1, expectedServiceTemplateNames);
55 consolidationData.addComputeTemplateConsolidationData(SERVICE_TEMPLATE_FILE_NAME_1,
56 COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
57 consolidationData.getFileComputeConsolidationData(SERVICE_TEMPLATE_FILE_NAME_1);
58 checkComputeConsolidationData(consolidationData, SERVICE_TEMPLATE_FILE_NAME_1, expectedServiceTemplateNames);
62 public void testAddDiffConsolidationData_SameServiceTemplate_DiffNodeTypes() {
63 ComputeConsolidationData consolidationData = new ComputeConsolidationData();
65 consolidationData.addComputeTemplateConsolidationData(SERVICE_TEMPLATE_FILE_NAME_1,
66 COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
67 Set<String> expectedServiceTemplateNames = new HashSet<>();
68 expectedServiceTemplateNames.add(SERVICE_TEMPLATE_FILE_NAME_1);
69 checkComputeConsolidationData(consolidationData, SERVICE_TEMPLATE_FILE_NAME_1, expectedServiceTemplateNames);
71 consolidationData.addComputeTemplateConsolidationData(SERVICE_TEMPLATE_FILE_NAME_1,
72 COMPUTE_NODE_TYPE_2, COMPUTE_NODE_TEMPLATE_ID_2);
73 checkComputeConsolidationData(consolidationData, SERVICE_TEMPLATE_FILE_NAME_1, expectedServiceTemplateNames);
77 public void testAddDiffConsolidationData_DiffServiceTemplate() {
78 ComputeConsolidationData consolidationData = new ComputeConsolidationData();
80 consolidationData.addComputeTemplateConsolidationData(SERVICE_TEMPLATE_FILE_NAME_1,
81 COMPUTE_NODE_TYPE_1, COMPUTE_NODE_TEMPLATE_ID_1);
82 Set<String> expectedServiceTemplateNames = new HashSet<>();
83 expectedServiceTemplateNames.add(SERVICE_TEMPLATE_FILE_NAME_1);
84 checkComputeConsolidationData(consolidationData, SERVICE_TEMPLATE_FILE_NAME_1, expectedServiceTemplateNames);
86 consolidationData.addComputeTemplateConsolidationData(SERVICE_TEMPLATE_FILE_NAME_2,
87 COMPUTE_NODE_TYPE_2, COMPUTE_NODE_TEMPLATE_ID_2);
88 expectedServiceTemplateNames.add(SERVICE_TEMPLATE_FILE_NAME_2);
89 checkComputeConsolidationData(consolidationData, SERVICE_TEMPLATE_FILE_NAME_2, expectedServiceTemplateNames);
93 private void checkComputeConsolidationData(ComputeConsolidationData consolidationData,
94 String serviceTemplateFileName, Set<String> expectedServiceTemplateNames) {
96 FileComputeConsolidationData fileComputeConsolidationData = consolidationData
97 .getFileComputeConsolidationData(serviceTemplateFileName);
98 Assert.assertNotNull(fileComputeConsolidationData);
99 checkGetAllServiceTemplateFileNames(consolidationData, expectedServiceTemplateNames);
102 private void checkGetAllServiceTemplateFileNames(ComputeConsolidationData consolidationData,
103 Set<String> expectedServiceTemplateNames) {
104 Set<String> allServiceTemplateFileNames = consolidationData.getAllServiceTemplateFileNames();
105 Assert.assertNotNull(allServiceTemplateFileNames);
106 Assert.assertEquals(allServiceTemplateFileNames.size(), expectedServiceTemplateNames.size());
107 Assert.assertTrue(allServiceTemplateFileNames.containsAll(expectedServiceTemplateNames));