1 package org.openecomp.sdc.translator.services.heattotosca;
4 * Created by TALIO on 3/7/2017.
6 public class ConsolidationServiceTest {
10 private TranslationContext translationContext = new TranslationContext();
11 private static String mainST = "MainServiceTemplate.yaml";
14 private UnifiedCompositionService unifiedCompositionServiceMock;
17 private ArgumentCaptor<List<UnifiedCompositionData>> unifiedModelListArg;
19 private ArgumentCaptor<UnifiedCompositionMode> unifiedCompositionModeArg;
23 private ConsolidationService consolidationService;
26 public void setUp() throws Exception {
27 MockitoAnnotations.initMocks(this);
31 public void testConsolidationValidPreCondition() throws IOException {
33 ConsolidationData consolidationData = new ConsolidationData();
34 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
35 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel(
36 "/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/valid_pre_condition/",
40 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName,
43 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
44 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
45 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
47 TestUtils.updateComputeTemplateConsolidationData(
49 computeNodeTypeName, "server_ps01",
50 null, null, null, null, null, null,
51 portTypeToIdList, consolidationData);
53 TestUtils.updateComputeTemplateConsolidationData(
55 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
56 portTypeToIdList, consolidationData);
58 TestUtils.initPortConsolidationData(mainST, consolidationData);
59 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
60 null, null, null, null, null,
62 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
63 null, null, null, null, null,
66 translationContext.setConsolidationData(consolidationData);
67 List<UnifiedCompositionMode> expectedUnifiedModes =
68 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
70 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
74 public void testConsolidationFalsePreConditionOneComputeNode() throws IOException {
75 ConsolidationData consolidationData = new ConsolidationData();
76 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
77 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
78 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/one_compute_node/",
82 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
84 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
85 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
86 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
88 TestUtils.updateComputeTemplateConsolidationData(
90 computeNodeTypeName, "server_ps01",
91 null, null, null, null, null, null,
92 portTypeToIdList, consolidationData);
94 TestUtils.initPortConsolidationData(mainST, consolidationData);
95 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
96 null, null, null, null, null,
98 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
99 null, null, null, null, null,
102 translationContext.setConsolidationData(consolidationData);
103 List<UnifiedCompositionMode> expectedUnifiedModes =
104 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
105 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
109 public void testConsolidationFalsePreConditionMoreThanOnePortPerType() throws IOException {
110 ConsolidationData consolidationData = new ConsolidationData();
111 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
112 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
113 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/more_than_one_port/",
117 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
119 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
120 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
121 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
123 TestUtils.updateComputeTemplateConsolidationData(
125 computeNodeTypeName, "server_ps01",
126 null, null, null, null, null, null,
127 portTypeToIdList, consolidationData);
129 TestUtils.updateComputeTemplateConsolidationData(
131 computeNodeTypeName, "server_ps02",
132 null, null, null, null, null, null,
133 portTypeToIdList, consolidationData);
136 TestUtils.initPortConsolidationData(mainST, consolidationData);
138 translationContext.setConsolidationData(consolidationData);
139 List<UnifiedCompositionMode> expectedUnifiedModes =
140 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
141 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
145 public void testConsolidationFalsePreConditionDifferentPortTypesBetweenComputes()
147 ConsolidationData consolidationData = new ConsolidationData();
148 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
149 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
150 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_port_types",
154 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
156 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
157 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
159 TestUtils.updateComputeTemplateConsolidationData(
161 computeNodeTypeName, "server_ps01",
162 null, null, null, null, null, null,
163 portTypeToIdList, consolidationData);
165 portTypeToIdList = new ArrayList<>();
166 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
168 TestUtils.updateComputeTemplateConsolidationData(
170 computeNodeTypeName, "server_ps02",
171 null, null, null, null, null, null,
172 portTypeToIdList, consolidationData);
174 TestUtils.initPortConsolidationData(mainST, consolidationData);
175 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
176 null, null, null, null, null,
178 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
179 null, null, null, null, null,
182 translationContext.setConsolidationData(consolidationData);
183 List<UnifiedCompositionMode> expectedUnifiedModes =
184 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
185 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
190 public void testConsolidationResultTrueWithMoreThanTwoCompute() throws IOException {
191 ConsolidationData consolidationData = new ConsolidationData();
192 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
193 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
194 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
198 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
200 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
201 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
202 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
204 TestUtils.updateComputeTemplateConsolidationData(
206 computeNodeTypeName, "server_ps01",
207 null, null, null, null, null, null,
208 portTypeToIdList, consolidationData);
210 TestUtils.updateComputeTemplateConsolidationData(
212 computeNodeTypeName, "server_ps02",
213 null, null, null, null, null, null,
214 portTypeToIdList, consolidationData);
216 TestUtils.updateComputeTemplateConsolidationData(
218 computeNodeTypeName, "server_ps03",
219 null, null, null, null, null, null,
220 portTypeToIdList, consolidationData);
222 TestUtils.initPortConsolidationData(mainST, consolidationData);
223 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
224 null, null, null, null, null,
226 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
227 null, null, null, null, null,
230 translationContext.setConsolidationData(consolidationData);
232 List<UnifiedCompositionMode> expectedUnifiedModes =
233 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
234 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
238 public void testConsolidationResultFalseWithMoreThanTwoComputeOneIsDiff() throws IOException {
239 ConsolidationData consolidationData = new ConsolidationData();
240 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
241 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
242 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
246 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
248 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
249 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
250 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
252 TestUtils.updateComputeTemplateConsolidationData(
254 computeNodeTypeName, "server_ps01",
255 null, null, null, null, null, null,
256 portTypeToIdList, consolidationData);
258 TestUtils.updateComputeTemplateConsolidationData(
260 computeNodeTypeName, "server_ps02",
261 null, null, null, null, null, null,
262 portTypeToIdList, consolidationData);
264 portTypeToIdList = new ArrayList<>();
265 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
266 TestUtils.updateComputeTemplateConsolidationData(
268 computeNodeTypeName, "server_ps03",
269 null, null, null, null, null, null,
270 portTypeToIdList, consolidationData);
272 TestUtils.initPortConsolidationData(mainST, consolidationData);
273 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
274 null, null, null, null, null,
276 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
277 null, null, null, null, null,
280 translationContext.setConsolidationData(consolidationData);
281 List<UnifiedCompositionMode> expectedUnifiedModes =
282 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
283 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
287 public void testConsolidationResultFalseForTwoTypesOfComputeWithOneInstanceEach()
289 ConsolidationData consolidationData = new ConsolidationData();
290 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
291 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.cmaui";
292 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
293 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
296 TestUtils.initComputeNodeTypeInConsolidationData
297 (mainST, computeNodeTypeName1, consolidationData);
298 TestUtils.initComputeNodeTypeInConsolidationData
299 (mainST, computeNodeTypeName2, consolidationData);
301 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
302 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
303 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
305 TestUtils.updateComputeTemplateConsolidationData(
307 computeNodeTypeName1, "server_ps01",
308 null, null, null, null, null, null,
309 portTypeToIdList, consolidationData);
311 TestUtils.updateComputeTemplateConsolidationData(
313 computeNodeTypeName2, "server_ps02",
314 null, null, null, null, null, null,
315 portTypeToIdList, consolidationData);
317 TestUtils.initPortConsolidationData(mainST, consolidationData);
318 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
319 null, null, null, null, null,
321 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
322 null, null, null, null, null,
325 translationContext.setConsolidationData(consolidationData);
327 List<UnifiedCompositionMode> expectedUnifiedModes =
328 Arrays.asList(UnifiedCompositionMode.SingleSubstitution,
329 UnifiedCompositionMode.SingleSubstitution);
330 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
334 public void testConsolidationValidForTwoSimilarComputeAndFalseForSingleCompute()
336 ConsolidationData consolidationData = new ConsolidationData();
337 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
338 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.cmaui";
339 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
340 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_two_similar_one_diff",
344 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName1, consolidationData);
346 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName2, consolidationData);
348 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
349 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
350 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
352 TestUtils.updateComputeTemplateConsolidationData(
354 computeNodeTypeName1, "server_ps01",
355 null, null, null, null, null, null,
356 portTypeToIdList, consolidationData);
358 TestUtils.updateComputeTemplateConsolidationData(
360 computeNodeTypeName1, "server_ps02",
361 null, null, null, null, null, null,
362 portTypeToIdList, consolidationData);
363 TestUtils.updateComputeTemplateConsolidationData(
365 computeNodeTypeName2, "server_ps03",
366 null, null, null, null, null, null,
367 portTypeToIdList, consolidationData);
369 TestUtils.initPortConsolidationData(mainST, consolidationData);
370 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
371 null, null, null, null, null,
373 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
374 null, null, null, null, null,
377 translationContext.setConsolidationData(consolidationData);
378 List<UnifiedCompositionMode> expectedUnifiedModes =
380 UnifiedCompositionMode.ScalingInstances, UnifiedCompositionMode.SingleSubstitution);
381 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
385 public void testValidComputeAndPortConsolidation() throws IOException {
386 ConsolidationData consolidationData = new ConsolidationData();
387 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
388 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
389 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
393 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
395 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
396 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
397 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
399 TestUtils.updateComputeTemplateConsolidationData(
401 computeNodeTypeName, "server_ps01",
402 null, null, null, null, null, null,
403 portTypeToIdList, consolidationData);
405 TestUtils.updateComputeTemplateConsolidationData(
407 computeNodeTypeName, "server_ps02",
408 null, null, null, null, null, null,
409 portTypeToIdList, consolidationData);
411 TestUtils.updateComputeTemplateConsolidationData(
413 computeNodeTypeName, "server_ps03",
414 null, null, null, null, null, null,
415 portTypeToIdList, consolidationData);
417 TestUtils.initPortConsolidationData(mainST, consolidationData);
418 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
419 null, null, null, null, null,
421 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
422 null, null, null, null, null,
425 translationContext.setConsolidationData(consolidationData);
426 List<UnifiedCompositionMode> expectedUnifiedModes =
427 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
428 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
432 public void testFalseComputeConsolidationForTwoSimilarImageNamesAndOneDiff() throws IOException {
433 ConsolidationData consolidationData = new ConsolidationData();
434 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
435 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.pd_server";
436 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
437 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_image_name_diff",
440 TestUtils.initComputeNodeTypeInConsolidationData(
441 mainST, computeNodeTypeName1, consolidationData);
442 TestUtils.initComputeNodeTypeInConsolidationData(
443 mainST, computeNodeTypeName2, consolidationData);
445 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
446 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
447 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
449 TestUtils.updateComputeTemplateConsolidationData(
451 computeNodeTypeName1, "server_ps01",
452 null, null, null, null, null, null,
453 portTypeToIdList, consolidationData);
455 TestUtils.updateComputeTemplateConsolidationData(
457 computeNodeTypeName1, "server_ps02",
458 null, null, null, null, null, null,
459 portTypeToIdList, consolidationData);
461 TestUtils.updateComputeTemplateConsolidationData(
463 computeNodeTypeName1, "server_ps03",
464 null, null, null, null, null, null,
465 portTypeToIdList, consolidationData);
467 TestUtils.updateComputeTemplateConsolidationData(
469 computeNodeTypeName2, "server_pd01",
470 null, null, null, null, null, null,
471 portTypeToIdList, consolidationData);
473 TestUtils.updateComputeTemplateConsolidationData(
475 computeNodeTypeName2, "server_pd02",
476 null, null, null, null, null, null,
477 portTypeToIdList, consolidationData);
479 TestUtils.updateComputeTemplateConsolidationData(
481 computeNodeTypeName2, "server_pd03",
482 null, null, null, null, null, null,
483 portTypeToIdList, consolidationData);
485 TestUtils.initPortConsolidationData(mainST, consolidationData);
486 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
487 null, null, null, null, null,
489 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
490 null, null, null, null, null,
493 translationContext.setConsolidationData(consolidationData);
494 List<UnifiedCompositionMode> expectedUnifiedModes =
496 .asList(UnifiedCompositionMode.CatalogInstance, UnifiedCompositionMode.CatalogInstance);
497 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
501 public void testFalseComputeConsolidationOneImageNameMissing() throws IOException {
502 ConsolidationData consolidationData = new ConsolidationData();
503 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.pd_server";
504 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
505 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_image_missing",
508 TestUtils.initComputeNodeTypeInConsolidationData(
509 mainST, computeNodeTypeName, consolidationData);
511 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
512 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
513 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
515 TestUtils.updateComputeTemplateConsolidationData(
517 computeNodeTypeName, "server_pd01",
518 null, null, null, null, null, null,
519 portTypeToIdList, consolidationData);
521 TestUtils.updateComputeTemplateConsolidationData(
523 computeNodeTypeName, "server_pd02",
524 null, null, null, null, null, null,
525 portTypeToIdList, consolidationData);
527 TestUtils.updateComputeTemplateConsolidationData(
529 computeNodeTypeName, "server_pd03",
530 null, null, null, null, null, null,
531 portTypeToIdList, consolidationData);
533 TestUtils.initPortConsolidationData(mainST, consolidationData);
534 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
535 null, null, null, null, null,
537 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
538 null, null, null, null, null,
541 translationContext.setConsolidationData(consolidationData);
542 List<UnifiedCompositionMode> expectedUnifiedModes =
543 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
544 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
548 public void testFalseComputeConsolidationForTwoSimilarFlavorNamesAndOneDiff() throws IOException {
549 ConsolidationData consolidationData = new ConsolidationData();
550 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
551 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
552 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_flavor_name_diff",
556 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
558 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
559 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
560 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
562 TestUtils.updateComputeTemplateConsolidationData(
564 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
565 portTypeToIdList, consolidationData);
567 TestUtils.updateComputeTemplateConsolidationData(
569 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
570 portTypeToIdList, consolidationData);
572 TestUtils.updateComputeTemplateConsolidationData(
574 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
575 portTypeToIdList, consolidationData);
577 TestUtils.initPortConsolidationData(mainST, consolidationData);
578 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
579 null, null, null, null, null,
581 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
582 null, null, null, null, null,
585 translationContext.setConsolidationData(consolidationData);
586 List<UnifiedCompositionMode> expectedUnifiedModes =
587 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
588 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
592 public void testFalsePortConsolidationForOneDiffFixedIpsValue() throws IOException {
593 ConsolidationData consolidationData = new ConsolidationData();
594 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
595 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
596 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_exCP_naming_diff",
599 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
601 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
602 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
603 TestUtils.updateComputeTemplateConsolidationData(
605 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
606 portTypeToIdList, consolidationData);
608 portTypeToIdList = new ArrayList<>();
609 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
610 TestUtils.updateComputeTemplateConsolidationData(
612 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
613 portTypeToIdList, consolidationData);
615 portTypeToIdList = new ArrayList<>();
616 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
617 TestUtils.updateComputeTemplateConsolidationData(
619 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
620 portTypeToIdList, consolidationData);
622 TestUtils.initPortConsolidationData(mainST, consolidationData);
623 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
624 null, null, null, null, null,
627 translationContext.setConsolidationData(consolidationData);
628 List<UnifiedCompositionMode> expectedUnifiedModes =
629 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
630 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
634 public void testFalsePortConsolidationForOneDiffExpcNaming(){
639 public void testFalsePortConsolidationForTwoPortsWithFixedIpsAndOneWithout() throws IOException {
640 ConsolidationData consolidationData = new ConsolidationData();
641 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
642 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
643 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_fixed_ips",
647 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
649 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
650 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
651 TestUtils.updateComputeTemplateConsolidationData(
653 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
654 portTypeToIdList, consolidationData);
656 portTypeToIdList = new ArrayList<>();
657 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
658 TestUtils.updateComputeTemplateConsolidationData(
660 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
661 portTypeToIdList, consolidationData);
663 portTypeToIdList = new ArrayList<>();
664 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
665 TestUtils.updateComputeTemplateConsolidationData(
667 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
668 portTypeToIdList, consolidationData);
670 TestUtils.initPortConsolidationData(mainST, consolidationData);
671 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
672 null, null, null, null, null,
675 translationContext.setConsolidationData(consolidationData);
676 List<UnifiedCompositionMode> expectedUnifiedModes =
677 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
678 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
682 public void testFalsePortConsolidationForTwoPortsWithAddressPairsAndOneWithout()
684 ConsolidationData consolidationData = new ConsolidationData();
685 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
686 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
687 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_allowed_address_pairs",
691 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
693 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
694 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
695 TestUtils.updateComputeTemplateConsolidationData(
697 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
698 portTypeToIdList, consolidationData);
699 portTypeToIdList = new ArrayList<>();
700 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
701 TestUtils.updateComputeTemplateConsolidationData(
703 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
704 portTypeToIdList, consolidationData);
706 portTypeToIdList = new ArrayList<>();
707 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
708 TestUtils.updateComputeTemplateConsolidationData(
710 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
711 portTypeToIdList, consolidationData);
713 TestUtils.initPortConsolidationData(mainST, consolidationData);
714 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
715 null, null, null, null, null,
718 translationContext.setConsolidationData(consolidationData);
719 List<UnifiedCompositionMode> expectedUnifiedModes =
720 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
721 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
725 public void testFalsePortConsolidationForTwoPortsWithMacAddressAndOneWithout()
727 ConsolidationData consolidationData = new ConsolidationData();
728 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
729 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
730 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_mac_address",
734 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
736 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
737 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
738 TestUtils.updateComputeTemplateConsolidationData(
740 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
741 portTypeToIdList, consolidationData);
743 portTypeToIdList = new ArrayList<>();
744 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
745 TestUtils.updateComputeTemplateConsolidationData(
747 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
748 portTypeToIdList, consolidationData);
749 portTypeToIdList = new ArrayList<>();
750 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
751 TestUtils.updateComputeTemplateConsolidationData(
753 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
754 portTypeToIdList, consolidationData);
756 TestUtils.initPortConsolidationData(mainST, consolidationData);
757 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
758 null, null, null, null, null,
761 translationContext.setConsolidationData(consolidationData);
762 List<UnifiedCompositionMode> expectedUnifiedModes =
763 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
764 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
768 public void testValidPortConsolidationForPortsWithNoneOfTheCheckedProperties()
770 ConsolidationData consolidationData = new ConsolidationData();
771 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
772 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
773 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/ports_with_none_of_the_properties",
777 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
779 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
780 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
781 TestUtils.updateComputeTemplateConsolidationData(
783 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
784 portTypeToIdList, consolidationData);
786 portTypeToIdList = new ArrayList<>();
787 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
788 TestUtils.updateComputeTemplateConsolidationData(
790 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
791 portTypeToIdList, consolidationData);
793 portTypeToIdList = new ArrayList<>();
794 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
795 TestUtils.updateComputeTemplateConsolidationData(
797 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
798 portTypeToIdList, consolidationData);
800 TestUtils.initPortConsolidationData(mainST, consolidationData);
801 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
802 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
805 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
806 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
809 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
810 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
814 translationContext.setConsolidationData(consolidationData);
815 List<UnifiedCompositionMode> expectedUnifiedModes =
816 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
817 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
821 public void testComputeRelationsSimilarBetweenComputeNodes() throws IOException {
822 ConsolidationData consolidationData = new ConsolidationData();
823 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
824 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
825 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_with_same_relations",
829 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
831 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
832 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
833 TestUtils.updateComputeTemplateConsolidationData(
835 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"),
836 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
841 portTypeToIdList = new ArrayList<>();
842 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
843 TestUtils.updateComputeTemplateConsolidationData(
845 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
846 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
851 portTypeToIdList = new ArrayList<>();
852 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
853 TestUtils.updateComputeTemplateConsolidationData(
855 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
856 Arrays.asList("cmaui_volume"),
857 Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
861 TestUtils.initPortConsolidationData(mainST, consolidationData);
862 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
863 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
866 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
867 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
870 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
871 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
876 translationContext.setConsolidationData(consolidationData);
877 List<UnifiedCompositionMode> expectedUnifiedModes =
878 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
879 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
883 public void testNodesInRelationsDiffBetweenThreeComputes() throws IOException {
884 ConsolidationData consolidationData = new ConsolidationData();
885 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
886 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
887 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
891 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
893 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
894 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
895 TestUtils.updateComputeTemplateConsolidationData(
897 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
898 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
902 portTypeToIdList = new ArrayList<>();
903 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
904 TestUtils.updateComputeTemplateConsolidationData(
906 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
907 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
912 portTypeToIdList = new ArrayList<>();
913 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
914 TestUtils.updateComputeTemplateConsolidationData(
916 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_2"), Arrays.asList
917 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
921 TestUtils.initPortConsolidationData(mainST, consolidationData);
922 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
926 translationContext.setConsolidationData(consolidationData);
927 List<UnifiedCompositionMode> expectedUnifiedModes =
928 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
929 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
933 public void testNodesOutRelationsDiffBetweenThreeComputes() throws IOException {
934 ConsolidationData consolidationData = new ConsolidationData();
935 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
936 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
937 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
941 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
943 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
944 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
945 TestUtils.updateComputeTemplateConsolidationData(
947 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
948 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
952 portTypeToIdList = new ArrayList<>();
953 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
954 TestUtils.updateComputeTemplateConsolidationData(
956 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
957 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
962 portTypeToIdList = new ArrayList<>();
963 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
964 TestUtils.updateComputeTemplateConsolidationData(
966 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
967 Arrays.asList("cmaui_volume_1"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
972 TestUtils.initPortConsolidationData(mainST, consolidationData);
973 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
977 translationContext.setConsolidationData(consolidationData);
978 List<UnifiedCompositionMode> expectedUnifiedModes =
979 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
980 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
984 public void testVolumeRelationsDiffBetweenThreeComputes() throws IOException {
985 ConsolidationData consolidationData = new ConsolidationData();
986 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
987 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
988 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
992 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
994 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
995 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
996 TestUtils.updateComputeTemplateConsolidationData(
998 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
999 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
1003 portTypeToIdList = new ArrayList<>();
1004 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1005 TestUtils.updateComputeTemplateConsolidationData(
1007 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1008 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
1013 portTypeToIdList = new ArrayList<>();
1014 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1015 TestUtils.updateComputeTemplateConsolidationData(
1017 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1018 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume_1"), Arrays.asList("group_id1"),
1023 TestUtils.initPortConsolidationData(mainST, consolidationData);
1024 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1028 translationContext.setConsolidationData(consolidationData);
1029 List<UnifiedCompositionMode> expectedUnifiedModes =
1030 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1031 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1035 public void testGroupRelationsDiffBetweenThreeComputes() throws IOException {
1036 ConsolidationData consolidationData = new ConsolidationData();
1037 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1038 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1039 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
1043 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1045 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1046 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1047 TestUtils.updateComputeTemplateConsolidationData(
1049 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1050 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1055 portTypeToIdList = new ArrayList<>();
1056 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1057 TestUtils.updateComputeTemplateConsolidationData(
1059 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1060 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1065 portTypeToIdList = new ArrayList<>();
1066 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1067 TestUtils.updateComputeTemplateConsolidationData(
1069 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1070 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_2"),
1075 TestUtils.initPortConsolidationData(mainST, consolidationData);
1076 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1080 translationContext.setConsolidationData(consolidationData);
1081 List<UnifiedCompositionMode> expectedUnifiedModes =
1082 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1083 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1087 public void testPortConsolidationDataRelationsSimilar() throws IOException {
1088 ConsolidationData consolidationData = new ConsolidationData();
1089 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1090 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1091 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1095 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1097 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1098 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1099 TestUtils.updateComputeTemplateConsolidationData(
1101 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1102 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1107 portTypeToIdList = new ArrayList<>();
1108 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1109 TestUtils.updateComputeTemplateConsolidationData(
1111 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1112 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1117 portTypeToIdList = new ArrayList<>();
1118 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1119 TestUtils.updateComputeTemplateConsolidationData(
1121 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1122 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1127 TestUtils.initPortConsolidationData(mainST, consolidationData);
1128 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1129 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1132 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1133 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1136 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1137 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1141 translationContext.setConsolidationData(consolidationData);
1142 List<UnifiedCompositionMode> expectedUnifiedModes =
1143 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1144 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1148 public void testNodesInRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1149 ConsolidationData consolidationData = new ConsolidationData();
1150 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1151 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1152 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1156 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1158 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1159 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1160 TestUtils.updateComputeTemplateConsolidationData(
1162 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1163 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1168 portTypeToIdList = new ArrayList<>();
1169 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1170 TestUtils.updateComputeTemplateConsolidationData(
1172 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1173 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1178 portTypeToIdList = new ArrayList<>();
1179 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1180 TestUtils.updateComputeTemplateConsolidationData(
1182 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1183 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1188 TestUtils.initPortConsolidationData(mainST, consolidationData);
1189 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1190 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1193 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1194 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1197 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1198 Arrays.asList("node_in_2"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1202 translationContext.setConsolidationData(consolidationData);
1203 List<UnifiedCompositionMode> expectedUnifiedModes =
1204 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1205 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1209 public void testNodesOutRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1210 ConsolidationData consolidationData = new ConsolidationData();
1211 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1212 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1213 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1217 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1219 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1220 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1221 TestUtils.updateComputeTemplateConsolidationData(
1223 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1224 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1229 portTypeToIdList = new ArrayList<>();
1230 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1231 TestUtils.updateComputeTemplateConsolidationData(
1233 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1234 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1239 portTypeToIdList = new ArrayList<>();
1240 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1241 TestUtils.updateComputeTemplateConsolidationData(
1243 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1244 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1249 TestUtils.initPortConsolidationData(mainST, consolidationData);
1250 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1251 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1254 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1255 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1258 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1259 Arrays.asList("node_in_1"), Arrays.asList("net_id_2"), Arrays.asList("group_id_1"), null,
1263 translationContext.setConsolidationData(consolidationData);
1264 List<UnifiedCompositionMode> expectedUnifiedModes =
1265 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1266 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1270 public void testGroupIdsRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1271 ConsolidationData consolidationData = new ConsolidationData();
1272 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1273 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1274 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1278 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1280 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1281 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1282 TestUtils.updateComputeTemplateConsolidationData(
1284 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1285 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1290 portTypeToIdList = new ArrayList<>();
1291 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1292 TestUtils.updateComputeTemplateConsolidationData(
1294 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1295 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1300 portTypeToIdList = new ArrayList<>();
1301 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1302 TestUtils.updateComputeTemplateConsolidationData(
1304 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1305 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1310 TestUtils.initPortConsolidationData(mainST, consolidationData);
1311 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1312 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1313 Arrays.asList("group_id_1", "group_id_2"), null, null,
1315 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1316 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1317 Arrays.asList("group_id_1", "group_id_2"), null, null,
1319 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1320 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1321 Arrays.asList("group_id_1", "group_id_3"), null, null,
1324 translationContext.setConsolidationData(consolidationData);
1325 List<UnifiedCompositionMode> expectedUnifiedModes =
1326 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1327 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1331 public void testValidConsolidationForComputesWithValidGetAttr() throws IOException {
1332 ConsolidationData consolidationData = new ConsolidationData();
1333 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1334 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1335 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1339 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1341 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1342 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1344 TestUtils.updateComputeTemplateConsolidationData(
1346 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1347 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1348 Arrays.asList("node_1"), null,
1352 portTypeToIdList = new ArrayList<>();
1353 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1354 TestUtils.updateComputeTemplateConsolidationData(
1356 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1357 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1358 Arrays.asList("node_2"), null,
1362 portTypeToIdList = new ArrayList<>();
1363 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1364 TestUtils.updateComputeTemplateConsolidationData(
1366 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1367 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1368 Arrays.asList("node_3"), null,
1372 TestUtils.initPortConsolidationData(mainST, consolidationData);
1373 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1374 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1375 Arrays.asList("group_id_1", "group_id_2"), null, null,
1377 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1378 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1379 Arrays.asList("group_id_1", "group_id_2"), null, null,
1381 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1382 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1383 Arrays.asList("group_id_1", "group_id_2"), null, null,
1386 translationContext.setConsolidationData(consolidationData);
1387 List<UnifiedCompositionMode> expectedUnifiedModes =
1388 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1389 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1393 public void testInvalidConsolidationForComputesWithGetAttrForEachOther() throws IOException {
1394 ConsolidationData consolidationData = new ConsolidationData();
1395 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1396 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1397 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1401 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1403 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1404 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1406 TestUtils.updateComputeTemplateConsolidationData(
1408 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1409 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1410 Arrays.asList("server_ps02"), null,
1414 portTypeToIdList = new ArrayList<>();
1415 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1416 TestUtils.updateComputeTemplateConsolidationData(
1418 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1419 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1420 Arrays.asList("node_1"), null,
1424 portTypeToIdList = new ArrayList<>();
1425 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1426 TestUtils.updateComputeTemplateConsolidationData(
1428 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1429 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1430 Arrays.asList("node_2"), null,
1434 TestUtils.initPortConsolidationData(mainST, consolidationData);
1435 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1436 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1437 Arrays.asList("group_id_1", "group_id_2"), null, null,
1439 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1440 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1441 Arrays.asList("group_id_1", "group_id_2"), null, null,
1443 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1444 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1445 Arrays.asList("group_id_1", "group_id_2"), null, null,
1448 translationContext.setConsolidationData(consolidationData);
1449 List<UnifiedCompositionMode> expectedUnifiedModes =
1450 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1451 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1455 public void testValidConsolidationForPortsWithValidGetAttr() throws IOException {
1456 ConsolidationData consolidationData = new ConsolidationData();
1457 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1458 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1459 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1463 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1465 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1466 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1468 TestUtils.updateComputeTemplateConsolidationData(
1470 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1471 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1476 portTypeToIdList = new ArrayList<>();
1477 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1478 TestUtils.updateComputeTemplateConsolidationData(
1480 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1481 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1486 portTypeToIdList = new ArrayList<>();
1487 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1488 TestUtils.updateComputeTemplateConsolidationData(
1490 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1491 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1496 TestUtils.initPortConsolidationData(mainST, consolidationData);
1497 List<String> portNodeTemplateIds =
1498 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1499 List<List<String>> nodesConnectedInIds =
1500 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1501 Arrays.asList("node_in_1"));
1502 List<List<String>> nodesConnectedOutIds =
1503 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1504 Arrays.asList("node_out_1"));
1505 List<List<String>> getAttrInIds =
1506 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"),
1507 Arrays.asList("get_attr_3"));
1508 List<List<String>> groupIds =
1509 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1510 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1511 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null);
1513 TestUtils.updateMultiplePortConsolidationDatas(
1514 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1515 getAttrInIds, getAttrOut, consolidationData);
1517 translationContext.setConsolidationData(consolidationData);
1518 List<UnifiedCompositionMode> expectedUnifiedModes =
1519 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1520 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1524 public void testInvalidConsolidationForPortsWithGetAttrInForEachOther() throws IOException {
1525 ConsolidationData consolidationData = new ConsolidationData();
1526 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1527 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1528 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation" +
1529 "/three_ports_similar_relations",
1533 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1535 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1536 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1538 TestUtils.updateComputeTemplateConsolidationData(
1540 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1541 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1542 Arrays.asList("node_1"), null,
1546 portTypeToIdList = new ArrayList<>();
1547 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1548 TestUtils.updateComputeTemplateConsolidationData(
1550 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1551 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1552 Arrays.asList("node_2"), null,
1556 portTypeToIdList = new ArrayList<>();
1557 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1558 TestUtils.updateComputeTemplateConsolidationData(
1560 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1561 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1562 Arrays.asList("node_3"), null,
1566 TestUtils.initPortConsolidationData(mainST, consolidationData);
1567 List<String> portNodeTemplateIds =
1568 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1569 List<List<String>> nodesConnectedInIds =
1570 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1571 Arrays.asList("node_in_1"));
1572 List<List<String>> nodesConnectedOutIds =
1573 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1574 Arrays.asList("node_out_1"));
1575 List<List<String>> getAttrInIds =
1576 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"),
1577 Arrays.asList("cm01_port_1"));
1578 List<List<String>> groupIds =
1579 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1580 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1581 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null);
1583 TestUtils.updateMultiplePortConsolidationDatas(
1584 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1585 getAttrInIds, getAttrOut, consolidationData);
1587 translationContext.setConsolidationData(consolidationData);
1588 List<UnifiedCompositionMode> expectedUnifiedModes =
1589 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1590 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1594 public void testValidConsolidationForComputesWithSamePortTypesPointingByGetAttrIn() throws
1596 ConsolidationData consolidationData = new ConsolidationData();
1597 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1598 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1599 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1603 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1605 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1606 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1608 TestUtils.updateComputeTemplateConsolidationData(
1610 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1611 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1612 Arrays.asList("cm01_port_1"), null,
1616 portTypeToIdList = new ArrayList<>();
1617 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1618 TestUtils.updateComputeTemplateConsolidationData(
1620 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1621 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1622 Arrays.asList("cm01_port_2"), null,
1626 portTypeToIdList = new ArrayList<>();
1627 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1628 TestUtils.updateComputeTemplateConsolidationData(
1630 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1631 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1632 Arrays.asList("cm01_port_3"), null,
1636 TestUtils.initPortConsolidationData(mainST, consolidationData);
1637 List<String> portNodeTemplateIds =
1638 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1639 List<List<String>> nodesConnectedInIds =
1640 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1641 Arrays.asList("node_in_1"));
1642 List<List<String>> nodesConnectedOutIds =
1643 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1644 Arrays.asList("node_out_1"));
1645 List<List<String>> getAttrInIds =
1646 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"),
1647 Arrays.asList("get_attr_3"));
1648 List<List<String>> groupIds =
1649 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1650 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1651 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null);
1653 TestUtils.updateMultiplePortConsolidationDatas(
1654 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1655 getAttrInIds, getAttrOut, consolidationData);
1657 translationContext.setConsolidationData(consolidationData);
1658 List<UnifiedCompositionMode> expectedUnifiedModes =
1659 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1660 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1664 public void testValidGetAttrOutFromComputes() throws IOException {
1665 ConsolidationData consolidationData = new ConsolidationData();
1666 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1667 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1668 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1672 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1674 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1675 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1676 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1677 TestUtils.updateComputeTemplateConsolidationData(
1679 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1680 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1681 Arrays.asList("cm01_port_1"),
1682 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1686 portTypeToIdList = new ArrayList<>();
1687 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1688 TestUtils.updateComputeTemplateConsolidationData(
1690 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1691 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1692 Arrays.asList("cm01_port_1"),
1693 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1697 portTypeToIdList = new ArrayList<>();
1698 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1699 TestUtils.updateComputeTemplateConsolidationData(
1701 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1702 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1703 Arrays.asList("cm01_port_1"),
1704 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1708 TestUtils.initPortConsolidationData(mainST, consolidationData);
1709 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1710 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1711 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("sm01_port_2"), null,
1713 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1714 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1715 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("sm01_port_1"), null,
1717 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1718 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1719 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("rm01_port_1"), null,
1722 translationContext.setConsolidationData(consolidationData);
1723 List<UnifiedCompositionMode> expectedUnifiedModes =
1724 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1725 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1729 public void testInValidGetAttrOutFromComputesPortTypeDifferent() throws IOException {
1730 ConsolidationData consolidationData = new ConsolidationData();
1731 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1732 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1733 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1737 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1739 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1740 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1741 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1742 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1743 TestUtils.updateComputeTemplateConsolidationData(
1745 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1746 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1747 Arrays.asList("cm01_port_1"),
1748 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1752 portTypeToIdList = new ArrayList<>();
1753 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1754 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1755 TestUtils.updateComputeTemplateConsolidationData(
1757 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1758 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1759 Arrays.asList("cm01_port_1"),
1760 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1764 portTypeToIdList = new ArrayList<>();
1765 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1766 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1767 TestUtils.updateComputeTemplateConsolidationData(
1769 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1770 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1771 Arrays.asList("cm01_port_1"),
1772 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_1", getAttrFuncData)),
1776 TestUtils.initPortConsolidationData(mainST, consolidationData);
1778 List<String> portNodeTemplateIds =
1779 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1", "sm01_port_2",
1781 List<List<String>> nodesConnectedInIds =
1782 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList
1783 ("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1784 Arrays.asList("node_in_1"));
1785 List<List<String>> nodesConnectedOutIds =
1786 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList
1787 ("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1788 Arrays.asList("node_out_1"));
1789 List<List<String>> getAttrInIds =
1790 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"), Arrays.asList
1791 ("get_attr_3"), Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"),
1792 Arrays.asList("get_attr_3"));
1793 List<List<String>> groupIds =
1794 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1795 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
1796 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1797 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1798 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null, null,
1801 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
1802 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
1805 translationContext.setConsolidationData(consolidationData);
1806 List<UnifiedCompositionMode> expectedUnifiedModes =
1807 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
1808 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1812 public void testValidGetAttrOutFromPorts() throws IOException {
1813 ConsolidationData consolidationData = new ConsolidationData();
1814 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1815 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1816 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1820 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1822 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1823 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1824 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1825 TestUtils.updateComputeTemplateConsolidationData(
1827 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1828 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1829 Arrays.asList("cm01_port_1"), null,
1833 portTypeToIdList = new ArrayList<>();
1834 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1835 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1836 TestUtils.updateComputeTemplateConsolidationData(
1838 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1839 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1840 Arrays.asList("cm01_port_1"), null,
1844 portTypeToIdList = new ArrayList<>();
1845 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1846 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1847 TestUtils.updateComputeTemplateConsolidationData(
1849 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1850 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1851 Arrays.asList("cm01_port_1"), null,
1855 TestUtils.initPortConsolidationData(mainST, consolidationData);
1857 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
1858 List<String> portNodeTemplateIds =
1859 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1", "sm01_port_2",
1861 List<List<String>> nodesConnectedInIds =
1862 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList
1863 ("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1864 Arrays.asList("node_in_1"));
1865 List<List<String>> nodesConnectedOutIds =
1866 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList
1867 ("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1868 Arrays.asList("node_out_1"));
1869 List<List<String>> getAttrInIds =
1870 Arrays.asList(null, null, null, null, null, null);
1871 List<List<String>> groupIds =
1872 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1873 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
1874 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1875 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1876 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
1877 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_1", getAttrFuncData)),
1878 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_2", getAttrFuncData)),
1879 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_3", getAttrFuncData)),
1880 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1881 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_2", getAttrFuncData)),
1882 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_3", getAttrFuncData)));
1884 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
1885 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
1888 translationContext.setConsolidationData(consolidationData);
1889 List<UnifiedCompositionMode> expectedUnifiedModes =
1890 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1891 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1895 public void testInvalidGetAttrOutFromPorts() throws IOException {
1896 ConsolidationData consolidationData = new ConsolidationData();
1897 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1898 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1899 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1903 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1905 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1906 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1907 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1908 TestUtils.updateComputeTemplateConsolidationData(
1910 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1911 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1912 Arrays.asList("cm01_port_1"), null,
1916 portTypeToIdList = new ArrayList<>();
1917 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1918 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1919 TestUtils.updateComputeTemplateConsolidationData(
1921 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1922 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1923 Arrays.asList("cm01_port_1"), null,
1927 portTypeToIdList = new ArrayList<>();
1928 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1929 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1930 TestUtils.updateComputeTemplateConsolidationData(
1932 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1933 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1934 Arrays.asList("cm01_port_1"), null,
1938 TestUtils.initPortConsolidationData(mainST, consolidationData);
1940 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
1941 List<String> portNodeTemplateIds =
1942 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1", "sm01_port_2",
1944 List<List<String>> nodesConnectedInIds =
1945 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList
1946 ("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1947 Arrays.asList("node_in_1"));
1948 List<List<String>> nodesConnectedOutIds =
1949 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList
1950 ("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1951 Arrays.asList("node_out_1"));
1952 List<List<String>> getAttrInIds =
1953 Arrays.asList(null, null, null, null, null, null);
1954 List<List<String>> groupIds =
1955 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1956 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
1957 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1958 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1959 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
1960 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("server_ps01", getAttrFuncData)),
1961 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("server_ps01", getAttrFuncData)),
1962 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_3", getAttrFuncData)),
1963 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1964 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_2", getAttrFuncData)),
1965 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_3", getAttrFuncData)));
1967 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
1968 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
1971 translationContext.setConsolidationData(consolidationData);
1972 List<UnifiedCompositionMode> expectedUnifiedModes =
1973 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
1974 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1978 public void testSubstitutionConsolidationPreConditionTrue() throws IOException {
1979 translationContext = new TranslationContext();
1980 String mainSTName = "MainServiceTemplate.yaml";
1981 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
1983 ConsolidationData consolidationData = new ConsolidationData();
1984 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"),
1986 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
1987 "org.openecomp.resource.vfc.nodes.heat" +
1988 ".pcm_server", consolidationData);
1989 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
1990 "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
1991 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
1992 "org.openecomp.resource.vfc.nodes.heat" +
1993 ".pcm_server", consolidationData);
1994 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
1995 "org.openecomp.resource.vfc.nodes" +
1996 ".heat.pcm_server", "pcm_server", consolidationData);
1998 translationContext.setConsolidationData(consolidationData);
2000 addMockServiceTemplateToContext(mainSTName, "Main");
2001 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2003 verifySubstitutionServiceTemplateConsolidation
2004 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2005 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2006 UnifiedCompositionMode.NestedSingleCompute);
2010 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeType()
2011 throws IOException {
2012 translationContext = new TranslationContext();
2013 String mainSTName = "MainServiceTemplate.yaml";
2014 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2016 ConsolidationData consolidationData = new ConsolidationData();
2017 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"),
2019 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2020 "org.openecomp.resource.vfc.nodes.heat" +
2021 ".pcm_server", consolidationData);
2022 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2023 "org.openecomp.resource.vfc.nodes" +
2024 ".heat.pcm_server", "server_pcm_001", consolidationData);
2025 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2026 "org.openecomp.resource.vfc.nodes.heat" +
2027 ".pcm_server", consolidationData);
2029 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_oam_001"),
2031 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2032 "org.openecomp.resource.vfc.nodes.heat" +
2033 ".oam_server", consolidationData);
2034 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2035 "org.openecomp.resource.vfc.nodes.heat.oam_server", "server_oam_001", consolidationData);
2036 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2037 "org.openecomp.resource.vfc.nodes.heat" +
2038 ".oam_server", consolidationData);
2040 translationContext.setConsolidationData(consolidationData);
2042 addMockServiceTemplateToContext(mainSTName, "Main");
2043 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2045 verifySubstitutionServiceTemplateConsolidation
2046 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2047 translationContext.getTranslatedServiceTemplates().get
2048 (nestedServiceTemplateName), UnifiedCompositionMode.SingleSubstitution);
2052 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeOfSameType()
2053 throws IOException {
2054 translationContext = new TranslationContext();
2055 String mainSTName = "MainServiceTemplate.yaml";
2056 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2058 ConsolidationData consolidationData = new ConsolidationData();
2059 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"),
2061 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2062 "org.openecomp.resource.vfc.nodes.heat" +
2063 ".pcm_server", consolidationData);
2064 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2065 "org.openecomp.resource.vfc.nodes.heat" +
2066 ".pcm_server", consolidationData);
2067 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2068 "org.openecomp.resource.vfc.nodes" +
2069 ".heat.pcm_server", "pcm_server_1", consolidationData);
2072 .updateNestedConsolidationData(nestedServiceTemplateName, Arrays.asList("server_pcm_002"),
2074 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2075 "org.openecomp.resource.vfc.nodes" +
2076 ".heat.pcm_server", "pcm_server_2", consolidationData);
2078 translationContext.setConsolidationData(consolidationData);
2080 addMockServiceTemplateToContext(mainSTName, "Main");
2081 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2083 Mockito.doNothing().when(consolidationService).serviceTemplateConsolidation
2084 (translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName), translationContext);
2085 verifySubstitutionServiceTemplateConsolidation
2086 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2087 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2088 UnifiedCompositionMode.SingleSubstitution);
2092 public void testSubstitutionConsolidationPreConditionFalseNestedInsideNested() {
2093 translationContext = new TranslationContext();
2094 String mainSTName = "MainServiceTemplate.yaml";
2095 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2097 ConsolidationData consolidationData = new ConsolidationData();
2098 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"),
2100 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2101 "org.openecomp.resource.vfc.nodes.heat" +
2102 ".pcm_server", consolidationData);
2103 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2104 "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
2105 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2106 "org.openecomp.resource.vfc.nodes.heat" +
2107 ".pcm_server", consolidationData);
2108 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2109 "org.openecomp.resource.vfc.nodes" +
2110 ".heat.pcm_server", "pcm_server", consolidationData);
2113 .updateNestedConsolidationData(nestedServiceTemplateName, Arrays.asList("nested_resource"),
2116 translationContext.setConsolidationData(consolidationData);
2118 addMockServiceTemplateToContext(mainSTName, "Main");
2119 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2121 verifySubstitutionServiceTemplateConsolidation
2122 (0, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2123 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2124 UnifiedCompositionMode.SingleSubstitution);
2128 private void verifyMainServiceTemplateConsolidation(int times,
2129 List<UnifiedCompositionMode> expectedUnifiedCompositionModes,
2130 ToscaServiceModel toscaServiceModel) {
2131 consolidationService
2132 .serviceTemplateConsolidation(toscaServiceModel.getServiceTemplates().get(mainST),
2133 translationContext);
2135 ServiceTemplate mainServiceTemplate = toscaServiceModel.getServiceTemplates().get(mainST);
2136 verify(unifiedCompositionServiceMock, times(times))
2137 .createUnifiedComposition(
2138 eq(mainServiceTemplate),
2140 unifiedModelListArg.capture(),
2141 unifiedCompositionModeArg.capture(),
2142 eq(translationContext));
2144 List<UnifiedCompositionMode> actualUnifiedCompositionModes =
2145 unifiedCompositionModeArg.getAllValues();
2146 Assert.assertEquals(expectedUnifiedCompositionModes, actualUnifiedCompositionModes);
2149 private void verifySubstitutionServiceTemplateConsolidation(int times,
2150 ServiceTemplate mainST,
2151 ServiceTemplate nestedST,
2152 UnifiedCompositionMode expectedMode) {
2153 consolidationService.substitutionServiceTemplateConsolidation(null, mainST,
2154 nestedST, translationContext);
2156 if (expectedMode.equals(UnifiedCompositionMode.NestedSingleCompute)) {
2157 verify(unifiedCompositionServiceMock, times(times)).
2158 createUnifiedComposition(
2161 unifiedModelListArg.capture(),
2162 unifiedCompositionModeArg.capture(),
2163 eq(translationContext));
2164 Assert.assertEquals(expectedMode, unifiedCompositionModeArg.getValue());
2169 private void addMockServiceTemplateToContext(String serviceTemplateFileName,
2170 String templateName) {
2171 ServiceTemplate serviceTemplate = new ServiceTemplate();
2172 Map<String, String> metadata = new HashMap<>();
2173 metadata.put(ToscaConstants.ST_METADATA_TEMPLATE_NAME, templateName);
2174 serviceTemplate.setMetadata(metadata);
2175 translationContext.getTranslatedServiceTemplates()
2176 .put(serviceTemplateFileName, serviceTemplate);