1 package org.openecomp.sdc.translator.services.heattotosca;
3 import static org.mockito.Matchers.any;
4 import static org.mockito.Matchers.eq;
5 import static org.mockito.Mockito.times;
6 import static org.mockito.Mockito.verify;
8 import org.apache.commons.lang3.tuple.ImmutablePair;
9 import org.apache.commons.lang3.tuple.Pair;
10 import org.junit.Assert;
11 import org.junit.Before;
12 import org.junit.Test;
13 import org.mockito.ArgumentCaptor;
14 import org.mockito.Captor;
15 import org.mockito.InjectMocks;
16 import org.mockito.Mock;
17 import org.mockito.Mockito;
18 import org.mockito.MockitoAnnotations;
19 import org.mockito.Spy;
20 import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
21 import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
22 import org.openecomp.sdc.tosca.services.ToscaConstants;
23 import org.openecomp.sdc.translator.SubInterfaceConsolidationDataTestInfo;
24 import org.openecomp.sdc.translator.TestUtils;
25 import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext;
26 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.UnifiedCompositionData;
27 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.UnifiedCompositionMode;
28 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.ConsolidationData;
29 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.GetAttrFuncData;
31 import java.io.IOException;
32 import java.util.ArrayList;
33 import java.util.Arrays;
34 import java.util.Collections;
35 import java.util.HashMap;
36 import java.util.List;
39 public class ConsolidationServiceTest {
43 private TranslationContext translationContext = new TranslationContext();
44 private static String mainST = "MainServiceTemplate.yaml";
47 private UnifiedCompositionService unifiedCompositionServiceMock;
50 private ArgumentCaptor<List<UnifiedCompositionData>> unifiedModelListArg;
52 private ArgumentCaptor<UnifiedCompositionMode> unifiedCompositionModeArg;
56 private ConsolidationService consolidationService;
59 public void setUp() throws Exception {
60 MockitoAnnotations.initMocks(this);
64 public void testConsolidationValidPreCondition() throws IOException {
66 ConsolidationData consolidationData = new ConsolidationData();
67 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
68 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel(
69 "/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/valid_pre_condition/",
73 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName,
76 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
77 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
78 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
80 TestUtils.updateComputeTemplateConsolidationData(
82 computeNodeTypeName, "server_ps01",
83 null, null, null, null, null, null,
84 portTypeToIdList, consolidationData);
86 TestUtils.updateComputeTemplateConsolidationData(
88 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
89 portTypeToIdList, consolidationData);
91 TestUtils.initPortConsolidationData(mainST, consolidationData);
92 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
93 null, null, null, null, null,
95 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
96 null, null, null, null, null,
99 translationContext.setConsolidationData(consolidationData);
100 List<UnifiedCompositionMode> expectedUnifiedModes =
101 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
103 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
107 public void testConsolidationFalsePreConditionOneComputeNode() throws IOException {
108 ConsolidationData consolidationData = new ConsolidationData();
109 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
110 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
111 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/one_compute_node/",
115 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
117 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
118 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
119 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
121 TestUtils.updateComputeTemplateConsolidationData(
123 computeNodeTypeName, "server_ps01",
124 null, null, null, null, null, null,
125 portTypeToIdList, consolidationData);
127 TestUtils.initPortConsolidationData(mainST, consolidationData);
128 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
129 null, null, null, null, null,
131 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
132 null, null, null, null, null,
135 translationContext.setConsolidationData(consolidationData);
136 List<UnifiedCompositionMode> expectedUnifiedModes =
137 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
138 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
142 public void testConsolidationFalsePreConditionMoreThanOnePortPerType() throws IOException {
143 ConsolidationData consolidationData = new ConsolidationData();
144 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
145 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
146 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/more_than_one_port/",
150 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
152 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
153 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
154 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
156 TestUtils.updateComputeTemplateConsolidationData(
158 computeNodeTypeName, "server_ps01",
159 null, null, null, null, null, null,
160 portTypeToIdList, consolidationData);
162 TestUtils.updateComputeTemplateConsolidationData(
164 computeNodeTypeName, "server_ps02",
165 null, null, null, null, null, null,
166 portTypeToIdList, consolidationData);
169 TestUtils.initPortConsolidationData(mainST, consolidationData);
171 translationContext.setConsolidationData(consolidationData);
172 List<UnifiedCompositionMode> expectedUnifiedModes =
173 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
174 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
178 public void testConsolidationFalsePreConditionDifferentPortTypesBetweenComputes()
180 ConsolidationData consolidationData = new ConsolidationData();
181 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
182 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
183 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_port_types",
187 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
189 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
190 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
192 TestUtils.updateComputeTemplateConsolidationData(
194 computeNodeTypeName, "server_ps01",
195 null, null, null, null, null, null,
196 portTypeToIdList, consolidationData);
198 portTypeToIdList = new ArrayList<>();
199 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
201 TestUtils.updateComputeTemplateConsolidationData(
203 computeNodeTypeName, "server_ps02",
204 null, null, null, null, null, null,
205 portTypeToIdList, consolidationData);
207 TestUtils.initPortConsolidationData(mainST, consolidationData);
208 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
209 null, null, null, null, null,
211 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
212 null, null, null, null, null,
215 translationContext.setConsolidationData(consolidationData);
216 List<UnifiedCompositionMode> expectedUnifiedModes =
217 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
218 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
223 public void testConsolidationResultTrueWithMoreThanTwoCompute() throws IOException {
224 ConsolidationData consolidationData = new ConsolidationData();
225 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
226 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
227 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
231 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
233 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
234 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
235 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
237 TestUtils.updateComputeTemplateConsolidationData(
239 computeNodeTypeName, "server_ps01",
240 null, null, null, null, null, null,
241 portTypeToIdList, consolidationData);
243 TestUtils.updateComputeTemplateConsolidationData(
245 computeNodeTypeName, "server_ps02",
246 null, null, null, null, null, null,
247 portTypeToIdList, consolidationData);
249 TestUtils.updateComputeTemplateConsolidationData(
251 computeNodeTypeName, "server_ps03",
252 null, null, null, null, null, null,
253 portTypeToIdList, consolidationData);
255 TestUtils.initPortConsolidationData(mainST, consolidationData);
256 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
257 null, null, null, null, null,
259 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
260 null, null, null, null, null,
263 translationContext.setConsolidationData(consolidationData);
265 List<UnifiedCompositionMode> expectedUnifiedModes =
266 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
267 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
271 public void testConsolidationResultFalseWithMoreThanTwoComputeOneIsDiff() throws IOException {
272 ConsolidationData consolidationData = new ConsolidationData();
273 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
274 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
275 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
279 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
281 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
282 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
283 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
285 TestUtils.updateComputeTemplateConsolidationData(
287 computeNodeTypeName, "server_ps01",
288 null, null, null, null, null, null,
289 portTypeToIdList, consolidationData);
291 TestUtils.updateComputeTemplateConsolidationData(
293 computeNodeTypeName, "server_ps02",
294 null, null, null, null, null, null,
295 portTypeToIdList, consolidationData);
297 portTypeToIdList = new ArrayList<>();
298 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
299 TestUtils.updateComputeTemplateConsolidationData(
301 computeNodeTypeName, "server_ps03",
302 null, null, null, null, null, null,
303 portTypeToIdList, consolidationData);
305 TestUtils.initPortConsolidationData(mainST, consolidationData);
306 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
307 null, null, null, null, null,
309 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
310 null, null, null, null, null,
313 translationContext.setConsolidationData(consolidationData);
314 List<UnifiedCompositionMode> expectedUnifiedModes =
315 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
316 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
320 public void testConsolidationResultFalseForTwoTypesOfComputeWithOneInstanceEach()
322 ConsolidationData consolidationData = new ConsolidationData();
323 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
324 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.cmaui";
325 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
326 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
329 TestUtils.initComputeNodeTypeInConsolidationData
330 (mainST, computeNodeTypeName1, consolidationData);
331 TestUtils.initComputeNodeTypeInConsolidationData
332 (mainST, computeNodeTypeName2, consolidationData);
334 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
335 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
336 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
338 TestUtils.updateComputeTemplateConsolidationData(
340 computeNodeTypeName1, "server_ps01",
341 null, null, null, null, null, null,
342 portTypeToIdList, consolidationData);
344 TestUtils.updateComputeTemplateConsolidationData(
346 computeNodeTypeName2, "server_ps02",
347 null, null, null, null, null, null,
348 portTypeToIdList, consolidationData);
350 TestUtils.initPortConsolidationData(mainST, consolidationData);
351 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
352 null, null, null, null, null,
354 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
355 null, null, null, null, null,
358 translationContext.setConsolidationData(consolidationData);
360 List<UnifiedCompositionMode> expectedUnifiedModes =
361 Arrays.asList(UnifiedCompositionMode.SingleSubstitution,
362 UnifiedCompositionMode.SingleSubstitution);
363 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
367 public void testConsolidationValidForTwoSimilarComputeAndFalseForSingleCompute()
369 ConsolidationData consolidationData = new ConsolidationData();
370 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
371 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.cmaui";
372 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
373 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_two_similar_one_diff",
377 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName1, consolidationData);
379 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName2, consolidationData);
381 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
382 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
383 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
385 TestUtils.updateComputeTemplateConsolidationData(
387 computeNodeTypeName1, "server_ps01",
388 null, null, null, null, null, null,
389 portTypeToIdList, consolidationData);
391 TestUtils.updateComputeTemplateConsolidationData(
393 computeNodeTypeName1, "server_ps02",
394 null, null, null, null, null, null,
395 portTypeToIdList, consolidationData);
396 TestUtils.updateComputeTemplateConsolidationData(
398 computeNodeTypeName2, "server_ps03",
399 null, null, null, null, null, null,
400 portTypeToIdList, consolidationData);
402 TestUtils.initPortConsolidationData(mainST, consolidationData);
403 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
404 null, null, null, null, null,
406 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
407 null, null, null, null, null,
410 translationContext.setConsolidationData(consolidationData);
411 List<UnifiedCompositionMode> expectedUnifiedModes =
412 Arrays.asList(UnifiedCompositionMode.ScalingInstances,
413 UnifiedCompositionMode.SingleSubstitution);
414 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
418 public void testValidComputeAndPortConsolidation() throws IOException {
419 ConsolidationData consolidationData = new ConsolidationData();
420 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
421 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
422 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
426 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
428 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
429 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
430 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
432 TestUtils.updateComputeTemplateConsolidationData(
434 computeNodeTypeName, "server_ps01",
435 null, null, null, null, null, null,
436 portTypeToIdList, consolidationData);
438 TestUtils.updateComputeTemplateConsolidationData(
440 computeNodeTypeName, "server_ps02",
441 null, null, null, null, null, null,
442 portTypeToIdList, consolidationData);
444 TestUtils.updateComputeTemplateConsolidationData(
446 computeNodeTypeName, "server_ps03",
447 null, null, null, null, null, null,
448 portTypeToIdList, consolidationData);
450 TestUtils.initPortConsolidationData(mainST, consolidationData);
451 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
452 null, null, null, null, null,
454 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
455 null, null, null, null, null,
458 translationContext.setConsolidationData(consolidationData);
459 List<UnifiedCompositionMode> expectedUnifiedModes =
460 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
461 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
465 public void testFalseComputeConsolidationForTwoSimilarImageNamesAndOneDiff() throws IOException {
466 ConsolidationData consolidationData = new ConsolidationData();
467 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
468 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.pd_server";
469 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
470 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_image_name_diff",
473 TestUtils.initComputeNodeTypeInConsolidationData(
474 mainST, computeNodeTypeName1, consolidationData);
475 TestUtils.initComputeNodeTypeInConsolidationData(
476 mainST, computeNodeTypeName2, consolidationData);
478 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
479 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
480 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
482 TestUtils.updateComputeTemplateConsolidationData(
484 computeNodeTypeName1, "server_ps01",
485 null, null, null, null, null, null,
486 portTypeToIdList, consolidationData);
488 TestUtils.updateComputeTemplateConsolidationData(
490 computeNodeTypeName1, "server_ps02",
491 null, null, null, null, null, null,
492 portTypeToIdList, consolidationData);
494 TestUtils.updateComputeTemplateConsolidationData(
496 computeNodeTypeName1, "server_ps03",
497 null, null, null, null, null, null,
498 portTypeToIdList, consolidationData);
500 TestUtils.updateComputeTemplateConsolidationData(
502 computeNodeTypeName2, "server_pd01",
503 null, null, null, null, null, null,
504 portTypeToIdList, consolidationData);
506 TestUtils.updateComputeTemplateConsolidationData(
508 computeNodeTypeName2, "server_pd02",
509 null, null, null, null, null, null,
510 portTypeToIdList, consolidationData);
512 TestUtils.updateComputeTemplateConsolidationData(
514 computeNodeTypeName2, "server_pd03",
515 null, null, null, null, null, null,
516 portTypeToIdList, consolidationData);
518 TestUtils.initPortConsolidationData(mainST, consolidationData);
519 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
520 null, null, null, null, null,
522 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
523 null, null, null, null, null,
526 translationContext.setConsolidationData(consolidationData);
527 List<UnifiedCompositionMode> expectedUnifiedModes =
529 .asList(UnifiedCompositionMode.CatalogInstance, UnifiedCompositionMode.CatalogInstance);
530 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
534 public void testFalseComputeConsolidationOneImageNameMissing() throws IOException {
535 ConsolidationData consolidationData = new ConsolidationData();
536 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.pd_server";
537 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
538 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_image_missing",
541 TestUtils.initComputeNodeTypeInConsolidationData(
542 mainST, computeNodeTypeName, consolidationData);
544 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
545 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
546 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
548 TestUtils.updateComputeTemplateConsolidationData(
550 computeNodeTypeName, "server_pd01",
551 null, null, null, null, null, null,
552 portTypeToIdList, consolidationData);
554 TestUtils.updateComputeTemplateConsolidationData(
556 computeNodeTypeName, "server_pd02",
557 null, null, null, null, null, null,
558 portTypeToIdList, consolidationData);
560 TestUtils.updateComputeTemplateConsolidationData(
562 computeNodeTypeName, "server_pd03",
563 null, null, null, null, null, null,
564 portTypeToIdList, consolidationData);
566 TestUtils.initPortConsolidationData(mainST, consolidationData);
567 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
568 null, null, null, null, null,
570 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
571 null, null, null, null, null,
574 translationContext.setConsolidationData(consolidationData);
575 List<UnifiedCompositionMode> expectedUnifiedModes =
576 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
577 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
581 public void testFalseComputeConsolidationForTwoSimilarFlavorNamesAndOneDiff() throws IOException {
582 ConsolidationData consolidationData = new ConsolidationData();
583 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
584 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
585 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_flavor_name_diff",
589 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
591 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
592 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
593 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
595 TestUtils.updateComputeTemplateConsolidationData(
597 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
598 portTypeToIdList, consolidationData);
600 TestUtils.updateComputeTemplateConsolidationData(
602 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
603 portTypeToIdList, consolidationData);
605 TestUtils.updateComputeTemplateConsolidationData(
607 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
608 portTypeToIdList, consolidationData);
610 TestUtils.initPortConsolidationData(mainST, consolidationData);
611 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
612 null, null, null, null, null,
614 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
615 null, null, null, null, null,
618 translationContext.setConsolidationData(consolidationData);
619 List<UnifiedCompositionMode> expectedUnifiedModes =
620 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
621 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
625 public void testFalsePortConsolidationForOneDiffFixedIpsValue() throws IOException {
626 ConsolidationData consolidationData = new ConsolidationData();
627 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
628 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
629 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_exCP_naming_diff",
633 .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 Collections.singletonList(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 Collections.singletonList(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 Collections.singletonList(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 Collections.singletonList(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 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
837 Collections.singletonList("group_id_1"), null,
840 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
841 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
842 Collections.singletonList("group_id_1"), null,
845 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
846 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
847 Collections.singletonList("group_id_1"), null,
851 translationContext.setConsolidationData(consolidationData);
852 List<UnifiedCompositionMode> expectedUnifiedModes =
853 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
854 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
858 public void testComputeRelationsSimilarBetweenComputeNodes() throws IOException {
859 ConsolidationData consolidationData = new ConsolidationData();
860 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
861 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
862 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_with_same_relations",
866 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
868 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
869 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
870 TestUtils.updateComputeTemplateConsolidationData(
872 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
873 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
874 Collections.singletonList("group_id1"),
879 portTypeToIdList = new ArrayList<>();
880 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
881 TestUtils.updateComputeTemplateConsolidationData(
883 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
884 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
885 Collections.singletonList("group_id1"),
890 portTypeToIdList = new ArrayList<>();
891 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
892 TestUtils.updateComputeTemplateConsolidationData(
894 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
895 Collections.singletonList("cmaui_volume"),
896 Collections.singletonList("cmaui_volume"), Collections.singletonList("group_id1"), null,
901 TestUtils.initPortConsolidationData(mainST, consolidationData);
902 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
903 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
904 Collections.singletonList("group_id_1"), null,
907 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
908 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
909 Collections.singletonList("group_id_1"), null,
912 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
913 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
914 Collections.singletonList("group_id_1"), null,
919 translationContext.setConsolidationData(consolidationData);
920 List<UnifiedCompositionMode> expectedUnifiedModes =
921 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
922 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
926 public void testNodesInRelationsDiffBetweenThreeComputes() throws IOException {
927 ConsolidationData consolidationData = new ConsolidationData();
928 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
929 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
930 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
934 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
936 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
937 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
938 TestUtils.updateComputeTemplateConsolidationData(
940 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
941 Collections.singletonList
942 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
943 Collections.singletonList("group_id1"), null, null,
947 portTypeToIdList = new ArrayList<>();
948 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
949 TestUtils.updateComputeTemplateConsolidationData(
951 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
952 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
953 Collections.singletonList("group_id1"),
958 portTypeToIdList = new ArrayList<>();
959 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
960 TestUtils.updateComputeTemplateConsolidationData(
962 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_2"),
963 Collections.singletonList
964 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
965 Collections.singletonList("group_id1"), null, null,
969 TestUtils.initPortConsolidationData(mainST, consolidationData);
970 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
974 translationContext.setConsolidationData(consolidationData);
975 List<UnifiedCompositionMode> expectedUnifiedModes =
976 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
977 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
981 public void testNodesOutRelationsDiffBetweenThreeComputes() throws IOException {
982 ConsolidationData consolidationData = new ConsolidationData();
983 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
984 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
985 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
989 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
991 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
992 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
993 TestUtils.updateComputeTemplateConsolidationData(
995 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
996 Collections.singletonList
997 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
998 Collections.singletonList("group_id1"), null, null,
1002 portTypeToIdList = new ArrayList<>();
1003 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1004 TestUtils.updateComputeTemplateConsolidationData(
1006 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1007 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1008 Collections.singletonList("group_id1"),
1013 portTypeToIdList = new ArrayList<>();
1014 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1015 TestUtils.updateComputeTemplateConsolidationData(
1017 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1018 Collections.singletonList("cmaui_volume_1"), Collections.singletonList("cmaui_volume"),
1019 Collections.singletonList("group_id1"),
1024 TestUtils.initPortConsolidationData(mainST, consolidationData);
1025 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1029 translationContext.setConsolidationData(consolidationData);
1030 List<UnifiedCompositionMode> expectedUnifiedModes =
1031 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1032 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1036 public void testVolumeRelationsDiffBetweenThreeComputes() throws IOException {
1037 ConsolidationData consolidationData = new ConsolidationData();
1038 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1039 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1040 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
1044 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1046 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1047 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1048 TestUtils.updateComputeTemplateConsolidationData(
1050 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1051 Collections.singletonList
1052 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1053 Collections.singletonList("group_id1"), null, null,
1057 portTypeToIdList = new ArrayList<>();
1058 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1059 TestUtils.updateComputeTemplateConsolidationData(
1061 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1062 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1063 Collections.singletonList("group_id1"),
1068 portTypeToIdList = new ArrayList<>();
1069 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1070 TestUtils.updateComputeTemplateConsolidationData(
1072 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1073 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume_1"),
1074 Collections.singletonList("group_id1"),
1079 TestUtils.initPortConsolidationData(mainST, consolidationData);
1080 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1084 translationContext.setConsolidationData(consolidationData);
1085 List<UnifiedCompositionMode> expectedUnifiedModes =
1086 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1087 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1091 public void testGroupRelationsDiffBetweenThreeComputes() throws IOException {
1092 ConsolidationData consolidationData = new ConsolidationData();
1093 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1094 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1095 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
1099 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1101 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1102 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1103 TestUtils.updateComputeTemplateConsolidationData(
1105 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1106 Collections.singletonList
1107 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1108 Collections.singletonList("group_id_1"), null,
1113 portTypeToIdList = new ArrayList<>();
1114 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1115 TestUtils.updateComputeTemplateConsolidationData(
1117 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1118 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1119 Collections.singletonList("group_id_1"),
1124 portTypeToIdList = new ArrayList<>();
1125 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1126 TestUtils.updateComputeTemplateConsolidationData(
1128 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1129 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1130 Collections.singletonList("group_id_2"),
1135 TestUtils.initPortConsolidationData(mainST, consolidationData);
1136 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1140 translationContext.setConsolidationData(consolidationData);
1141 List<UnifiedCompositionMode> expectedUnifiedModes =
1142 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1143 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1147 public void testPortConsolidationDataRelationsSimilar() throws IOException {
1148 ConsolidationData consolidationData = new ConsolidationData();
1149 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1150 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1151 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1155 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1157 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1158 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1159 TestUtils.updateComputeTemplateConsolidationData(
1161 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1162 Collections.singletonList
1163 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1164 Collections.singletonList("group_id_1"), null,
1169 portTypeToIdList = new ArrayList<>();
1170 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1171 TestUtils.updateComputeTemplateConsolidationData(
1173 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1174 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1175 Collections.singletonList("group_id_1"),
1180 portTypeToIdList = new ArrayList<>();
1181 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1182 TestUtils.updateComputeTemplateConsolidationData(
1184 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1185 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1186 Collections.singletonList("group_id_1"),
1191 TestUtils.initPortConsolidationData(mainST, consolidationData);
1192 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1193 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1194 Collections.singletonList("group_id_1"), null,
1197 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1198 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1199 Collections.singletonList("group_id_1"), null,
1202 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1203 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1204 Collections.singletonList("group_id_1"), null,
1208 translationContext.setConsolidationData(consolidationData);
1209 List<UnifiedCompositionMode> expectedUnifiedModes =
1210 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1211 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1215 public void testNodesInRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1216 ConsolidationData consolidationData = new ConsolidationData();
1217 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1218 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1219 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1223 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1225 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1226 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1227 TestUtils.updateComputeTemplateConsolidationData(
1229 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1230 Collections.singletonList
1231 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1232 Collections.singletonList("group_id_1"), null,
1237 portTypeToIdList = new ArrayList<>();
1238 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1239 TestUtils.updateComputeTemplateConsolidationData(
1241 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1242 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1243 Collections.singletonList("group_id_1"),
1248 portTypeToIdList = new ArrayList<>();
1249 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1250 TestUtils.updateComputeTemplateConsolidationData(
1252 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1253 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1254 Collections.singletonList("group_id_1"),
1259 TestUtils.initPortConsolidationData(mainST, consolidationData);
1260 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1261 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1262 Collections.singletonList("group_id_1"), null,
1265 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1266 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1267 Collections.singletonList("group_id_1"), null,
1270 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1271 Collections.singletonList("node_in_2"), Collections.singletonList("net_id_1"),
1272 Collections.singletonList("group_id_1"), null,
1276 translationContext.setConsolidationData(consolidationData);
1277 List<UnifiedCompositionMode> expectedUnifiedModes =
1278 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1279 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1283 public void testNodesOutRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1284 ConsolidationData consolidationData = new ConsolidationData();
1285 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1286 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1287 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1291 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1293 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1294 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1295 TestUtils.updateComputeTemplateConsolidationData(
1297 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1298 Collections.singletonList
1299 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1300 Collections.singletonList("group_id_1"), null,
1305 portTypeToIdList = new ArrayList<>();
1306 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1307 TestUtils.updateComputeTemplateConsolidationData(
1309 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1310 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1311 Collections.singletonList("group_id_1"),
1316 portTypeToIdList = new ArrayList<>();
1317 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1318 TestUtils.updateComputeTemplateConsolidationData(
1320 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1321 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1322 Collections.singletonList("group_id_1"),
1327 TestUtils.initPortConsolidationData(mainST, consolidationData);
1328 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1329 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1330 Collections.singletonList("group_id_1"), null,
1333 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1334 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1335 Collections.singletonList("group_id_1"), null,
1338 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1339 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_2"),
1340 Collections.singletonList("group_id_1"), null,
1344 translationContext.setConsolidationData(consolidationData);
1345 List<UnifiedCompositionMode> expectedUnifiedModes =
1346 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1347 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1351 public void testGroupIdsRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1352 ConsolidationData consolidationData = new ConsolidationData();
1353 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1354 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1355 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1359 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1361 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1362 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1363 TestUtils.updateComputeTemplateConsolidationData(
1365 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1366 Collections.singletonList
1367 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1368 Collections.singletonList("group_id_1"), null,
1373 portTypeToIdList = new ArrayList<>();
1374 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1375 TestUtils.updateComputeTemplateConsolidationData(
1377 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1378 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1379 Collections.singletonList("group_id_1"),
1384 portTypeToIdList = new ArrayList<>();
1385 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1386 TestUtils.updateComputeTemplateConsolidationData(
1388 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1389 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1390 Collections.singletonList("group_id_1"),
1395 TestUtils.initPortConsolidationData(mainST, consolidationData);
1396 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1397 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1398 Arrays.asList("group_id_1", "group_id_2"), null, null,
1400 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1401 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1402 Arrays.asList("group_id_1", "group_id_2"), null, null,
1404 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1405 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1406 Arrays.asList("group_id_1", "group_id_3"), null, null,
1409 translationContext.setConsolidationData(consolidationData);
1410 List<UnifiedCompositionMode> expectedUnifiedModes =
1411 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1412 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1416 public void testValidConsolidationForComputesWithValidGetAttr() throws IOException {
1417 ConsolidationData consolidationData = new ConsolidationData();
1418 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1419 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1420 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1424 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1426 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1427 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1429 TestUtils.updateComputeTemplateConsolidationData(
1431 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1432 Collections.singletonList
1433 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1434 Collections.singletonList("group_id_1"),
1435 Collections.singletonList("node_1"), null,
1439 portTypeToIdList = new ArrayList<>();
1440 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1441 TestUtils.updateComputeTemplateConsolidationData(
1443 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1444 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1445 Collections.singletonList("group_id_1"),
1446 Collections.singletonList("node_2"), null,
1450 portTypeToIdList = new ArrayList<>();
1451 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1452 TestUtils.updateComputeTemplateConsolidationData(
1454 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1455 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1456 Collections.singletonList("group_id_1"),
1457 Collections.singletonList("node_3"), null,
1461 TestUtils.initPortConsolidationData(mainST, consolidationData);
1462 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1463 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1464 Arrays.asList("group_id_1", "group_id_2"), null, null,
1466 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1467 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1468 Arrays.asList("group_id_1", "group_id_2"), null, null,
1470 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1471 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1472 Arrays.asList("group_id_1", "group_id_2"), null, null,
1475 translationContext.setConsolidationData(consolidationData);
1476 List<UnifiedCompositionMode> expectedUnifiedModes =
1477 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1478 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1482 public void testInvalidConsolidationForComputesWithGetAttrForEachOther() throws IOException {
1483 ConsolidationData consolidationData = new ConsolidationData();
1484 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1485 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1486 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1490 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1492 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1493 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1495 TestUtils.updateComputeTemplateConsolidationData(
1497 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1498 Collections.singletonList
1499 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1500 Collections.singletonList("group_id_1"),
1501 Collections.singletonList("server_ps02"), null,
1505 portTypeToIdList = new ArrayList<>();
1506 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1507 TestUtils.updateComputeTemplateConsolidationData(
1509 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1510 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1511 Collections.singletonList("group_id_1"),
1512 Collections.singletonList("node_1"), null,
1516 portTypeToIdList = new ArrayList<>();
1517 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1518 TestUtils.updateComputeTemplateConsolidationData(
1520 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1521 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1522 Collections.singletonList("group_id_1"),
1523 Collections.singletonList("node_2"), null,
1527 TestUtils.initPortConsolidationData(mainST, consolidationData);
1528 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1529 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1530 Arrays.asList("group_id_1", "group_id_2"), null, null,
1532 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1533 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1534 Arrays.asList("group_id_1", "group_id_2"), null, null,
1536 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1537 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1538 Arrays.asList("group_id_1", "group_id_2"), null, null,
1541 translationContext.setConsolidationData(consolidationData);
1542 List<UnifiedCompositionMode> expectedUnifiedModes =
1543 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1544 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1548 public void testValidConsolidationForPortsWithValidGetAttr() throws IOException {
1549 ConsolidationData consolidationData = new ConsolidationData();
1550 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1551 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1552 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1556 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1558 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1559 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1561 TestUtils.updateComputeTemplateConsolidationData(
1563 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1564 Collections.singletonList
1565 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1566 Collections.singletonList("group_id_1"), null,
1571 portTypeToIdList = new ArrayList<>();
1572 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1573 TestUtils.updateComputeTemplateConsolidationData(
1575 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1576 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1577 Collections.singletonList("group_id_1"),
1582 portTypeToIdList = new ArrayList<>();
1583 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1584 TestUtils.updateComputeTemplateConsolidationData(
1586 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1587 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1588 Collections.singletonList("group_id_1"),
1593 TestUtils.initPortConsolidationData(mainST, consolidationData);
1594 List<String> portNodeTemplateIds =
1595 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1596 List<List<String>> nodesConnectedInIds =
1597 Arrays.asList(Collections.singletonList("node_in_1"),
1598 Collections.singletonList("node_in_1"),
1599 Collections.singletonList("node_in_1"));
1600 List<List<String>> nodesConnectedOutIds =
1601 Arrays.asList(Collections.singletonList("node_out_1"),
1602 Collections.singletonList("node_out_1"),
1603 Collections.singletonList("node_out_1"));
1604 List<List<String>> getAttrInIds =
1605 Arrays.asList(Collections.singletonList("get_attr_1"),
1606 Collections.singletonList("get_attr_2"),
1607 Collections.singletonList("get_attr_3"));
1608 List<List<String>> groupIds =
1609 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
1610 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1611 List<List<Pair<String, GetAttrFuncData>>> getAttrOut =
1612 Arrays.asList(null, null, null);
1614 TestUtils.updateMultiplePortConsolidationDatas(
1615 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1616 getAttrInIds, getAttrOut, consolidationData);
1618 translationContext.setConsolidationData(consolidationData);
1619 List<UnifiedCompositionMode> expectedUnifiedModes =
1620 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1621 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1625 public void testInvalidConsolidationForPortsWithGetAttrInForEachOther() throws IOException {
1626 ConsolidationData consolidationData = new ConsolidationData();
1627 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1628 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1629 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation" +
1630 "/three_ports_similar_relations",
1634 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1636 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1637 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1639 TestUtils.updateComputeTemplateConsolidationData(
1641 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1642 Collections.singletonList
1643 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1644 Collections.singletonList("group_id_1"),
1645 Collections.singletonList("node_1"), null,
1649 portTypeToIdList = new ArrayList<>();
1650 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1651 TestUtils.updateComputeTemplateConsolidationData(
1653 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1654 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1655 Collections.singletonList("group_id_1"),
1656 Collections.singletonList("node_2"), null,
1660 portTypeToIdList = new ArrayList<>();
1661 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1662 TestUtils.updateComputeTemplateConsolidationData(
1664 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1665 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1666 Collections.singletonList("group_id_1"),
1667 Collections.singletonList("node_3"), null,
1671 TestUtils.initPortConsolidationData(mainST, consolidationData);
1672 List<String> portNodeTemplateIds =
1673 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1674 List<List<String>> nodesConnectedInIds =
1675 Arrays.asList(Collections.singletonList("node_in_1"),
1676 Collections.singletonList("node_in_1"),
1677 Collections.singletonList("node_in_1"));
1678 List<List<String>> nodesConnectedOutIds =
1679 Arrays.asList(Collections.singletonList("node_out_1"),
1680 Collections.singletonList("node_out_1"),
1681 Collections.singletonList("node_out_1"));
1682 List<List<String>> getAttrInIds =
1683 Arrays.asList(Collections.singletonList("get_attr_1"),
1684 Collections.singletonList("get_attr_2"),
1685 Collections.singletonList("cm01_port_1"));
1686 List<List<String>> groupIds =
1687 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
1688 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1689 List<List<Pair<String, GetAttrFuncData>>> getAttrOut =
1690 Arrays.asList(null, null, null);
1692 TestUtils.updateMultiplePortConsolidationDatas(
1693 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1694 getAttrInIds, getAttrOut, consolidationData);
1696 translationContext.setConsolidationData(consolidationData);
1697 List<UnifiedCompositionMode> expectedUnifiedModes =
1698 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1699 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1703 public void testValidConsolidationForComputesWithSamePortTypesPointingByGetAttrIn() throws
1705 ConsolidationData consolidationData = new ConsolidationData();
1706 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1707 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1708 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1712 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1714 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1715 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1717 TestUtils.updateComputeTemplateConsolidationData(
1719 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1720 Collections.singletonList
1721 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1722 Collections.singletonList("group_id_1"),
1723 Collections.singletonList("cm01_port_1"), null,
1727 portTypeToIdList = new ArrayList<>();
1728 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1729 TestUtils.updateComputeTemplateConsolidationData(
1731 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1732 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1733 Collections.singletonList("group_id_1"),
1734 Collections.singletonList("cm01_port_2"), null,
1738 portTypeToIdList = new ArrayList<>();
1739 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1740 TestUtils.updateComputeTemplateConsolidationData(
1742 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1743 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1744 Collections.singletonList("group_id_1"),
1745 Collections.singletonList("cm01_port_3"), null,
1749 TestUtils.initPortConsolidationData(mainST, consolidationData);
1750 List<String> portNodeTemplateIds =
1751 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1752 List<List<String>> nodesConnectedInIds =
1753 Arrays.asList(Collections.singletonList("node_in_1"),
1754 Collections.singletonList("node_in_1"),
1755 Collections.singletonList("node_in_1"));
1756 List<List<String>> nodesConnectedOutIds =
1757 Arrays.asList(Collections.singletonList("node_out_1"),
1758 Collections.singletonList("node_out_1"),
1759 Collections.singletonList("node_out_1"));
1760 List<List<String>> getAttrInIds =
1761 Arrays.asList(Collections.singletonList("get_attr_1"),
1762 Collections.singletonList("get_attr_2"),
1763 Collections.singletonList("get_attr_3"));
1764 List<List<String>> groupIds =
1765 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
1766 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1767 List<List<Pair<String, GetAttrFuncData>>> getAttrOut =
1768 Arrays.asList(null, null, null);
1770 TestUtils.updateMultiplePortConsolidationDatas(
1771 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1772 getAttrInIds, getAttrOut, consolidationData);
1774 translationContext.setConsolidationData(consolidationData);
1775 List<UnifiedCompositionMode> expectedUnifiedModes =
1776 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1777 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1781 public void testValidGetAttrOutFromComputes() throws IOException {
1782 ConsolidationData consolidationData = new ConsolidationData();
1783 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1784 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1785 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1789 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1791 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1792 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1793 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1794 TestUtils.updateComputeTemplateConsolidationData(
1796 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1797 Collections.singletonList
1798 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1799 Collections.singletonList("group_id_1"),
1800 Collections.singletonList("cm01_port_1"),
1801 Collections.singletonList(
1802 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1806 portTypeToIdList = new ArrayList<>();
1807 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1808 TestUtils.updateComputeTemplateConsolidationData(
1810 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1811 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1812 Collections.singletonList("group_id_1"),
1813 Collections.singletonList("cm01_port_1"),
1814 Collections.singletonList(
1815 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1819 portTypeToIdList = new ArrayList<>();
1820 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1821 TestUtils.updateComputeTemplateConsolidationData(
1823 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1824 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1825 Collections.singletonList("group_id_1"),
1826 Collections.singletonList("cm01_port_1"),
1827 Collections.singletonList(
1828 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1832 TestUtils.initPortConsolidationData(mainST, consolidationData);
1833 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1834 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1835 Arrays.asList("group_id_1", "group_id_2"),
1836 Collections.singletonList("sm01_port_2"), null,
1838 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1839 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1840 Arrays.asList("group_id_1", "group_id_2"),
1841 Collections.singletonList("sm01_port_1"), null,
1843 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1844 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1845 Arrays.asList("group_id_1", "group_id_2"),
1846 Collections.singletonList("rm01_port_1"), null,
1849 translationContext.setConsolidationData(consolidationData);
1850 List<UnifiedCompositionMode> expectedUnifiedModes =
1851 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1852 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1856 public void testInValidGetAttrOutFromComputesPortTypeDifferent() throws IOException {
1857 ConsolidationData consolidationData = new ConsolidationData();
1858 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1859 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1860 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1864 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1866 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1867 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1868 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1869 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1870 TestUtils.updateComputeTemplateConsolidationData(
1872 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1873 Collections.singletonList
1874 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1875 Collections.singletonList("group_id_1"),
1876 Collections.singletonList("cm01_port_1"),
1877 Collections.singletonList(
1878 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1882 portTypeToIdList = new ArrayList<>();
1883 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1884 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1885 TestUtils.updateComputeTemplateConsolidationData(
1887 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1888 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1889 Collections.singletonList("group_id_1"),
1890 Collections.singletonList("cm01_port_1"),
1891 Collections.singletonList(
1892 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1896 portTypeToIdList = new ArrayList<>();
1897 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1898 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1899 TestUtils.updateComputeTemplateConsolidationData(
1901 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1902 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1903 Collections.singletonList("group_id_1"),
1904 Collections.singletonList("cm01_port_1"),
1905 Collections.singletonList(
1906 new ImmutablePair<>("sm01_port_1", getAttrFuncData)),
1910 TestUtils.initPortConsolidationData(mainST, consolidationData);
1912 List<String> portNodeTemplateIds =
1913 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1",
1916 List<List<String>> nodesConnectedInIds =
1917 Arrays.asList(Collections.singletonList("node_in_1"),
1918 Collections.singletonList("node_in_1"), Collections.singletonList
1919 ("node_in_1"), Collections.singletonList("node_in_1"),
1920 Collections.singletonList("node_in_1"),
1921 Collections.singletonList("node_in_1"));
1922 List<List<String>> nodesConnectedOutIds =
1923 Arrays.asList(Collections.singletonList("node_out_1"),
1924 Collections.singletonList("node_out_1"), Collections.singletonList
1925 ("node_out_1"), Collections.singletonList("node_out_1"),
1926 Collections.singletonList("node_out_1"),
1927 Collections.singletonList("node_out_1"));
1928 List<List<String>> getAttrInIds =
1929 Arrays.asList(Collections.singletonList("get_attr_1"),
1930 Collections.singletonList("get_attr_2"), Collections.singletonList
1931 ("get_attr_3"), Collections.singletonList("get_attr_1"),
1932 Collections.singletonList("get_attr_2"),
1933 Collections.singletonList("get_attr_3"));
1934 List<List<String>> groupIds =
1935 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
1936 Arrays.asList("group_id_1",
1937 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
1938 Arrays.asList("group_id_1", "group_id_2"),
1939 Arrays.asList("group_id_1",
1940 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1941 List<List<Pair<String, GetAttrFuncData>>> getAttrOut =
1942 Arrays.asList(null, null, null, null,
1945 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
1946 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
1949 translationContext.setConsolidationData(consolidationData);
1950 List<UnifiedCompositionMode> expectedUnifiedModes =
1951 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
1952 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1956 public void testValidGetAttrOutFromPorts() throws IOException {
1957 ConsolidationData consolidationData = new ConsolidationData();
1958 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1959 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1960 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1964 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1966 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1967 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1968 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1969 TestUtils.updateComputeTemplateConsolidationData(
1971 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1972 Collections.singletonList
1973 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1974 Collections.singletonList("group_id_1"),
1975 Collections.singletonList("cm01_port_1"), null,
1979 portTypeToIdList = new ArrayList<>();
1980 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1981 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1982 TestUtils.updateComputeTemplateConsolidationData(
1984 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1985 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1986 Collections.singletonList("group_id_1"),
1987 Collections.singletonList("cm01_port_1"), null,
1991 portTypeToIdList = new ArrayList<>();
1992 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1993 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1994 TestUtils.updateComputeTemplateConsolidationData(
1996 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1997 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1998 Collections.singletonList("group_id_1"),
1999 Collections.singletonList("cm01_port_1"), null,
2003 TestUtils.initPortConsolidationData(mainST, consolidationData);
2005 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
2006 List<String> portNodeTemplateIds =
2007 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1",
2010 List<List<String>> nodesConnectedInIds =
2011 Arrays.asList(Collections.singletonList("node_in_1"),
2012 Collections.singletonList("node_in_1"), Collections.singletonList
2013 ("node_in_1"), Collections.singletonList("node_in_1"),
2014 Collections.singletonList("node_in_1"),
2015 Collections.singletonList("node_in_1"));
2016 List<List<String>> nodesConnectedOutIds =
2017 Arrays.asList(Collections.singletonList("node_out_1"),
2018 Collections.singletonList("node_out_1"), Collections.singletonList
2019 ("node_out_1"), Collections.singletonList("node_out_1"),
2020 Collections.singletonList("node_out_1"),
2021 Collections.singletonList("node_out_1"));
2022 List<List<String>> getAttrInIds =
2023 Arrays.asList(null, null, null, null, null, null);
2024 List<List<String>> groupIds =
2025 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
2026 Arrays.asList("group_id_1",
2027 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
2028 Arrays.asList("group_id_1", "group_id_2"),
2029 Arrays.asList("group_id_1",
2030 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
2031 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
2032 Collections.singletonList(
2033 new ImmutablePair<>("sm01_port_1", getAttrFuncData)),
2034 Collections.singletonList(
2035 new ImmutablePair<>("sm01_port_2", getAttrFuncData)),
2036 Collections.singletonList(
2037 new ImmutablePair<>("sm01_port_3", getAttrFuncData)),
2038 Collections.singletonList(
2039 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
2040 Collections.singletonList(
2041 new ImmutablePair<>("cm01_port_2", getAttrFuncData)),
2042 Collections.singletonList(
2043 new ImmutablePair<>("cm01_port_3", getAttrFuncData)));
2045 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
2046 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
2049 translationContext.setConsolidationData(consolidationData);
2050 List<UnifiedCompositionMode> expectedUnifiedModes =
2051 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
2052 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
2056 public void testInvalidGetAttrOutFromPorts() throws IOException {
2057 ConsolidationData consolidationData = new ConsolidationData();
2058 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2059 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2060 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
2064 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
2066 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
2067 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
2068 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
2069 TestUtils.updateComputeTemplateConsolidationData(
2071 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
2072 Collections.singletonList
2073 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
2074 Collections.singletonList("group_id_1"),
2075 Collections.singletonList("cm01_port_1"), null,
2079 portTypeToIdList = new ArrayList<>();
2080 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
2081 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
2082 TestUtils.updateComputeTemplateConsolidationData(
2084 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
2085 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
2086 Collections.singletonList("group_id_1"),
2087 Collections.singletonList("cm01_port_1"), null,
2091 portTypeToIdList = new ArrayList<>();
2092 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
2093 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
2094 TestUtils.updateComputeTemplateConsolidationData(
2096 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
2097 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
2098 Collections.singletonList("group_id_1"),
2099 Collections.singletonList("cm01_port_1"), null,
2103 TestUtils.initPortConsolidationData(mainST, consolidationData);
2105 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
2106 List<String> portNodeTemplateIds =
2107 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1",
2110 List<List<String>> nodesConnectedInIds =
2111 Arrays.asList(Collections.singletonList("node_in_1"),
2112 Collections.singletonList("node_in_1"), Collections.singletonList
2113 ("node_in_1"), Collections.singletonList("node_in_1"),
2114 Collections.singletonList("node_in_1"),
2115 Collections.singletonList("node_in_1"));
2116 List<List<String>> nodesConnectedOutIds =
2117 Arrays.asList(Collections.singletonList("node_out_1"),
2118 Collections.singletonList("node_out_1"), Collections.singletonList
2119 ("node_out_1"), Collections.singletonList("node_out_1"),
2120 Collections.singletonList("node_out_1"),
2121 Collections.singletonList("node_out_1"));
2122 List<List<String>> getAttrInIds =
2123 Arrays.asList(null, null, null, null, null, null);
2124 List<List<String>> groupIds =
2125 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
2126 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
2127 Arrays.asList("group_id_1", "group_id_2"),
2128 Arrays.asList("group_id_1",
2129 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
2130 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
2131 Collections.singletonList(
2132 new ImmutablePair<>("server_ps01", getAttrFuncData)),
2133 Collections.singletonList(
2134 new ImmutablePair<>("server_ps01", getAttrFuncData)),
2135 Collections.singletonList(
2136 new ImmutablePair<>("sm01_port_3", getAttrFuncData)),
2137 Collections.singletonList(
2138 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
2139 Collections.singletonList(
2140 new ImmutablePair<>("cm01_port_2", getAttrFuncData)),
2141 Collections.singletonList(
2142 new ImmutablePair<>("cm01_port_3", getAttrFuncData)));
2144 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
2145 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
2148 translationContext.setConsolidationData(consolidationData);
2149 List<UnifiedCompositionMode> expectedUnifiedModes =
2150 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
2151 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
2155 public void testSubstitutionConsolidationPreConditionTrue() throws IOException {
2156 translationContext = new TranslationContext();
2157 String mainSTName = "MainServiceTemplate.yaml";
2158 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2160 ConsolidationData consolidationData = new ConsolidationData();
2161 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_pcm_001"),
2163 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2164 "org.openecomp.resource.vfc.nodes.heat" +
2165 ".pcm_server", consolidationData);
2166 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2167 "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
2168 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2169 "org.openecomp.resource.vfc.nodes.heat" +
2170 ".pcm_server", consolidationData);
2171 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2172 "org.openecomp.resource.vfc.nodes" +
2173 ".heat.pcm_server", "pcm_server", consolidationData);
2175 translationContext.setConsolidationData(consolidationData);
2177 addMockServiceTemplateToContext(mainSTName, "Main");
2178 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2180 verifySubstitutionServiceTemplateConsolidation
2181 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2182 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2183 UnifiedCompositionMode.NestedSingleCompute);
2187 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeType()
2188 throws IOException {
2189 translationContext = new TranslationContext();
2190 String mainSTName = "MainServiceTemplate.yaml";
2191 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2193 ConsolidationData consolidationData = new ConsolidationData();
2194 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_pcm_001"),
2196 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2197 "org.openecomp.resource.vfc.nodes.heat" +
2198 ".pcm_server", consolidationData);
2199 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2200 "org.openecomp.resource.vfc.nodes" +
2201 ".heat.pcm_server", "server_pcm_001", consolidationData);
2202 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2203 "org.openecomp.resource.vfc.nodes.heat" +
2204 ".pcm_server", consolidationData);
2206 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_oam_001"),
2208 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2209 "org.openecomp.resource.vfc.nodes.heat" +
2210 ".oam_server", consolidationData);
2211 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2212 "org.openecomp.resource.vfc.nodes.heat.oam_server", "server_oam_001", consolidationData);
2213 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2214 "org.openecomp.resource.vfc.nodes.heat" +
2215 ".oam_server", consolidationData);
2217 translationContext.setConsolidationData(consolidationData);
2219 addMockServiceTemplateToContext(mainSTName, "Main");
2220 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2222 verifySubstitutionServiceTemplateConsolidation
2223 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2224 translationContext.getTranslatedServiceTemplates().get
2225 (nestedServiceTemplateName), UnifiedCompositionMode.SingleSubstitution);
2229 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeOfSameType()
2230 throws IOException {
2231 translationContext = new TranslationContext();
2232 String mainSTName = "MainServiceTemplate.yaml";
2233 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2235 ConsolidationData consolidationData = new ConsolidationData();
2236 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_pcm_001"),
2238 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2239 "org.openecomp.resource.vfc.nodes.heat" +
2240 ".pcm_server", consolidationData);
2241 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2242 "org.openecomp.resource.vfc.nodes.heat" +
2243 ".pcm_server", consolidationData);
2244 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2245 "org.openecomp.resource.vfc.nodes" +
2246 ".heat.pcm_server", "pcm_server_1", consolidationData);
2249 .updateNestedConsolidationData(nestedServiceTemplateName,
2250 Collections.singletonList("server_pcm_002"),
2252 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2253 "org.openecomp.resource.vfc.nodes" +
2254 ".heat.pcm_server", "pcm_server_2", consolidationData);
2256 translationContext.setConsolidationData(consolidationData);
2258 addMockServiceTemplateToContext(mainSTName, "Main");
2259 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2261 Mockito.doNothing().when(consolidationService).serviceTemplateConsolidation
2262 (translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2263 translationContext);
2264 verifySubstitutionServiceTemplateConsolidation
2265 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2266 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2267 UnifiedCompositionMode.SingleSubstitution);
2271 public void testSubstitutionConsolidationPreConditionFalseNestedInsideNested() {
2272 translationContext = new TranslationContext();
2273 String mainSTName = "MainServiceTemplate.yaml";
2274 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2276 ConsolidationData consolidationData = new ConsolidationData();
2277 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_pcm_001"),
2279 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2280 "org.openecomp.resource.vfc.nodes.heat" +
2281 ".pcm_server", consolidationData);
2282 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2283 "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
2284 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2285 "org.openecomp.resource.vfc.nodes.heat" +
2286 ".pcm_server", consolidationData);
2287 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2288 "org.openecomp.resource.vfc.nodes" +
2289 ".heat.pcm_server", "pcm_server", consolidationData);
2292 .updateNestedConsolidationData(nestedServiceTemplateName,
2293 Collections.singletonList("nested_resource"),
2296 translationContext.setConsolidationData(consolidationData);
2298 addMockServiceTemplateToContext(mainSTName, "Main");
2299 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2301 verifySubstitutionServiceTemplateConsolidation
2302 (0, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2303 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2304 UnifiedCompositionMode.SingleSubstitution);
2308 public void testConsolidationPreConditionFalseDiffSubportTypes() throws IOException {
2309 translationContext = new TranslationContext();
2310 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2311 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2312 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2315 ConsolidationData consolidationData = new ConsolidationData();
2316 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2319 .addPortSubInterface(
2320 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2321 "role_1", "interface_1", null, null, null, null, consolidationData));
2323 .addPortSubInterface(
2324 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested2.yaml", 2,
2325 "role_2", "interface_2", null, null, null, null, consolidationData));
2326 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.SingleSubstitution));
2329 private void generateComputeAndPortConsolidationData(String computeNodeTypeName,
2330 ConsolidationData consolidationData) {
2332 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
2334 updateComputeConsolidationData("server_ps01", computeNodeTypeName, "cm01_port",
2335 "cm01_port_1", consolidationData);
2337 updateComputeConsolidationData("server_ps02", computeNodeTypeName, "cm01_port",
2338 "cm01_port_2", consolidationData);
2340 TestUtils.initPortConsolidationData(mainST, consolidationData);
2341 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
2342 null, null, null, null, null,
2344 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
2345 null, null, null, null, null,
2350 public void testConsolidationPreConditionFalseDiffSubportNumber() throws IOException {
2351 translationContext = new TranslationContext();
2352 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2353 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2354 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2357 ConsolidationData consolidationData = new ConsolidationData();
2358 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2361 .addPortSubInterface(
2362 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2363 "role_1", "interface_1", null, null, null, null, consolidationData));
2365 .addPortSubInterface(
2366 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2367 "role_2", "interface_2", null, null, null, null, consolidationData));
2369 .addPortSubInterface(
2370 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2371 "role_3", "interface_3", null, null, null, null, consolidationData));
2373 testConsolidation(1, toscaServiceModel,
2374 consolidationData, Collections.singletonList(UnifiedCompositionMode.SingleSubstitution));
2378 public void testConsolidationRuleFalseDifferentCountInResourceGroup() throws IOException {
2379 translationContext = new TranslationContext();
2380 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2381 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2382 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2385 ConsolidationData consolidationData = new ConsolidationData();
2386 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2389 .addPortSubInterface(
2390 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2391 "role_1", "interface_1", null, null, null, null, consolidationData));
2393 .addPortSubInterface(
2394 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 3,
2395 "role_1", "interface_2", null, null, null, null, consolidationData));
2397 testConsolidation(1, toscaServiceModel,
2398 consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2402 public void testConsolidationRuleFalseDifferentNodesConnectedInToResourceGroup()
2403 throws IOException {
2404 translationContext = new TranslationContext();
2405 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2406 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2407 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2410 ConsolidationData consolidationData = new ConsolidationData();
2411 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2414 .addPortSubInterface(
2415 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2416 "role_1", "interface_1", Collections.singletonList("node_1"), null, null, null,
2417 consolidationData));
2419 .addPortSubInterface(
2420 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2421 "role_1", "interface_2", Collections.singletonList("node_2"), null, null, null,
2422 consolidationData));
2424 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2428 public void testConsolidationRuleFalseDifferentNodesConnectedOutFromResourceGroup()
2429 throws IOException {
2430 translationContext = new TranslationContext();
2431 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2432 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2433 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2436 ConsolidationData consolidationData = new ConsolidationData();
2437 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2440 .addPortSubInterface(
2441 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2442 "role_1", "interface_1", null, Collections.singletonList("node_1"), null, null,
2443 consolidationData));
2445 .addPortSubInterface(
2446 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2447 "role_1", "interface_2", null, Collections.singletonList("node_2"), null, null,
2448 consolidationData));
2450 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2454 public void testConsolidationRuleFalseGetAttrInBetweenSubInterfacesOfSameType()
2455 throws IOException {
2456 translationContext = new TranslationContext();
2457 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2458 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2459 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2462 ConsolidationData consolidationData = new ConsolidationData();
2463 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2466 .addPortSubInterface(
2467 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2468 "role_1", "interface_1", null, null, Collections.singletonList("in_node_1"), null,
2469 consolidationData));
2471 .addPortSubInterface(
2472 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2473 "role_1", "interface_2", null, null, Collections.singletonList("interface_1"), null,
2474 consolidationData));
2476 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2480 public void testConsolidationRuleFalseGetAttrOutBetweenSubInterfacesOfSameType()
2481 throws IOException {
2482 translationContext = new TranslationContext();
2483 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2484 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2485 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2488 ConsolidationData consolidationData = new ConsolidationData();
2490 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
2492 updateComputeConsolidationData("server_ps01", computeNodeTypeName, "cm01_port",
2493 "cm01_port_1", consolidationData);
2494 updateComputeConsolidationData("server_ps02", computeNodeTypeName, "cm01_port",
2495 "cm01_port_2", consolidationData);
2497 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
2498 Pair<String, GetAttrFuncData> getAttrOutInvalid1 =
2499 new ImmutablePair<>("interface_1", getAttrFuncData);
2500 Pair<String, GetAttrFuncData> getAttrOutInvalid2 =
2501 new ImmutablePair<>("interface_2", getAttrFuncData);
2503 TestUtils.initPortConsolidationData(mainST, consolidationData);
2504 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
2505 null, null, null, null, null,
2507 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
2508 null, null, null, null, null,
2512 .addPortSubInterface(
2513 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2514 "role_1", "interface_1", null, null, null,
2515 Collections.singletonList(getAttrOutInvalid1), consolidationData));
2517 .addPortSubInterface(
2518 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2519 "role_1", "interface_2", null, null, null,
2520 Collections.singletonList(getAttrOutInvalid2), consolidationData));
2522 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2526 public void testConsolidationRuleFalseDifferentRoleInResourceGroup() throws IOException {
2527 translationContext = new TranslationContext();
2528 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2529 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2530 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2533 ConsolidationData consolidationData = new ConsolidationData();
2534 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2537 .addPortSubInterface(
2538 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2539 "role_1", "interface_1", null, null, null, null, consolidationData));
2541 .addPortSubInterface(
2542 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2543 "role_2", "interface_2", null, null, null, null, consolidationData));
2545 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2549 public void testConsolidationRuleTrueForSubInterfaces() throws IOException {
2550 translationContext = new TranslationContext();
2551 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2552 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2553 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2556 ConsolidationData consolidationData = new ConsolidationData();
2557 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2560 .addPortSubInterface(
2561 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2562 "role_1", "interface_1", Collections.singletonList("node_1"),
2563 Collections.singletonList("node_1"), null, null, consolidationData));
2565 .addPortSubInterface(
2566 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2567 "role_1", "interface_2", Collections.singletonList("node_1"),
2568 Collections.singletonList("node_1"), null, null, consolidationData));
2570 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.ScalingInstances));
2573 private void testConsolidation(int times, ToscaServiceModel toscaServiceModel,
2574 ConsolidationData consolidationData,
2575 List<UnifiedCompositionMode> expectedUnifiedModes) {
2576 Mockito.doNothing().when(unifiedCompositionServiceMock).createUnifiedComposition(
2582 translationContext.setConsolidationData(consolidationData);
2583 verifyMainServiceTemplateConsolidation(times, expectedUnifiedModes, toscaServiceModel);
2586 private void updateComputeConsolidationData(String computeNodeTemplateId,
2587 String computeNodeTypeName,
2589 String portNodeTemplateId,
2590 ConsolidationData consolidationData) {
2591 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
2592 portTypeToIdList.add(new ImmutablePair<>(portType, portNodeTemplateId));
2594 TestUtils.updateComputeTemplateConsolidationData(
2596 computeNodeTypeName, computeNodeTemplateId,
2597 null, null, null, null, null, null,
2598 portTypeToIdList, consolidationData);
2602 private void verifyMainServiceTemplateConsolidation(int times,
2603 List<UnifiedCompositionMode> expectedUnifiedCompositionModes,
2604 ToscaServiceModel toscaServiceModel) {
2605 consolidationService
2606 .serviceTemplateConsolidation(toscaServiceModel.getServiceTemplates().get(mainST),
2607 translationContext);
2609 ServiceTemplate mainServiceTemplate = toscaServiceModel.getServiceTemplates().get(mainST);
2610 verify(unifiedCompositionServiceMock, times(times))
2611 .createUnifiedComposition(
2612 eq(mainServiceTemplate),
2614 unifiedModelListArg.capture(),
2615 unifiedCompositionModeArg.capture(),
2616 eq(translationContext));
2618 List<UnifiedCompositionMode> actualUnifiedCompositionModes =
2619 unifiedCompositionModeArg.getAllValues();
2620 Assert.assertEquals(expectedUnifiedCompositionModes, actualUnifiedCompositionModes);
2623 private void verifySubstitutionServiceTemplateConsolidation(int times,
2624 ServiceTemplate mainST,
2625 ServiceTemplate nestedST,
2626 UnifiedCompositionMode expectedMode) {
2627 consolidationService.substitutionServiceTemplateConsolidation(null, mainST,
2628 nestedST, translationContext);
2630 if (expectedMode.equals(UnifiedCompositionMode.NestedSingleCompute)) {
2631 verify(unifiedCompositionServiceMock, times(times)).
2632 createUnifiedComposition(
2635 unifiedModelListArg.capture(),
2636 unifiedCompositionModeArg.capture(),
2637 eq(translationContext));
2638 Assert.assertEquals(expectedMode, unifiedCompositionModeArg.getValue());
2643 private void addMockServiceTemplateToContext(String serviceTemplateFileName,
2644 String templateName) {
2645 ServiceTemplate serviceTemplate = new ServiceTemplate();
2646 Map<String, String> metadata = new HashMap<>();
2647 metadata.put(ToscaConstants.ST_METADATA_TEMPLATE_NAME, templateName);
2648 serviceTemplate.setMetadata(metadata);
2649 translationContext.getTranslatedServiceTemplates()
2650 .put(serviceTemplateFileName, serviceTemplate);