1 package org.openecomp.sdc.translator.services.heattotosca;
3 import org.apache.commons.lang3.tuple.ImmutablePair;
4 import org.apache.commons.lang3.tuple.Pair;
5 import org.junit.Assert;
6 import org.junit.Before;
7 import org.junit.Ignore;
9 import org.mockito.ArgumentCaptor;
10 import org.mockito.Captor;
11 import org.mockito.InjectMocks;
12 import org.mockito.Mock;
13 import org.mockito.Mockito;
14 import org.mockito.MockitoAnnotations;
15 import org.mockito.Spy;
16 import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
17 import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
18 import org.openecomp.sdc.tosca.services.ToscaConstants;
19 import org.openecomp.sdc.translator.TestUtils;
20 import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext;
21 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.UnifiedCompositionData;
22 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.UnifiedCompositionMode;
23 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.ConsolidationData;
24 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.GetAttrFuncData;
26 import java.io.IOException;
27 import java.util.ArrayList;
28 import java.util.Arrays;
29 import java.util.HashMap;
30 import java.util.List;
33 import static org.mockito.Matchers.any;
34 import static org.mockito.Matchers.eq;
35 import static org.mockito.Mockito.times;
36 import static org.mockito.Mockito.verify;
39 * Created by TALIO on 3/7/2017.
41 public class ConsolidationServiceTest {
44 private TranslationContext translationContext = new TranslationContext();
45 private static String mainST = "MainServiceTemplate.yaml";
48 private UnifiedCompositionService unifiedCompositionServiceMock;
51 private ArgumentCaptor<List<UnifiedCompositionData>> unifiedModelListArg;
53 private ArgumentCaptor<UnifiedCompositionMode> unifiedCompositionModeArg;
57 private ConsolidationService consolidationService;
60 public void setUp() throws Exception {
61 MockitoAnnotations.initMocks(this);
65 public void testConsolidationValidPreCondition() throws IOException {
67 ConsolidationData consolidationData = new ConsolidationData();
68 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
69 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel(
70 "/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/valid_pre_condition/",
74 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName,
77 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
78 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
79 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
81 TestUtils.updateComputeTemplateConsolidationData(
83 computeNodeTypeName, "server_ps01",
84 null, null, null, null, null, null,
85 portTypeToIdList, consolidationData);
87 TestUtils.updateComputeTemplateConsolidationData(
89 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
90 portTypeToIdList, consolidationData);
92 TestUtils.initPortConsolidationData(mainST, consolidationData);
93 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
94 null, null, null, null, null,
96 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
97 null, null, null, null, null,
100 translationContext.setConsolidationData(consolidationData);
101 List<UnifiedCompositionMode> expectedUnifiedModes =
102 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
104 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
108 public void testConsolidationFalsePreConditionOneComputeNode() throws IOException {
109 ConsolidationData consolidationData = new ConsolidationData();
110 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
111 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
112 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/one_compute_node/",
116 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
118 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
119 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
120 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
122 TestUtils.updateComputeTemplateConsolidationData(
124 computeNodeTypeName, "server_ps01",
125 null, null, null, null, null, null,
126 portTypeToIdList, consolidationData);
128 TestUtils.initPortConsolidationData(mainST, consolidationData);
129 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
130 null, null, null, null, null,
132 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
133 null, null, null, null, null,
136 translationContext.setConsolidationData(consolidationData);
137 List<UnifiedCompositionMode> expectedUnifiedModes =
138 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
139 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
143 public void testConsolidationFalsePreConditionMoreThanOnePortPerType() throws IOException {
144 ConsolidationData consolidationData = new ConsolidationData();
145 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
146 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
147 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/more_than_one_port/",
151 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
153 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
154 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
155 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
157 TestUtils.updateComputeTemplateConsolidationData(
159 computeNodeTypeName, "server_ps01",
160 null, null, null, null, null, null,
161 portTypeToIdList, consolidationData);
163 TestUtils.updateComputeTemplateConsolidationData(
165 computeNodeTypeName, "server_ps02",
166 null, null, null, null, null, null,
167 portTypeToIdList, consolidationData);
170 TestUtils.initPortConsolidationData(mainST, consolidationData);
172 translationContext.setConsolidationData(consolidationData);
173 List<UnifiedCompositionMode> expectedUnifiedModes =
174 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
175 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
179 public void testConsolidationFalsePreConditionDifferentPortTypesBetweenComputes()
181 ConsolidationData consolidationData = new ConsolidationData();
182 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
183 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
184 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_port_types",
188 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
190 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
191 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
193 TestUtils.updateComputeTemplateConsolidationData(
195 computeNodeTypeName, "server_ps01",
196 null, null, null, null, null, null,
197 portTypeToIdList, consolidationData);
199 portTypeToIdList = new ArrayList<>();
200 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
202 TestUtils.updateComputeTemplateConsolidationData(
204 computeNodeTypeName, "server_ps02",
205 null, null, null, null, null, null,
206 portTypeToIdList, consolidationData);
208 TestUtils.initPortConsolidationData(mainST, consolidationData);
209 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
210 null, null, null, null, null,
212 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
213 null, null, null, null, null,
216 translationContext.setConsolidationData(consolidationData);
217 List<UnifiedCompositionMode> expectedUnifiedModes =
218 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
219 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
224 public void testConsolidationResultTrueWithMoreThanTwoCompute() throws IOException {
225 ConsolidationData consolidationData = new ConsolidationData();
226 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
227 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
228 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
232 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
234 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
235 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
236 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
238 TestUtils.updateComputeTemplateConsolidationData(
240 computeNodeTypeName, "server_ps01",
241 null, null, null, null, null, null,
242 portTypeToIdList, consolidationData);
244 TestUtils.updateComputeTemplateConsolidationData(
246 computeNodeTypeName, "server_ps02",
247 null, null, null, null, null, null,
248 portTypeToIdList, consolidationData);
250 TestUtils.updateComputeTemplateConsolidationData(
252 computeNodeTypeName, "server_ps03",
253 null, null, null, null, null, null,
254 portTypeToIdList, consolidationData);
256 TestUtils.initPortConsolidationData(mainST, consolidationData);
257 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
258 null, null, null, null, null,
260 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
261 null, null, null, null, null,
264 translationContext.setConsolidationData(consolidationData);
266 List<UnifiedCompositionMode> expectedUnifiedModes =
267 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
268 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
272 public void testConsolidationResultFalseWithMoreThanTwoComputeOneIsDiff() throws IOException {
273 ConsolidationData consolidationData = new ConsolidationData();
274 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
275 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
276 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
280 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
282 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
283 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
284 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
286 TestUtils.updateComputeTemplateConsolidationData(
288 computeNodeTypeName, "server_ps01",
289 null, null, null, null, null, null,
290 portTypeToIdList, consolidationData);
292 TestUtils.updateComputeTemplateConsolidationData(
294 computeNodeTypeName, "server_ps02",
295 null, null, null, null, null, null,
296 portTypeToIdList, consolidationData);
298 portTypeToIdList = new ArrayList<>();
299 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
300 TestUtils.updateComputeTemplateConsolidationData(
302 computeNodeTypeName, "server_ps03",
303 null, null, null, null, null, null,
304 portTypeToIdList, consolidationData);
306 TestUtils.initPortConsolidationData(mainST, consolidationData);
307 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
308 null, null, null, null, null,
310 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
311 null, null, null, null, null,
314 translationContext.setConsolidationData(consolidationData);
315 List<UnifiedCompositionMode> expectedUnifiedModes =
316 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
317 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
321 public void testConsolidationResultFalseForTwoTypesOfComputeWithOneInstanceEach()
323 ConsolidationData consolidationData = new ConsolidationData();
324 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
325 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.cmaui";
326 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
327 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
330 TestUtils.initComputeNodeTypeInConsolidationData
331 (mainST, computeNodeTypeName1, consolidationData);
332 TestUtils.initComputeNodeTypeInConsolidationData
333 (mainST, computeNodeTypeName2, consolidationData);
335 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
336 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
337 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
339 TestUtils.updateComputeTemplateConsolidationData(
341 computeNodeTypeName1, "server_ps01",
342 null, null, null, null, null, null,
343 portTypeToIdList, consolidationData);
345 TestUtils.updateComputeTemplateConsolidationData(
347 computeNodeTypeName2, "server_ps02",
348 null, null, null, null, null, null,
349 portTypeToIdList, consolidationData);
351 TestUtils.initPortConsolidationData(mainST, consolidationData);
352 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
353 null, null, null, null, null,
355 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
356 null, null, null, null, null,
359 translationContext.setConsolidationData(consolidationData);
361 List<UnifiedCompositionMode> expectedUnifiedModes =
362 Arrays.asList(UnifiedCompositionMode.SingleSubstitution,
363 UnifiedCompositionMode.SingleSubstitution);
364 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
368 public void testConsolidationValidForTwoSimilarComputeAndFalseForSingleCompute()
370 ConsolidationData consolidationData = new ConsolidationData();
371 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
372 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.cmaui";
373 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
374 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_two_similar_one_diff",
378 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName1, consolidationData);
380 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName2, consolidationData);
382 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
383 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
384 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
386 TestUtils.updateComputeTemplateConsolidationData(
388 computeNodeTypeName1, "server_ps01",
389 null, null, null, null, null, null,
390 portTypeToIdList, consolidationData);
392 TestUtils.updateComputeTemplateConsolidationData(
394 computeNodeTypeName1, "server_ps02",
395 null, null, null, null, null, null,
396 portTypeToIdList, consolidationData);
397 TestUtils.updateComputeTemplateConsolidationData(
399 computeNodeTypeName2, "server_ps03",
400 null, null, null, null, null, null,
401 portTypeToIdList, consolidationData);
403 TestUtils.initPortConsolidationData(mainST, consolidationData);
404 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
405 null, null, null, null, null,
407 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
408 null, null, null, null, null,
411 translationContext.setConsolidationData(consolidationData);
412 List<UnifiedCompositionMode> expectedUnifiedModes =
414 UnifiedCompositionMode.ScalingInstances, UnifiedCompositionMode.SingleSubstitution);
415 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
419 public void testValidComputeAndPortConsolidation() throws IOException {
420 ConsolidationData consolidationData = new ConsolidationData();
421 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
422 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
423 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
427 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
429 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
430 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
431 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
433 TestUtils.updateComputeTemplateConsolidationData(
435 computeNodeTypeName, "server_ps01",
436 null, null, null, null, null, null,
437 portTypeToIdList, consolidationData);
439 TestUtils.updateComputeTemplateConsolidationData(
441 computeNodeTypeName, "server_ps02",
442 null, null, null, null, null, null,
443 portTypeToIdList, consolidationData);
445 TestUtils.updateComputeTemplateConsolidationData(
447 computeNodeTypeName, "server_ps03",
448 null, null, null, null, null, null,
449 portTypeToIdList, consolidationData);
451 TestUtils.initPortConsolidationData(mainST, consolidationData);
452 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
453 null, null, null, null, null,
455 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
456 null, null, null, null, null,
459 translationContext.setConsolidationData(consolidationData);
460 List<UnifiedCompositionMode> expectedUnifiedModes =
461 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
462 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
466 public void testFalseComputeConsolidationForTwoSimilarImageNamesAndOneDiff() throws IOException {
467 ConsolidationData consolidationData = new ConsolidationData();
468 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
469 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.pd_server";
470 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
471 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_image_name_diff",
474 TestUtils.initComputeNodeTypeInConsolidationData(
475 mainST, computeNodeTypeName1, consolidationData);
476 TestUtils.initComputeNodeTypeInConsolidationData(
477 mainST, computeNodeTypeName2, consolidationData);
479 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
480 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
481 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
483 TestUtils.updateComputeTemplateConsolidationData(
485 computeNodeTypeName1, "server_ps01",
486 null, null, null, null, null, null,
487 portTypeToIdList, consolidationData);
489 TestUtils.updateComputeTemplateConsolidationData(
491 computeNodeTypeName1, "server_ps02",
492 null, null, null, null, null, null,
493 portTypeToIdList, consolidationData);
495 TestUtils.updateComputeTemplateConsolidationData(
497 computeNodeTypeName1, "server_ps03",
498 null, null, null, null, null, null,
499 portTypeToIdList, consolidationData);
501 TestUtils.updateComputeTemplateConsolidationData(
503 computeNodeTypeName2, "server_pd01",
504 null, null, null, null, null, null,
505 portTypeToIdList, consolidationData);
507 TestUtils.updateComputeTemplateConsolidationData(
509 computeNodeTypeName2, "server_pd02",
510 null, null, null, null, null, null,
511 portTypeToIdList, consolidationData);
513 TestUtils.updateComputeTemplateConsolidationData(
515 computeNodeTypeName2, "server_pd03",
516 null, null, null, null, null, null,
517 portTypeToIdList, consolidationData);
519 TestUtils.initPortConsolidationData(mainST, consolidationData);
520 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
521 null, null, null, null, null,
523 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
524 null, null, null, null, null,
527 translationContext.setConsolidationData(consolidationData);
528 List<UnifiedCompositionMode> expectedUnifiedModes =
530 .asList(UnifiedCompositionMode.CatalogInstance, UnifiedCompositionMode.CatalogInstance);
531 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
535 public void testFalseComputeConsolidationOneImageNameMissing() throws IOException {
536 ConsolidationData consolidationData = new ConsolidationData();
537 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.pd_server";
538 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
539 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_image_missing",
542 TestUtils.initComputeNodeTypeInConsolidationData(
543 mainST, computeNodeTypeName, consolidationData);
545 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
546 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
547 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
549 TestUtils.updateComputeTemplateConsolidationData(
551 computeNodeTypeName, "server_pd01",
552 null, null, null, null, null, null,
553 portTypeToIdList, consolidationData);
555 TestUtils.updateComputeTemplateConsolidationData(
557 computeNodeTypeName, "server_pd02",
558 null, null, null, null, null, null,
559 portTypeToIdList, consolidationData);
561 TestUtils.updateComputeTemplateConsolidationData(
563 computeNodeTypeName, "server_pd03",
564 null, null, null, null, null, null,
565 portTypeToIdList, consolidationData);
567 TestUtils.initPortConsolidationData(mainST, consolidationData);
568 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
569 null, null, null, null, null,
571 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
572 null, null, null, null, null,
575 translationContext.setConsolidationData(consolidationData);
576 List<UnifiedCompositionMode> expectedUnifiedModes =
577 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
578 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
582 public void testFalseComputeConsolidationForTwoSimilarFlavorNamesAndOneDiff() throws IOException {
583 ConsolidationData consolidationData = new ConsolidationData();
584 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
585 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
586 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_flavor_name_diff",
590 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
592 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
593 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
594 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
596 TestUtils.updateComputeTemplateConsolidationData(
598 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
599 portTypeToIdList, consolidationData);
601 TestUtils.updateComputeTemplateConsolidationData(
603 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
604 portTypeToIdList, consolidationData);
606 TestUtils.updateComputeTemplateConsolidationData(
608 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
609 portTypeToIdList, consolidationData);
611 TestUtils.initPortConsolidationData(mainST, consolidationData);
612 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
613 null, null, null, null, null,
615 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
616 null, null, null, null, null,
619 translationContext.setConsolidationData(consolidationData);
620 List<UnifiedCompositionMode> expectedUnifiedModes =
621 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
622 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
626 public void testFalsePortConsolidationForOneDiffFixedIpsValue() throws IOException {
627 ConsolidationData consolidationData = new ConsolidationData();
628 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
629 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
630 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_exCP_naming_diff",
633 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
635 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
636 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
637 TestUtils.updateComputeTemplateConsolidationData(
639 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
640 portTypeToIdList, consolidationData);
642 portTypeToIdList = new ArrayList<>();
643 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
644 TestUtils.updateComputeTemplateConsolidationData(
646 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
647 portTypeToIdList, consolidationData);
649 portTypeToIdList = new ArrayList<>();
650 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
651 TestUtils.updateComputeTemplateConsolidationData(
653 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
654 portTypeToIdList, consolidationData);
656 TestUtils.initPortConsolidationData(mainST, consolidationData);
657 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
658 null, null, null, null, null,
661 translationContext.setConsolidationData(consolidationData);
662 List<UnifiedCompositionMode> expectedUnifiedModes =
663 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
664 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
668 public void testFalsePortConsolidationForOneDiffExpcNaming(){
673 public void testFalsePortConsolidationForTwoPortsWithFixedIpsAndOneWithout() throws IOException {
674 ConsolidationData consolidationData = new ConsolidationData();
675 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
676 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
677 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_fixed_ips",
681 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
683 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
684 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
685 TestUtils.updateComputeTemplateConsolidationData(
687 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
688 portTypeToIdList, consolidationData);
690 portTypeToIdList = new ArrayList<>();
691 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
692 TestUtils.updateComputeTemplateConsolidationData(
694 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
695 portTypeToIdList, consolidationData);
697 portTypeToIdList = new ArrayList<>();
698 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
699 TestUtils.updateComputeTemplateConsolidationData(
701 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
702 portTypeToIdList, consolidationData);
704 TestUtils.initPortConsolidationData(mainST, consolidationData);
705 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
706 null, null, null, null, null,
709 translationContext.setConsolidationData(consolidationData);
710 List<UnifiedCompositionMode> expectedUnifiedModes =
711 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
712 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
716 public void testFalsePortConsolidationForTwoPortsWithAddressPairsAndOneWithout()
718 ConsolidationData consolidationData = new ConsolidationData();
719 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
720 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
721 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_allowed_address_pairs",
725 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
727 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
728 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
729 TestUtils.updateComputeTemplateConsolidationData(
731 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
732 portTypeToIdList, consolidationData);
733 portTypeToIdList = new ArrayList<>();
734 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
735 TestUtils.updateComputeTemplateConsolidationData(
737 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
738 portTypeToIdList, consolidationData);
740 portTypeToIdList = new ArrayList<>();
741 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
742 TestUtils.updateComputeTemplateConsolidationData(
744 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
745 portTypeToIdList, consolidationData);
747 TestUtils.initPortConsolidationData(mainST, consolidationData);
748 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
749 null, null, null, null, null,
752 translationContext.setConsolidationData(consolidationData);
753 List<UnifiedCompositionMode> expectedUnifiedModes =
754 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
755 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
759 public void testFalsePortConsolidationForTwoPortsWithMacAddressAndOneWithout()
761 ConsolidationData consolidationData = new ConsolidationData();
762 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
763 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
764 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_mac_address",
768 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
770 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
771 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
772 TestUtils.updateComputeTemplateConsolidationData(
774 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
775 portTypeToIdList, consolidationData);
777 portTypeToIdList = new ArrayList<>();
778 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
779 TestUtils.updateComputeTemplateConsolidationData(
781 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
782 portTypeToIdList, consolidationData);
783 portTypeToIdList = new ArrayList<>();
784 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
785 TestUtils.updateComputeTemplateConsolidationData(
787 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
788 portTypeToIdList, consolidationData);
790 TestUtils.initPortConsolidationData(mainST, consolidationData);
791 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
792 null, null, null, null, null,
795 translationContext.setConsolidationData(consolidationData);
796 List<UnifiedCompositionMode> expectedUnifiedModes =
797 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
798 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
802 public void testValidPortConsolidationForPortsWithNoneOfTheCheckedProperties()
804 ConsolidationData consolidationData = new ConsolidationData();
805 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
806 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
807 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/ports_with_none_of_the_properties",
811 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
813 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
814 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
815 TestUtils.updateComputeTemplateConsolidationData(
817 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
818 portTypeToIdList, consolidationData);
820 portTypeToIdList = new ArrayList<>();
821 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
822 TestUtils.updateComputeTemplateConsolidationData(
824 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
825 portTypeToIdList, consolidationData);
827 portTypeToIdList = new ArrayList<>();
828 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
829 TestUtils.updateComputeTemplateConsolidationData(
831 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
832 portTypeToIdList, consolidationData);
834 TestUtils.initPortConsolidationData(mainST, consolidationData);
835 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
836 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
839 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
840 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
843 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
844 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
848 translationContext.setConsolidationData(consolidationData);
849 List<UnifiedCompositionMode> expectedUnifiedModes =
850 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
851 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
855 public void testComputeRelationsSimilarBetweenComputeNodes() throws IOException {
856 ConsolidationData consolidationData = new ConsolidationData();
857 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
858 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
859 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_with_same_relations",
863 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
865 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
866 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
867 TestUtils.updateComputeTemplateConsolidationData(
869 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"),
870 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
875 portTypeToIdList = new ArrayList<>();
876 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
877 TestUtils.updateComputeTemplateConsolidationData(
879 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
880 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
885 portTypeToIdList = new ArrayList<>();
886 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
887 TestUtils.updateComputeTemplateConsolidationData(
889 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
890 Arrays.asList("cmaui_volume"),
891 Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
895 TestUtils.initPortConsolidationData(mainST, consolidationData);
896 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
897 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
900 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
901 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
904 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
905 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
910 translationContext.setConsolidationData(consolidationData);
911 List<UnifiedCompositionMode> expectedUnifiedModes =
912 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
913 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
917 public void testNodesInRelationsDiffBetweenThreeComputes() throws IOException {
918 ConsolidationData consolidationData = new ConsolidationData();
919 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
920 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
921 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
925 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
927 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
928 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
929 TestUtils.updateComputeTemplateConsolidationData(
931 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
932 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
936 portTypeToIdList = new ArrayList<>();
937 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
938 TestUtils.updateComputeTemplateConsolidationData(
940 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
941 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
946 portTypeToIdList = new ArrayList<>();
947 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
948 TestUtils.updateComputeTemplateConsolidationData(
950 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_2"), Arrays.asList
951 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
955 TestUtils.initPortConsolidationData(mainST, consolidationData);
956 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
960 translationContext.setConsolidationData(consolidationData);
961 List<UnifiedCompositionMode> expectedUnifiedModes =
962 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
963 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
967 public void testNodesOutRelationsDiffBetweenThreeComputes() throws IOException {
968 ConsolidationData consolidationData = new ConsolidationData();
969 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
970 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
971 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
975 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
977 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
978 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
979 TestUtils.updateComputeTemplateConsolidationData(
981 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
982 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
986 portTypeToIdList = new ArrayList<>();
987 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
988 TestUtils.updateComputeTemplateConsolidationData(
990 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
991 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
996 portTypeToIdList = new ArrayList<>();
997 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
998 TestUtils.updateComputeTemplateConsolidationData(
1000 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1001 Arrays.asList("cmaui_volume_1"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
1006 TestUtils.initPortConsolidationData(mainST, consolidationData);
1007 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1011 translationContext.setConsolidationData(consolidationData);
1012 List<UnifiedCompositionMode> expectedUnifiedModes =
1013 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1014 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1018 public void testVolumeRelationsDiffBetweenThreeComputes() throws IOException {
1019 ConsolidationData consolidationData = new ConsolidationData();
1020 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1021 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1022 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
1026 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1028 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1029 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1030 TestUtils.updateComputeTemplateConsolidationData(
1032 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1033 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
1037 portTypeToIdList = new ArrayList<>();
1038 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1039 TestUtils.updateComputeTemplateConsolidationData(
1041 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1042 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
1047 portTypeToIdList = new ArrayList<>();
1048 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1049 TestUtils.updateComputeTemplateConsolidationData(
1051 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1052 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume_1"), Arrays.asList("group_id1"),
1057 TestUtils.initPortConsolidationData(mainST, consolidationData);
1058 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1062 translationContext.setConsolidationData(consolidationData);
1063 List<UnifiedCompositionMode> expectedUnifiedModes =
1064 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1065 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1069 public void testGroupRelationsDiffBetweenThreeComputes() throws IOException {
1070 ConsolidationData consolidationData = new ConsolidationData();
1071 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1072 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1073 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
1077 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1079 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1080 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1081 TestUtils.updateComputeTemplateConsolidationData(
1083 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1084 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1089 portTypeToIdList = new ArrayList<>();
1090 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1091 TestUtils.updateComputeTemplateConsolidationData(
1093 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1094 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1099 portTypeToIdList = new ArrayList<>();
1100 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1101 TestUtils.updateComputeTemplateConsolidationData(
1103 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1104 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_2"),
1109 TestUtils.initPortConsolidationData(mainST, consolidationData);
1110 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1114 translationContext.setConsolidationData(consolidationData);
1115 List<UnifiedCompositionMode> expectedUnifiedModes =
1116 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1117 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1121 public void testPortConsolidationDataRelationsSimilar() throws IOException {
1122 ConsolidationData consolidationData = new ConsolidationData();
1123 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1124 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1125 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1129 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1131 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1132 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1133 TestUtils.updateComputeTemplateConsolidationData(
1135 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1136 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1141 portTypeToIdList = new ArrayList<>();
1142 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1143 TestUtils.updateComputeTemplateConsolidationData(
1145 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1146 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1151 portTypeToIdList = new ArrayList<>();
1152 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1153 TestUtils.updateComputeTemplateConsolidationData(
1155 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1156 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1161 TestUtils.initPortConsolidationData(mainST, consolidationData);
1162 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1163 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1166 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1167 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1170 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1171 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1175 translationContext.setConsolidationData(consolidationData);
1176 List<UnifiedCompositionMode> expectedUnifiedModes =
1177 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1178 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1182 public void testNodesInRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1183 ConsolidationData consolidationData = new ConsolidationData();
1184 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1185 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1186 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1190 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1192 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1193 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1194 TestUtils.updateComputeTemplateConsolidationData(
1196 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1197 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1202 portTypeToIdList = new ArrayList<>();
1203 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1204 TestUtils.updateComputeTemplateConsolidationData(
1206 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1207 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1212 portTypeToIdList = new ArrayList<>();
1213 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1214 TestUtils.updateComputeTemplateConsolidationData(
1216 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1217 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1222 TestUtils.initPortConsolidationData(mainST, consolidationData);
1223 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1224 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1227 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1228 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1231 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1232 Arrays.asList("node_in_2"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1236 translationContext.setConsolidationData(consolidationData);
1237 List<UnifiedCompositionMode> expectedUnifiedModes =
1238 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1239 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1243 public void testNodesOutRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1244 ConsolidationData consolidationData = new ConsolidationData();
1245 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1246 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1247 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1251 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1253 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1254 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1255 TestUtils.updateComputeTemplateConsolidationData(
1257 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1258 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1263 portTypeToIdList = new ArrayList<>();
1264 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1265 TestUtils.updateComputeTemplateConsolidationData(
1267 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1268 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1273 portTypeToIdList = new ArrayList<>();
1274 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1275 TestUtils.updateComputeTemplateConsolidationData(
1277 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1278 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1283 TestUtils.initPortConsolidationData(mainST, consolidationData);
1284 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1285 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1288 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1289 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1292 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1293 Arrays.asList("node_in_1"), Arrays.asList("net_id_2"), Arrays.asList("group_id_1"), null,
1297 translationContext.setConsolidationData(consolidationData);
1298 List<UnifiedCompositionMode> expectedUnifiedModes =
1299 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1300 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1304 public void testGroupIdsRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1305 ConsolidationData consolidationData = new ConsolidationData();
1306 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1307 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1308 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1312 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1314 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1315 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1316 TestUtils.updateComputeTemplateConsolidationData(
1318 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1319 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1324 portTypeToIdList = new ArrayList<>();
1325 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1326 TestUtils.updateComputeTemplateConsolidationData(
1328 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1329 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1334 portTypeToIdList = new ArrayList<>();
1335 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1336 TestUtils.updateComputeTemplateConsolidationData(
1338 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1339 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1344 TestUtils.initPortConsolidationData(mainST, consolidationData);
1345 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1346 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1347 Arrays.asList("group_id_1", "group_id_2"), null, null,
1349 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1350 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1351 Arrays.asList("group_id_1", "group_id_2"), null, null,
1353 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1354 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1355 Arrays.asList("group_id_1", "group_id_3"), null, null,
1358 translationContext.setConsolidationData(consolidationData);
1359 List<UnifiedCompositionMode> expectedUnifiedModes =
1360 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1361 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1365 public void testValidConsolidationForComputesWithValidGetAttr() throws IOException {
1366 ConsolidationData consolidationData = new ConsolidationData();
1367 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1368 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1369 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1373 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1375 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1376 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1378 TestUtils.updateComputeTemplateConsolidationData(
1380 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1381 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1382 Arrays.asList("node_1"), null,
1386 portTypeToIdList = new ArrayList<>();
1387 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1388 TestUtils.updateComputeTemplateConsolidationData(
1390 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1391 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1392 Arrays.asList("node_2"), null,
1396 portTypeToIdList = new ArrayList<>();
1397 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1398 TestUtils.updateComputeTemplateConsolidationData(
1400 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1401 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1402 Arrays.asList("node_3"), null,
1406 TestUtils.initPortConsolidationData(mainST, consolidationData);
1407 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1408 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1409 Arrays.asList("group_id_1", "group_id_2"), null, null,
1411 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1412 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1413 Arrays.asList("group_id_1", "group_id_2"), null, null,
1415 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1416 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1417 Arrays.asList("group_id_1", "group_id_2"), null, null,
1420 translationContext.setConsolidationData(consolidationData);
1421 List<UnifiedCompositionMode> expectedUnifiedModes =
1422 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1423 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1427 public void testInvalidConsolidationForComputesWithGetAttrForEachOther() throws IOException {
1428 ConsolidationData consolidationData = new ConsolidationData();
1429 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1430 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1431 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1435 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1437 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1438 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1440 TestUtils.updateComputeTemplateConsolidationData(
1442 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1443 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1444 Arrays.asList("server_ps02"), null,
1448 portTypeToIdList = new ArrayList<>();
1449 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1450 TestUtils.updateComputeTemplateConsolidationData(
1452 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1453 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1454 Arrays.asList("node_1"), null,
1458 portTypeToIdList = new ArrayList<>();
1459 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1460 TestUtils.updateComputeTemplateConsolidationData(
1462 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1463 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1464 Arrays.asList("node_2"), null,
1468 TestUtils.initPortConsolidationData(mainST, consolidationData);
1469 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1470 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1471 Arrays.asList("group_id_1", "group_id_2"), null, null,
1473 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1474 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1475 Arrays.asList("group_id_1", "group_id_2"), null, null,
1477 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1478 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1479 Arrays.asList("group_id_1", "group_id_2"), null, null,
1482 translationContext.setConsolidationData(consolidationData);
1483 List<UnifiedCompositionMode> expectedUnifiedModes =
1484 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1485 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1489 public void testValidConsolidationForPortsWithValidGetAttr() throws IOException {
1490 ConsolidationData consolidationData = new ConsolidationData();
1491 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1492 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1493 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1497 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1499 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1500 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1502 TestUtils.updateComputeTemplateConsolidationData(
1504 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1505 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1510 portTypeToIdList = new ArrayList<>();
1511 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1512 TestUtils.updateComputeTemplateConsolidationData(
1514 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1515 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1520 portTypeToIdList = new ArrayList<>();
1521 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1522 TestUtils.updateComputeTemplateConsolidationData(
1524 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1525 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1530 TestUtils.initPortConsolidationData(mainST, consolidationData);
1531 List<String> portNodeTemplateIds =
1532 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1533 List<List<String>> nodesConnectedInIds =
1534 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1535 Arrays.asList("node_in_1"));
1536 List<List<String>> nodesConnectedOutIds =
1537 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1538 Arrays.asList("node_out_1"));
1539 List<List<String>> getAttrInIds =
1540 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"),
1541 Arrays.asList("get_attr_3"));
1542 List<List<String>> groupIds =
1543 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1544 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1545 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null);
1547 TestUtils.updateMultiplePortConsolidationDatas(
1548 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1549 getAttrInIds, getAttrOut, consolidationData);
1551 translationContext.setConsolidationData(consolidationData);
1552 List<UnifiedCompositionMode> expectedUnifiedModes =
1553 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1554 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1558 public void testInvalidConsolidationForPortsWithGetAttrInForEachOther() throws IOException {
1559 ConsolidationData consolidationData = new ConsolidationData();
1560 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1561 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1562 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation" +
1563 "/three_ports_similar_relations",
1567 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1569 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1570 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1572 TestUtils.updateComputeTemplateConsolidationData(
1574 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1575 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1576 Arrays.asList("node_1"), null,
1580 portTypeToIdList = new ArrayList<>();
1581 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1582 TestUtils.updateComputeTemplateConsolidationData(
1584 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1585 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1586 Arrays.asList("node_2"), null,
1590 portTypeToIdList = new ArrayList<>();
1591 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1592 TestUtils.updateComputeTemplateConsolidationData(
1594 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1595 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1596 Arrays.asList("node_3"), null,
1600 TestUtils.initPortConsolidationData(mainST, consolidationData);
1601 List<String> portNodeTemplateIds =
1602 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1603 List<List<String>> nodesConnectedInIds =
1604 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1605 Arrays.asList("node_in_1"));
1606 List<List<String>> nodesConnectedOutIds =
1607 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1608 Arrays.asList("node_out_1"));
1609 List<List<String>> getAttrInIds =
1610 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"),
1611 Arrays.asList("cm01_port_1"));
1612 List<List<String>> groupIds =
1613 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1614 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1615 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null);
1617 TestUtils.updateMultiplePortConsolidationDatas(
1618 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1619 getAttrInIds, getAttrOut, consolidationData);
1621 translationContext.setConsolidationData(consolidationData);
1622 List<UnifiedCompositionMode> expectedUnifiedModes =
1623 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1624 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1628 public void testValidConsolidationForComputesWithSamePortTypesPointingByGetAttrIn() throws
1630 ConsolidationData consolidationData = new ConsolidationData();
1631 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1632 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1633 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1637 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1639 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1640 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1642 TestUtils.updateComputeTemplateConsolidationData(
1644 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1645 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1646 Arrays.asList("cm01_port_1"), null,
1650 portTypeToIdList = new ArrayList<>();
1651 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1652 TestUtils.updateComputeTemplateConsolidationData(
1654 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1655 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1656 Arrays.asList("cm01_port_2"), null,
1660 portTypeToIdList = new ArrayList<>();
1661 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1662 TestUtils.updateComputeTemplateConsolidationData(
1664 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1665 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1666 Arrays.asList("cm01_port_3"), null,
1670 TestUtils.initPortConsolidationData(mainST, consolidationData);
1671 List<String> portNodeTemplateIds =
1672 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1673 List<List<String>> nodesConnectedInIds =
1674 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1675 Arrays.asList("node_in_1"));
1676 List<List<String>> nodesConnectedOutIds =
1677 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1678 Arrays.asList("node_out_1"));
1679 List<List<String>> getAttrInIds =
1680 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"),
1681 Arrays.asList("get_attr_3"));
1682 List<List<String>> groupIds =
1683 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1684 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1685 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null);
1687 TestUtils.updateMultiplePortConsolidationDatas(
1688 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1689 getAttrInIds, getAttrOut, consolidationData);
1691 translationContext.setConsolidationData(consolidationData);
1692 List<UnifiedCompositionMode> expectedUnifiedModes =
1693 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1694 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1698 public void testValidGetAttrOutFromComputes() throws IOException {
1699 ConsolidationData consolidationData = new ConsolidationData();
1700 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1701 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1702 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1706 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1708 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1709 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1710 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1711 TestUtils.updateComputeTemplateConsolidationData(
1713 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1714 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1715 Arrays.asList("cm01_port_1"),
1716 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1720 portTypeToIdList = new ArrayList<>();
1721 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1722 TestUtils.updateComputeTemplateConsolidationData(
1724 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1725 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1726 Arrays.asList("cm01_port_1"),
1727 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1731 portTypeToIdList = new ArrayList<>();
1732 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1733 TestUtils.updateComputeTemplateConsolidationData(
1735 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1736 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1737 Arrays.asList("cm01_port_1"),
1738 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1742 TestUtils.initPortConsolidationData(mainST, consolidationData);
1743 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1744 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1745 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("sm01_port_2"), null,
1747 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1748 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1749 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("sm01_port_1"), null,
1751 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1752 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1753 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("rm01_port_1"), null,
1756 translationContext.setConsolidationData(consolidationData);
1757 List<UnifiedCompositionMode> expectedUnifiedModes =
1758 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1759 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1763 public void testInValidGetAttrOutFromComputesPortTypeDifferent() throws IOException {
1764 ConsolidationData consolidationData = new ConsolidationData();
1765 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1766 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1767 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1771 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1773 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1774 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1775 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1776 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1777 TestUtils.updateComputeTemplateConsolidationData(
1779 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1780 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1781 Arrays.asList("cm01_port_1"),
1782 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1786 portTypeToIdList = new ArrayList<>();
1787 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1788 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1789 TestUtils.updateComputeTemplateConsolidationData(
1791 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1792 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1793 Arrays.asList("cm01_port_1"),
1794 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1798 portTypeToIdList = new ArrayList<>();
1799 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1800 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1801 TestUtils.updateComputeTemplateConsolidationData(
1803 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1804 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1805 Arrays.asList("cm01_port_1"),
1806 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_1", getAttrFuncData)),
1810 TestUtils.initPortConsolidationData(mainST, consolidationData);
1812 List<String> portNodeTemplateIds =
1813 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1", "sm01_port_2",
1815 List<List<String>> nodesConnectedInIds =
1816 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList
1817 ("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1818 Arrays.asList("node_in_1"));
1819 List<List<String>> nodesConnectedOutIds =
1820 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList
1821 ("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1822 Arrays.asList("node_out_1"));
1823 List<List<String>> getAttrInIds =
1824 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"), Arrays.asList
1825 ("get_attr_3"), Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"),
1826 Arrays.asList("get_attr_3"));
1827 List<List<String>> groupIds =
1828 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1829 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
1830 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1831 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1832 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null, null,
1835 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
1836 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
1839 translationContext.setConsolidationData(consolidationData);
1840 List<UnifiedCompositionMode> expectedUnifiedModes =
1841 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
1842 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1846 public void testValidGetAttrOutFromPorts() throws IOException {
1847 ConsolidationData consolidationData = new ConsolidationData();
1848 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1849 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1850 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1854 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1856 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1857 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1858 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1859 TestUtils.updateComputeTemplateConsolidationData(
1861 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1862 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1863 Arrays.asList("cm01_port_1"), null,
1867 portTypeToIdList = new ArrayList<>();
1868 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1869 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1870 TestUtils.updateComputeTemplateConsolidationData(
1872 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1873 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1874 Arrays.asList("cm01_port_1"), null,
1878 portTypeToIdList = new ArrayList<>();
1879 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1880 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1881 TestUtils.updateComputeTemplateConsolidationData(
1883 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1884 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1885 Arrays.asList("cm01_port_1"), null,
1889 TestUtils.initPortConsolidationData(mainST, consolidationData);
1891 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
1892 List<String> portNodeTemplateIds =
1893 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1", "sm01_port_2",
1895 List<List<String>> nodesConnectedInIds =
1896 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList
1897 ("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1898 Arrays.asList("node_in_1"));
1899 List<List<String>> nodesConnectedOutIds =
1900 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList
1901 ("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1902 Arrays.asList("node_out_1"));
1903 List<List<String>> getAttrInIds =
1904 Arrays.asList(null, null, null, null, null, null);
1905 List<List<String>> groupIds =
1906 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1907 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
1908 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1909 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1910 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
1911 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_1", getAttrFuncData)),
1912 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_2", getAttrFuncData)),
1913 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_3", getAttrFuncData)),
1914 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1915 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_2", getAttrFuncData)),
1916 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_3", getAttrFuncData)));
1918 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
1919 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
1922 translationContext.setConsolidationData(consolidationData);
1923 List<UnifiedCompositionMode> expectedUnifiedModes =
1924 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1925 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1929 public void testInvalidGetAttrOutFromPorts() throws IOException {
1930 ConsolidationData consolidationData = new ConsolidationData();
1931 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1932 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1933 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1937 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1939 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1940 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1941 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1942 TestUtils.updateComputeTemplateConsolidationData(
1944 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1945 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1946 Arrays.asList("cm01_port_1"), null,
1950 portTypeToIdList = new ArrayList<>();
1951 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1952 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1953 TestUtils.updateComputeTemplateConsolidationData(
1955 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1956 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1957 Arrays.asList("cm01_port_1"), null,
1961 portTypeToIdList = new ArrayList<>();
1962 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1963 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1964 TestUtils.updateComputeTemplateConsolidationData(
1966 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1967 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1968 Arrays.asList("cm01_port_1"), null,
1972 TestUtils.initPortConsolidationData(mainST, consolidationData);
1974 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
1975 List<String> portNodeTemplateIds =
1976 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1", "sm01_port_2",
1978 List<List<String>> nodesConnectedInIds =
1979 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList
1980 ("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1981 Arrays.asList("node_in_1"));
1982 List<List<String>> nodesConnectedOutIds =
1983 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList
1984 ("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1985 Arrays.asList("node_out_1"));
1986 List<List<String>> getAttrInIds =
1987 Arrays.asList(null, null, null, null, null, null);
1988 List<List<String>> groupIds =
1989 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1990 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
1991 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1992 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1993 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
1994 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("server_ps01", getAttrFuncData)),
1995 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("server_ps01", getAttrFuncData)),
1996 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_3", getAttrFuncData)),
1997 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1998 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_2", getAttrFuncData)),
1999 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_3", getAttrFuncData)));
2001 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
2002 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
2005 translationContext.setConsolidationData(consolidationData);
2006 List<UnifiedCompositionMode> expectedUnifiedModes =
2007 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
2008 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
2012 public void testSubstitutionConsolidationPreConditionTrue() throws IOException {
2013 translationContext = new TranslationContext();
2014 String mainSTName = "MainServiceTemplate.yaml";
2015 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2017 ConsolidationData consolidationData = new ConsolidationData();
2018 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"),
2020 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2021 "org.openecomp.resource.vfc.nodes.heat" +
2022 ".pcm_server", consolidationData);
2023 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2024 "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
2025 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2026 "org.openecomp.resource.vfc.nodes.heat" +
2027 ".pcm_server", consolidationData);
2028 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2029 "org.openecomp.resource.vfc.nodes" +
2030 ".heat.pcm_server", "pcm_server", consolidationData);
2032 translationContext.setConsolidationData(consolidationData);
2034 addMockServiceTemplateToContext(mainSTName, "Main");
2035 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2037 verifySubstitutionServiceTemplateConsolidation
2038 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2039 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2040 UnifiedCompositionMode.NestedSingleCompute);
2044 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeType()
2045 throws IOException {
2046 translationContext = new TranslationContext();
2047 String mainSTName = "MainServiceTemplate.yaml";
2048 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2050 ConsolidationData consolidationData = new ConsolidationData();
2051 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"),
2053 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2054 "org.openecomp.resource.vfc.nodes.heat" +
2055 ".pcm_server", consolidationData);
2056 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2057 "org.openecomp.resource.vfc.nodes" +
2058 ".heat.pcm_server", "server_pcm_001", consolidationData);
2059 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2060 "org.openecomp.resource.vfc.nodes.heat" +
2061 ".pcm_server", consolidationData);
2063 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_oam_001"),
2065 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2066 "org.openecomp.resource.vfc.nodes.heat" +
2067 ".oam_server", consolidationData);
2068 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2069 "org.openecomp.resource.vfc.nodes.heat.oam_server", "server_oam_001", consolidationData);
2070 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2071 "org.openecomp.resource.vfc.nodes.heat" +
2072 ".oam_server", consolidationData);
2074 translationContext.setConsolidationData(consolidationData);
2076 addMockServiceTemplateToContext(mainSTName, "Main");
2077 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2079 verifySubstitutionServiceTemplateConsolidation
2080 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2081 translationContext.getTranslatedServiceTemplates().get
2082 (nestedServiceTemplateName), UnifiedCompositionMode.SingleSubstitution);
2086 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeOfSameType()
2087 throws IOException {
2088 translationContext = new TranslationContext();
2089 String mainSTName = "MainServiceTemplate.yaml";
2090 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2092 ConsolidationData consolidationData = new ConsolidationData();
2093 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"),
2095 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2096 "org.openecomp.resource.vfc.nodes.heat" +
2097 ".pcm_server", consolidationData);
2098 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2099 "org.openecomp.resource.vfc.nodes.heat" +
2100 ".pcm_server", consolidationData);
2101 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2102 "org.openecomp.resource.vfc.nodes" +
2103 ".heat.pcm_server", "pcm_server_1", consolidationData);
2106 .updateNestedConsolidationData(nestedServiceTemplateName, Arrays.asList("server_pcm_002"),
2108 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2109 "org.openecomp.resource.vfc.nodes" +
2110 ".heat.pcm_server", "pcm_server_2", consolidationData);
2112 translationContext.setConsolidationData(consolidationData);
2114 addMockServiceTemplateToContext(mainSTName, "Main");
2115 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2117 Mockito.doNothing().when(consolidationService).serviceTemplateConsolidation
2118 (translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName), translationContext);
2119 verifySubstitutionServiceTemplateConsolidation
2120 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2121 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2122 UnifiedCompositionMode.SingleSubstitution);
2126 public void testSubstitutionConsolidationPreConditionFalseNestedInsideNested() {
2127 translationContext = new TranslationContext();
2128 String mainSTName = "MainServiceTemplate.yaml";
2129 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2131 ConsolidationData consolidationData = new ConsolidationData();
2132 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"),
2134 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2135 "org.openecomp.resource.vfc.nodes.heat" +
2136 ".pcm_server", consolidationData);
2137 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2138 "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
2139 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2140 "org.openecomp.resource.vfc.nodes.heat" +
2141 ".pcm_server", consolidationData);
2142 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2143 "org.openecomp.resource.vfc.nodes" +
2144 ".heat.pcm_server", "pcm_server", consolidationData);
2147 .updateNestedConsolidationData(nestedServiceTemplateName, Arrays.asList("nested_resource"),
2150 translationContext.setConsolidationData(consolidationData);
2152 addMockServiceTemplateToContext(mainSTName, "Main");
2153 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2155 verifySubstitutionServiceTemplateConsolidation
2156 (0, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2157 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2158 UnifiedCompositionMode.SingleSubstitution);
2162 private void verifyMainServiceTemplateConsolidation(int times,
2163 List<UnifiedCompositionMode> expectedUnifiedCompositionModes,
2164 ToscaServiceModel toscaServiceModel) {
2165 consolidationService
2166 .serviceTemplateConsolidation(toscaServiceModel.getServiceTemplates().get(mainST),
2167 translationContext);
2169 ServiceTemplate mainServiceTemplate = toscaServiceModel.getServiceTemplates().get(mainST);
2170 verify(unifiedCompositionServiceMock, times(times))
2171 .createUnifiedComposition(
2172 eq(mainServiceTemplate),
2174 unifiedModelListArg.capture(),
2175 unifiedCompositionModeArg.capture(),
2176 eq(translationContext));
2178 List<UnifiedCompositionMode> actualUnifiedCompositionModes =
2179 unifiedCompositionModeArg.getAllValues();
2180 Assert.assertEquals(expectedUnifiedCompositionModes, actualUnifiedCompositionModes);
2183 private void verifySubstitutionServiceTemplateConsolidation(int times,
2184 ServiceTemplate mainST,
2185 ServiceTemplate nestedST,
2186 UnifiedCompositionMode expectedMode) {
2187 consolidationService.substitutionServiceTemplateConsolidation(null, mainST,
2188 nestedST, translationContext);
2190 if (expectedMode.equals(UnifiedCompositionMode.NestedSingleCompute)) {
2191 verify(unifiedCompositionServiceMock, times(times)).
2192 createUnifiedComposition(
2195 unifiedModelListArg.capture(),
2196 unifiedCompositionModeArg.capture(),
2197 eq(translationContext));
2198 Assert.assertEquals(expectedMode, unifiedCompositionModeArg.getValue());
2203 private void addMockServiceTemplateToContext(String serviceTemplateFileName,
2204 String templateName) {
2205 ServiceTemplate serviceTemplate = new ServiceTemplate();
2206 Map<String, String> metadata = new HashMap<>();
2207 metadata.put(ToscaConstants.ST_METADATA_TEMPLATE_NAME, templateName);
2208 serviceTemplate.setMetadata(metadata);
2209 translationContext.getTranslatedServiceTemplates()
2210 .put(serviceTemplateFileName, serviceTemplate);