1 package org.openecomp.sdc.translator.services.heattotosca;
3 import org.apache.commons.lang3.tuple.ImmutablePair;
4 import org.apache.commons.lang3.tuple.Pair;
5 import org.junit.Assert;
6 import org.junit.Before;
7 import org.junit.Ignore;
9 import org.mockito.ArgumentCaptor;
10 import org.mockito.Captor;
11 import org.mockito.InjectMocks;
12 import org.mockito.Mock;
13 import org.mockito.Mockito;
14 import org.mockito.MockitoAnnotations;
15 import org.mockito.Spy;
16 import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
17 import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
18 import org.openecomp.sdc.tosca.services.ToscaConstants;
19 import org.openecomp.sdc.translator.TestUtils;
20 import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext;
21 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.UnifiedCompositionData;
22 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.UnifiedCompositionMode;
23 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.ConsolidationData;
24 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.GetAttrFuncData;
26 import java.io.IOException;
27 import java.util.ArrayList;
28 import java.util.Arrays;
29 import java.util.HashMap;
30 import java.util.List;
33 import static org.mockito.Matchers.any;
34 import static org.mockito.Matchers.eq;
35 import static org.mockito.Mockito.times;
36 import static org.mockito.Mockito.verify;
39 * Created by TALIO on 3/7/2017.
41 public class ConsolidationServiceTest {
45 private TranslationContext translationContext = new TranslationContext();
46 private static String mainST = "MainServiceTemplate.yaml";
49 private UnifiedCompositionService unifiedCompositionServiceMock;
52 private ArgumentCaptor<List<UnifiedCompositionData>> unifiedModelListArg;
54 private ArgumentCaptor<UnifiedCompositionMode> unifiedCompositionModeArg;
58 private ConsolidationService consolidationService;
61 public void setUp() throws Exception {
62 MockitoAnnotations.initMocks(this);
66 public void testConsolidationValidPreCondition() throws IOException {
68 ConsolidationData consolidationData = new ConsolidationData();
69 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
70 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel(
71 "/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/valid_pre_condition/",
75 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName,
78 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
79 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
80 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
82 TestUtils.updateComputeTemplateConsolidationData(
84 computeNodeTypeName, "server_ps01",
85 null, null, null, null, null, null,
86 portTypeToIdList, consolidationData);
88 TestUtils.updateComputeTemplateConsolidationData(
90 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
91 portTypeToIdList, consolidationData);
93 TestUtils.initPortConsolidationData(mainST, consolidationData);
94 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
95 null, null, null, null, null,
97 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
98 null, null, null, null, null,
101 translationContext.setConsolidationData(consolidationData);
102 List<UnifiedCompositionMode> expectedUnifiedModes =
103 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
105 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
109 public void testConsolidationFalsePreConditionOneComputeNode() throws IOException {
110 ConsolidationData consolidationData = new ConsolidationData();
111 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
112 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
113 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/one_compute_node/",
117 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
119 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
120 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
121 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
123 TestUtils.updateComputeTemplateConsolidationData(
125 computeNodeTypeName, "server_ps01",
126 null, null, null, null, null, null,
127 portTypeToIdList, consolidationData);
129 TestUtils.initPortConsolidationData(mainST, consolidationData);
130 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
131 null, null, null, null, null,
133 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
134 null, null, null, null, null,
137 translationContext.setConsolidationData(consolidationData);
138 List<UnifiedCompositionMode> expectedUnifiedModes =
139 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
140 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
144 public void testConsolidationFalsePreConditionMoreThanOnePortPerType() throws IOException {
145 ConsolidationData consolidationData = new ConsolidationData();
146 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
147 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
148 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/more_than_one_port/",
152 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
154 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
155 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
156 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
158 TestUtils.updateComputeTemplateConsolidationData(
160 computeNodeTypeName, "server_ps01",
161 null, null, null, null, null, null,
162 portTypeToIdList, consolidationData);
164 TestUtils.updateComputeTemplateConsolidationData(
166 computeNodeTypeName, "server_ps02",
167 null, null, null, null, null, null,
168 portTypeToIdList, consolidationData);
171 TestUtils.initPortConsolidationData(mainST, consolidationData);
173 translationContext.setConsolidationData(consolidationData);
174 List<UnifiedCompositionMode> expectedUnifiedModes =
175 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
176 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
180 public void testConsolidationFalsePreConditionDifferentPortTypesBetweenComputes()
182 ConsolidationData consolidationData = new ConsolidationData();
183 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
184 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
185 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_port_types",
189 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
191 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
192 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
194 TestUtils.updateComputeTemplateConsolidationData(
196 computeNodeTypeName, "server_ps01",
197 null, null, null, null, null, null,
198 portTypeToIdList, consolidationData);
200 portTypeToIdList = new ArrayList<>();
201 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
203 TestUtils.updateComputeTemplateConsolidationData(
205 computeNodeTypeName, "server_ps02",
206 null, null, null, null, null, null,
207 portTypeToIdList, consolidationData);
209 TestUtils.initPortConsolidationData(mainST, consolidationData);
210 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
211 null, null, null, null, null,
213 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
214 null, null, null, null, null,
217 translationContext.setConsolidationData(consolidationData);
218 List<UnifiedCompositionMode> expectedUnifiedModes =
219 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
220 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
225 public void testConsolidationResultTrueWithMoreThanTwoCompute() throws IOException {
226 ConsolidationData consolidationData = new ConsolidationData();
227 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
228 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
229 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
233 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
235 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
236 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
237 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
239 TestUtils.updateComputeTemplateConsolidationData(
241 computeNodeTypeName, "server_ps01",
242 null, null, null, null, null, null,
243 portTypeToIdList, consolidationData);
245 TestUtils.updateComputeTemplateConsolidationData(
247 computeNodeTypeName, "server_ps02",
248 null, null, null, null, null, null,
249 portTypeToIdList, consolidationData);
251 TestUtils.updateComputeTemplateConsolidationData(
253 computeNodeTypeName, "server_ps03",
254 null, null, null, null, null, null,
255 portTypeToIdList, consolidationData);
257 TestUtils.initPortConsolidationData(mainST, consolidationData);
258 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
259 null, null, null, null, null,
261 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
262 null, null, null, null, null,
265 translationContext.setConsolidationData(consolidationData);
267 List<UnifiedCompositionMode> expectedUnifiedModes =
268 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
269 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
273 public void testConsolidationResultFalseWithMoreThanTwoComputeOneIsDiff() throws IOException {
274 ConsolidationData consolidationData = new ConsolidationData();
275 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
276 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
277 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
281 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
283 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
284 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
285 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
287 TestUtils.updateComputeTemplateConsolidationData(
289 computeNodeTypeName, "server_ps01",
290 null, null, null, null, null, null,
291 portTypeToIdList, consolidationData);
293 TestUtils.updateComputeTemplateConsolidationData(
295 computeNodeTypeName, "server_ps02",
296 null, null, null, null, null, null,
297 portTypeToIdList, consolidationData);
299 portTypeToIdList = new ArrayList<>();
300 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
301 TestUtils.updateComputeTemplateConsolidationData(
303 computeNodeTypeName, "server_ps03",
304 null, null, null, null, null, null,
305 portTypeToIdList, consolidationData);
307 TestUtils.initPortConsolidationData(mainST, consolidationData);
308 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
309 null, null, null, null, null,
311 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
312 null, null, null, null, null,
315 translationContext.setConsolidationData(consolidationData);
316 List<UnifiedCompositionMode> expectedUnifiedModes =
317 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
318 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
322 public void testConsolidationResultFalseForTwoTypesOfComputeWithOneInstanceEach()
324 ConsolidationData consolidationData = new ConsolidationData();
325 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
326 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.cmaui";
327 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
328 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
331 TestUtils.initComputeNodeTypeInConsolidationData
332 (mainST, computeNodeTypeName1, consolidationData);
333 TestUtils.initComputeNodeTypeInConsolidationData
334 (mainST, computeNodeTypeName2, consolidationData);
336 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
337 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
338 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
340 TestUtils.updateComputeTemplateConsolidationData(
342 computeNodeTypeName1, "server_ps01",
343 null, null, null, null, null, null,
344 portTypeToIdList, consolidationData);
346 TestUtils.updateComputeTemplateConsolidationData(
348 computeNodeTypeName2, "server_ps02",
349 null, null, null, null, null, null,
350 portTypeToIdList, consolidationData);
352 TestUtils.initPortConsolidationData(mainST, consolidationData);
353 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
354 null, null, null, null, null,
356 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
357 null, null, null, null, null,
360 translationContext.setConsolidationData(consolidationData);
362 List<UnifiedCompositionMode> expectedUnifiedModes =
363 Arrays.asList(UnifiedCompositionMode.SingleSubstitution,
364 UnifiedCompositionMode.SingleSubstitution);
365 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
369 public void testConsolidationValidForTwoSimilarComputeAndFalseForSingleCompute()
371 ConsolidationData consolidationData = new ConsolidationData();
372 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
373 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.cmaui";
374 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
375 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_two_similar_one_diff",
379 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName1, consolidationData);
381 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName2, consolidationData);
383 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
384 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
385 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
387 TestUtils.updateComputeTemplateConsolidationData(
389 computeNodeTypeName1, "server_ps01",
390 null, null, null, null, null, null,
391 portTypeToIdList, consolidationData);
393 TestUtils.updateComputeTemplateConsolidationData(
395 computeNodeTypeName1, "server_ps02",
396 null, null, null, null, null, null,
397 portTypeToIdList, consolidationData);
398 TestUtils.updateComputeTemplateConsolidationData(
400 computeNodeTypeName2, "server_ps03",
401 null, null, null, null, null, null,
402 portTypeToIdList, consolidationData);
404 TestUtils.initPortConsolidationData(mainST, consolidationData);
405 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
406 null, null, null, null, null,
408 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
409 null, null, null, null, null,
412 translationContext.setConsolidationData(consolidationData);
413 List<UnifiedCompositionMode> expectedUnifiedModes =
415 UnifiedCompositionMode.ScalingInstances, UnifiedCompositionMode.SingleSubstitution);
416 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
420 public void testValidComputeAndPortConsolidation() throws IOException {
421 ConsolidationData consolidationData = new ConsolidationData();
422 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
423 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
424 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
428 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
430 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
431 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
432 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
434 TestUtils.updateComputeTemplateConsolidationData(
436 computeNodeTypeName, "server_ps01",
437 null, null, null, null, null, null,
438 portTypeToIdList, consolidationData);
440 TestUtils.updateComputeTemplateConsolidationData(
442 computeNodeTypeName, "server_ps02",
443 null, null, null, null, null, null,
444 portTypeToIdList, consolidationData);
446 TestUtils.updateComputeTemplateConsolidationData(
448 computeNodeTypeName, "server_ps03",
449 null, null, null, null, null, null,
450 portTypeToIdList, consolidationData);
452 TestUtils.initPortConsolidationData(mainST, consolidationData);
453 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
454 null, null, null, null, null,
456 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
457 null, null, null, null, null,
460 translationContext.setConsolidationData(consolidationData);
461 List<UnifiedCompositionMode> expectedUnifiedModes =
462 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
463 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
467 public void testFalseComputeConsolidationForTwoSimilarImageNamesAndOneDiff() throws IOException {
468 ConsolidationData consolidationData = new ConsolidationData();
469 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
470 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.pd_server";
471 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
472 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_image_name_diff",
475 TestUtils.initComputeNodeTypeInConsolidationData(
476 mainST, computeNodeTypeName1, consolidationData);
477 TestUtils.initComputeNodeTypeInConsolidationData(
478 mainST, computeNodeTypeName2, consolidationData);
480 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
481 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
482 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
484 TestUtils.updateComputeTemplateConsolidationData(
486 computeNodeTypeName1, "server_ps01",
487 null, null, null, null, null, null,
488 portTypeToIdList, consolidationData);
490 TestUtils.updateComputeTemplateConsolidationData(
492 computeNodeTypeName1, "server_ps02",
493 null, null, null, null, null, null,
494 portTypeToIdList, consolidationData);
496 TestUtils.updateComputeTemplateConsolidationData(
498 computeNodeTypeName1, "server_ps03",
499 null, null, null, null, null, null,
500 portTypeToIdList, consolidationData);
502 TestUtils.updateComputeTemplateConsolidationData(
504 computeNodeTypeName2, "server_pd01",
505 null, null, null, null, null, null,
506 portTypeToIdList, consolidationData);
508 TestUtils.updateComputeTemplateConsolidationData(
510 computeNodeTypeName2, "server_pd02",
511 null, null, null, null, null, null,
512 portTypeToIdList, consolidationData);
514 TestUtils.updateComputeTemplateConsolidationData(
516 computeNodeTypeName2, "server_pd03",
517 null, null, null, null, null, null,
518 portTypeToIdList, consolidationData);
520 TestUtils.initPortConsolidationData(mainST, consolidationData);
521 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
522 null, null, null, null, null,
524 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
525 null, null, null, null, null,
528 translationContext.setConsolidationData(consolidationData);
529 List<UnifiedCompositionMode> expectedUnifiedModes =
531 .asList(UnifiedCompositionMode.CatalogInstance, UnifiedCompositionMode.CatalogInstance);
532 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
536 public void testFalseComputeConsolidationOneImageNameMissing() throws IOException {
537 ConsolidationData consolidationData = new ConsolidationData();
538 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.pd_server";
539 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
540 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_image_missing",
543 TestUtils.initComputeNodeTypeInConsolidationData(
544 mainST, computeNodeTypeName, consolidationData);
546 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
547 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
548 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
550 TestUtils.updateComputeTemplateConsolidationData(
552 computeNodeTypeName, "server_pd01",
553 null, null, null, null, null, null,
554 portTypeToIdList, consolidationData);
556 TestUtils.updateComputeTemplateConsolidationData(
558 computeNodeTypeName, "server_pd02",
559 null, null, null, null, null, null,
560 portTypeToIdList, consolidationData);
562 TestUtils.updateComputeTemplateConsolidationData(
564 computeNodeTypeName, "server_pd03",
565 null, null, null, null, null, null,
566 portTypeToIdList, consolidationData);
568 TestUtils.initPortConsolidationData(mainST, consolidationData);
569 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
570 null, null, null, null, null,
572 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
573 null, null, null, null, null,
576 translationContext.setConsolidationData(consolidationData);
577 List<UnifiedCompositionMode> expectedUnifiedModes =
578 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
579 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
583 public void testFalseComputeConsolidationForTwoSimilarFlavorNamesAndOneDiff() throws IOException {
584 ConsolidationData consolidationData = new ConsolidationData();
585 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
586 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
587 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_flavor_name_diff",
591 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
593 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
594 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
595 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
597 TestUtils.updateComputeTemplateConsolidationData(
599 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
600 portTypeToIdList, consolidationData);
602 TestUtils.updateComputeTemplateConsolidationData(
604 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
605 portTypeToIdList, consolidationData);
607 TestUtils.updateComputeTemplateConsolidationData(
609 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
610 portTypeToIdList, consolidationData);
612 TestUtils.initPortConsolidationData(mainST, consolidationData);
613 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
614 null, null, null, null, null,
616 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
617 null, null, null, null, null,
620 translationContext.setConsolidationData(consolidationData);
621 List<UnifiedCompositionMode> expectedUnifiedModes =
622 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
623 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
627 public void testFalsePortConsolidationForOneDiffFixedIpsValue() throws IOException {
628 ConsolidationData consolidationData = new ConsolidationData();
629 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
630 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
631 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_exCP_naming_diff",
634 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
636 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
637 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
638 TestUtils.updateComputeTemplateConsolidationData(
640 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
641 portTypeToIdList, consolidationData);
643 portTypeToIdList = new ArrayList<>();
644 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
645 TestUtils.updateComputeTemplateConsolidationData(
647 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
648 portTypeToIdList, consolidationData);
650 portTypeToIdList = new ArrayList<>();
651 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
652 TestUtils.updateComputeTemplateConsolidationData(
654 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
655 portTypeToIdList, consolidationData);
657 TestUtils.initPortConsolidationData(mainST, consolidationData);
658 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
659 null, null, null, null, null,
662 translationContext.setConsolidationData(consolidationData);
663 List<UnifiedCompositionMode> expectedUnifiedModes =
664 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
665 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
669 public void testFalsePortConsolidationForOneDiffExpcNaming(){
674 public void testFalsePortConsolidationForTwoPortsWithFixedIpsAndOneWithout() throws IOException {
675 ConsolidationData consolidationData = new ConsolidationData();
676 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
677 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
678 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_fixed_ips",
682 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
684 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
685 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
686 TestUtils.updateComputeTemplateConsolidationData(
688 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
689 portTypeToIdList, consolidationData);
691 portTypeToIdList = new ArrayList<>();
692 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
693 TestUtils.updateComputeTemplateConsolidationData(
695 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
696 portTypeToIdList, consolidationData);
698 portTypeToIdList = new ArrayList<>();
699 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
700 TestUtils.updateComputeTemplateConsolidationData(
702 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
703 portTypeToIdList, consolidationData);
705 TestUtils.initPortConsolidationData(mainST, consolidationData);
706 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
707 null, null, null, null, null,
710 translationContext.setConsolidationData(consolidationData);
711 List<UnifiedCompositionMode> expectedUnifiedModes =
712 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
713 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
717 public void testFalsePortConsolidationForTwoPortsWithAddressPairsAndOneWithout()
719 ConsolidationData consolidationData = new ConsolidationData();
720 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
721 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
722 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_allowed_address_pairs",
726 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
728 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
729 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
730 TestUtils.updateComputeTemplateConsolidationData(
732 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
733 portTypeToIdList, consolidationData);
734 portTypeToIdList = new ArrayList<>();
735 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
736 TestUtils.updateComputeTemplateConsolidationData(
738 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
739 portTypeToIdList, consolidationData);
741 portTypeToIdList = new ArrayList<>();
742 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
743 TestUtils.updateComputeTemplateConsolidationData(
745 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
746 portTypeToIdList, consolidationData);
748 TestUtils.initPortConsolidationData(mainST, consolidationData);
749 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
750 null, null, null, null, null,
753 translationContext.setConsolidationData(consolidationData);
754 List<UnifiedCompositionMode> expectedUnifiedModes =
755 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
756 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
760 public void testFalsePortConsolidationForTwoPortsWithMacAddressAndOneWithout()
762 ConsolidationData consolidationData = new ConsolidationData();
763 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
764 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
765 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_mac_address",
769 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
771 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
772 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
773 TestUtils.updateComputeTemplateConsolidationData(
775 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
776 portTypeToIdList, consolidationData);
778 portTypeToIdList = new ArrayList<>();
779 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
780 TestUtils.updateComputeTemplateConsolidationData(
782 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
783 portTypeToIdList, consolidationData);
784 portTypeToIdList = new ArrayList<>();
785 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
786 TestUtils.updateComputeTemplateConsolidationData(
788 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
789 portTypeToIdList, consolidationData);
791 TestUtils.initPortConsolidationData(mainST, consolidationData);
792 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
793 null, null, null, null, null,
796 translationContext.setConsolidationData(consolidationData);
797 List<UnifiedCompositionMode> expectedUnifiedModes =
798 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
799 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
803 public void testValidPortConsolidationForPortsWithNoneOfTheCheckedProperties()
805 ConsolidationData consolidationData = new ConsolidationData();
806 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
807 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
808 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/ports_with_none_of_the_properties",
812 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
814 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
815 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
816 TestUtils.updateComputeTemplateConsolidationData(
818 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
819 portTypeToIdList, consolidationData);
821 portTypeToIdList = new ArrayList<>();
822 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
823 TestUtils.updateComputeTemplateConsolidationData(
825 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
826 portTypeToIdList, consolidationData);
828 portTypeToIdList = new ArrayList<>();
829 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
830 TestUtils.updateComputeTemplateConsolidationData(
832 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
833 portTypeToIdList, consolidationData);
835 TestUtils.initPortConsolidationData(mainST, consolidationData);
836 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
837 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
840 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
841 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
844 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
845 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
849 translationContext.setConsolidationData(consolidationData);
850 List<UnifiedCompositionMode> expectedUnifiedModes =
851 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
852 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
856 public void testComputeRelationsSimilarBetweenComputeNodes() throws IOException {
857 ConsolidationData consolidationData = new ConsolidationData();
858 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
859 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
860 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_with_same_relations",
864 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
866 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
867 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
868 TestUtils.updateComputeTemplateConsolidationData(
870 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"),
871 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
876 portTypeToIdList = new ArrayList<>();
877 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
878 TestUtils.updateComputeTemplateConsolidationData(
880 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
881 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
886 portTypeToIdList = new ArrayList<>();
887 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
888 TestUtils.updateComputeTemplateConsolidationData(
890 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
891 Arrays.asList("cmaui_volume"),
892 Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
896 TestUtils.initPortConsolidationData(mainST, consolidationData);
897 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
898 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
901 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
902 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
905 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
906 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
911 translationContext.setConsolidationData(consolidationData);
912 List<UnifiedCompositionMode> expectedUnifiedModes =
913 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
914 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
918 public void testNodesInRelationsDiffBetweenThreeComputes() throws IOException {
919 ConsolidationData consolidationData = new ConsolidationData();
920 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
921 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
922 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
926 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
928 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
929 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
930 TestUtils.updateComputeTemplateConsolidationData(
932 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
933 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
937 portTypeToIdList = new ArrayList<>();
938 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
939 TestUtils.updateComputeTemplateConsolidationData(
941 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
942 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
947 portTypeToIdList = new ArrayList<>();
948 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
949 TestUtils.updateComputeTemplateConsolidationData(
951 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_2"), Arrays.asList
952 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
956 TestUtils.initPortConsolidationData(mainST, consolidationData);
957 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
961 translationContext.setConsolidationData(consolidationData);
962 List<UnifiedCompositionMode> expectedUnifiedModes =
963 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
964 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
968 public void testNodesOutRelationsDiffBetweenThreeComputes() throws IOException {
969 ConsolidationData consolidationData = new ConsolidationData();
970 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
971 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
972 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
976 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
978 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
979 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
980 TestUtils.updateComputeTemplateConsolidationData(
982 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
983 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
987 portTypeToIdList = new ArrayList<>();
988 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
989 TestUtils.updateComputeTemplateConsolidationData(
991 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
992 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
997 portTypeToIdList = new ArrayList<>();
998 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
999 TestUtils.updateComputeTemplateConsolidationData(
1001 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1002 Arrays.asList("cmaui_volume_1"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
1007 TestUtils.initPortConsolidationData(mainST, consolidationData);
1008 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1012 translationContext.setConsolidationData(consolidationData);
1013 List<UnifiedCompositionMode> expectedUnifiedModes =
1014 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1015 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1019 public void testVolumeRelationsDiffBetweenThreeComputes() throws IOException {
1020 ConsolidationData consolidationData = new ConsolidationData();
1021 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1022 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1023 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
1027 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1029 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1030 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1031 TestUtils.updateComputeTemplateConsolidationData(
1033 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1034 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
1038 portTypeToIdList = new ArrayList<>();
1039 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1040 TestUtils.updateComputeTemplateConsolidationData(
1042 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1043 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
1048 portTypeToIdList = new ArrayList<>();
1049 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1050 TestUtils.updateComputeTemplateConsolidationData(
1052 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1053 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume_1"), Arrays.asList("group_id1"),
1058 TestUtils.initPortConsolidationData(mainST, consolidationData);
1059 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1063 translationContext.setConsolidationData(consolidationData);
1064 List<UnifiedCompositionMode> expectedUnifiedModes =
1065 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1066 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1070 public void testGroupRelationsDiffBetweenThreeComputes() throws IOException {
1071 ConsolidationData consolidationData = new ConsolidationData();
1072 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1073 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1074 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
1078 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1080 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1081 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1082 TestUtils.updateComputeTemplateConsolidationData(
1084 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1085 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1090 portTypeToIdList = new ArrayList<>();
1091 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1092 TestUtils.updateComputeTemplateConsolidationData(
1094 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1095 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1100 portTypeToIdList = new ArrayList<>();
1101 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1102 TestUtils.updateComputeTemplateConsolidationData(
1104 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1105 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_2"),
1110 TestUtils.initPortConsolidationData(mainST, consolidationData);
1111 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1115 translationContext.setConsolidationData(consolidationData);
1116 List<UnifiedCompositionMode> expectedUnifiedModes =
1117 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1118 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1122 public void testPortConsolidationDataRelationsSimilar() throws IOException {
1123 ConsolidationData consolidationData = new ConsolidationData();
1124 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1125 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1126 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1130 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1132 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1133 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1134 TestUtils.updateComputeTemplateConsolidationData(
1136 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1137 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1142 portTypeToIdList = new ArrayList<>();
1143 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1144 TestUtils.updateComputeTemplateConsolidationData(
1146 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1147 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1152 portTypeToIdList = new ArrayList<>();
1153 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1154 TestUtils.updateComputeTemplateConsolidationData(
1156 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1157 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1162 TestUtils.initPortConsolidationData(mainST, consolidationData);
1163 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1164 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1167 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1168 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1171 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1172 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1176 translationContext.setConsolidationData(consolidationData);
1177 List<UnifiedCompositionMode> expectedUnifiedModes =
1178 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1179 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1183 public void testNodesInRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1184 ConsolidationData consolidationData = new ConsolidationData();
1185 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1186 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1187 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1191 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1193 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1194 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1195 TestUtils.updateComputeTemplateConsolidationData(
1197 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1198 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1203 portTypeToIdList = new ArrayList<>();
1204 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1205 TestUtils.updateComputeTemplateConsolidationData(
1207 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1208 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1213 portTypeToIdList = new ArrayList<>();
1214 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1215 TestUtils.updateComputeTemplateConsolidationData(
1217 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1218 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1223 TestUtils.initPortConsolidationData(mainST, consolidationData);
1224 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1225 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1228 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1229 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1232 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1233 Arrays.asList("node_in_2"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1237 translationContext.setConsolidationData(consolidationData);
1238 List<UnifiedCompositionMode> expectedUnifiedModes =
1239 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1240 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1244 public void testNodesOutRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1245 ConsolidationData consolidationData = new ConsolidationData();
1246 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1247 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1248 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1252 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1254 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1255 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1256 TestUtils.updateComputeTemplateConsolidationData(
1258 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1259 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1264 portTypeToIdList = new ArrayList<>();
1265 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1266 TestUtils.updateComputeTemplateConsolidationData(
1268 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1269 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1274 portTypeToIdList = new ArrayList<>();
1275 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1276 TestUtils.updateComputeTemplateConsolidationData(
1278 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1279 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1284 TestUtils.initPortConsolidationData(mainST, consolidationData);
1285 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1286 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1289 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1290 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null,
1293 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1294 Arrays.asList("node_in_1"), Arrays.asList("net_id_2"), Arrays.asList("group_id_1"), null,
1298 translationContext.setConsolidationData(consolidationData);
1299 List<UnifiedCompositionMode> expectedUnifiedModes =
1300 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1301 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1305 public void testGroupIdsRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1306 ConsolidationData consolidationData = new ConsolidationData();
1307 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1308 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1309 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1313 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1315 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1316 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1317 TestUtils.updateComputeTemplateConsolidationData(
1319 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1320 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1325 portTypeToIdList = new ArrayList<>();
1326 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1327 TestUtils.updateComputeTemplateConsolidationData(
1329 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1330 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1335 portTypeToIdList = new ArrayList<>();
1336 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1337 TestUtils.updateComputeTemplateConsolidationData(
1339 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1340 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1345 TestUtils.initPortConsolidationData(mainST, consolidationData);
1346 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1347 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1348 Arrays.asList("group_id_1", "group_id_2"), null, null,
1350 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1351 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1352 Arrays.asList("group_id_1", "group_id_2"), null, null,
1354 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1355 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1356 Arrays.asList("group_id_1", "group_id_3"), null, null,
1359 translationContext.setConsolidationData(consolidationData);
1360 List<UnifiedCompositionMode> expectedUnifiedModes =
1361 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1362 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1366 public void testValidConsolidationForComputesWithValidGetAttr() throws IOException {
1367 ConsolidationData consolidationData = new ConsolidationData();
1368 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1369 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1370 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1374 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1376 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1377 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1379 TestUtils.updateComputeTemplateConsolidationData(
1381 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1382 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1383 Arrays.asList("node_1"), null,
1387 portTypeToIdList = new ArrayList<>();
1388 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1389 TestUtils.updateComputeTemplateConsolidationData(
1391 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1392 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1393 Arrays.asList("node_2"), null,
1397 portTypeToIdList = new ArrayList<>();
1398 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1399 TestUtils.updateComputeTemplateConsolidationData(
1401 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1402 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1403 Arrays.asList("node_3"), null,
1407 TestUtils.initPortConsolidationData(mainST, consolidationData);
1408 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1409 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1410 Arrays.asList("group_id_1", "group_id_2"), null, null,
1412 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1413 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1414 Arrays.asList("group_id_1", "group_id_2"), null, null,
1416 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1417 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1418 Arrays.asList("group_id_1", "group_id_2"), null, null,
1421 translationContext.setConsolidationData(consolidationData);
1422 List<UnifiedCompositionMode> expectedUnifiedModes =
1423 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1424 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1428 public void testInvalidConsolidationForComputesWithGetAttrForEachOther() throws IOException {
1429 ConsolidationData consolidationData = new ConsolidationData();
1430 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1431 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1432 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1436 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1438 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1439 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1441 TestUtils.updateComputeTemplateConsolidationData(
1443 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1444 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1445 Arrays.asList("server_ps02"), null,
1449 portTypeToIdList = new ArrayList<>();
1450 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1451 TestUtils.updateComputeTemplateConsolidationData(
1453 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1454 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1455 Arrays.asList("node_1"), null,
1459 portTypeToIdList = new ArrayList<>();
1460 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1461 TestUtils.updateComputeTemplateConsolidationData(
1463 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1464 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1465 Arrays.asList("node_2"), null,
1469 TestUtils.initPortConsolidationData(mainST, consolidationData);
1470 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1471 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1472 Arrays.asList("group_id_1", "group_id_2"), null, null,
1474 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1475 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1476 Arrays.asList("group_id_1", "group_id_2"), null, null,
1478 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1479 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1480 Arrays.asList("group_id_1", "group_id_2"), null, null,
1483 translationContext.setConsolidationData(consolidationData);
1484 List<UnifiedCompositionMode> expectedUnifiedModes =
1485 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1486 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1490 public void testValidConsolidationForPortsWithValidGetAttr() throws IOException {
1491 ConsolidationData consolidationData = new ConsolidationData();
1492 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1493 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1494 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1498 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1500 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1501 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1503 TestUtils.updateComputeTemplateConsolidationData(
1505 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1506 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null,
1511 portTypeToIdList = new ArrayList<>();
1512 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1513 TestUtils.updateComputeTemplateConsolidationData(
1515 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1516 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1521 portTypeToIdList = new ArrayList<>();
1522 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1523 TestUtils.updateComputeTemplateConsolidationData(
1525 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1526 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1531 TestUtils.initPortConsolidationData(mainST, consolidationData);
1532 List<String> portNodeTemplateIds =
1533 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1534 List<List<String>> nodesConnectedInIds =
1535 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1536 Arrays.asList("node_in_1"));
1537 List<List<String>> nodesConnectedOutIds =
1538 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1539 Arrays.asList("node_out_1"));
1540 List<List<String>> getAttrInIds =
1541 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"),
1542 Arrays.asList("get_attr_3"));
1543 List<List<String>> groupIds =
1544 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1545 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1546 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null);
1548 TestUtils.updateMultiplePortConsolidationDatas(
1549 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1550 getAttrInIds, getAttrOut, consolidationData);
1552 translationContext.setConsolidationData(consolidationData);
1553 List<UnifiedCompositionMode> expectedUnifiedModes =
1554 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1555 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1559 public void testInvalidConsolidationForPortsWithGetAttrInForEachOther() throws IOException {
1560 ConsolidationData consolidationData = new ConsolidationData();
1561 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1562 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1563 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation" +
1564 "/three_ports_similar_relations",
1568 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1570 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1571 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1573 TestUtils.updateComputeTemplateConsolidationData(
1575 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1576 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1577 Arrays.asList("node_1"), null,
1581 portTypeToIdList = new ArrayList<>();
1582 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1583 TestUtils.updateComputeTemplateConsolidationData(
1585 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1586 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1587 Arrays.asList("node_2"), null,
1591 portTypeToIdList = new ArrayList<>();
1592 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1593 TestUtils.updateComputeTemplateConsolidationData(
1595 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1596 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1597 Arrays.asList("node_3"), null,
1601 TestUtils.initPortConsolidationData(mainST, consolidationData);
1602 List<String> portNodeTemplateIds =
1603 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1604 List<List<String>> nodesConnectedInIds =
1605 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1606 Arrays.asList("node_in_1"));
1607 List<List<String>> nodesConnectedOutIds =
1608 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1609 Arrays.asList("node_out_1"));
1610 List<List<String>> getAttrInIds =
1611 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"),
1612 Arrays.asList("cm01_port_1"));
1613 List<List<String>> groupIds =
1614 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1615 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1616 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null);
1618 TestUtils.updateMultiplePortConsolidationDatas(
1619 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1620 getAttrInIds, getAttrOut, consolidationData);
1622 translationContext.setConsolidationData(consolidationData);
1623 List<UnifiedCompositionMode> expectedUnifiedModes =
1624 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1625 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1629 public void testValidConsolidationForComputesWithSamePortTypesPointingByGetAttrIn() throws
1631 ConsolidationData consolidationData = new ConsolidationData();
1632 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1633 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1634 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1638 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1640 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1641 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1643 TestUtils.updateComputeTemplateConsolidationData(
1645 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1646 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1647 Arrays.asList("cm01_port_1"), null,
1651 portTypeToIdList = new ArrayList<>();
1652 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1653 TestUtils.updateComputeTemplateConsolidationData(
1655 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1656 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1657 Arrays.asList("cm01_port_2"), null,
1661 portTypeToIdList = new ArrayList<>();
1662 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1663 TestUtils.updateComputeTemplateConsolidationData(
1665 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1666 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1667 Arrays.asList("cm01_port_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(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1676 Arrays.asList("node_in_1"));
1677 List<List<String>> nodesConnectedOutIds =
1678 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1679 Arrays.asList("node_out_1"));
1680 List<List<String>> getAttrInIds =
1681 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"),
1682 Arrays.asList("get_attr_3"));
1683 List<List<String>> groupIds =
1684 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1685 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1686 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null);
1688 TestUtils.updateMultiplePortConsolidationDatas(
1689 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1690 getAttrInIds, getAttrOut, consolidationData);
1692 translationContext.setConsolidationData(consolidationData);
1693 List<UnifiedCompositionMode> expectedUnifiedModes =
1694 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1695 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1699 public void testValidGetAttrOutFromComputes() throws IOException {
1700 ConsolidationData consolidationData = new ConsolidationData();
1701 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1702 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1703 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1707 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1709 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1710 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1711 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1712 TestUtils.updateComputeTemplateConsolidationData(
1714 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1715 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1716 Arrays.asList("cm01_port_1"),
1717 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1721 portTypeToIdList = new ArrayList<>();
1722 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1723 TestUtils.updateComputeTemplateConsolidationData(
1725 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1726 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1727 Arrays.asList("cm01_port_1"),
1728 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1732 portTypeToIdList = new ArrayList<>();
1733 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1734 TestUtils.updateComputeTemplateConsolidationData(
1736 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1737 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1738 Arrays.asList("cm01_port_1"),
1739 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1743 TestUtils.initPortConsolidationData(mainST, consolidationData);
1744 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1745 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1746 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("sm01_port_2"), null,
1748 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1749 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1750 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("sm01_port_1"), null,
1752 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1753 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1754 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("rm01_port_1"), null,
1757 translationContext.setConsolidationData(consolidationData);
1758 List<UnifiedCompositionMode> expectedUnifiedModes =
1759 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1760 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1764 public void testInValidGetAttrOutFromComputesPortTypeDifferent() throws IOException {
1765 ConsolidationData consolidationData = new ConsolidationData();
1766 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1767 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1768 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1772 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1774 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1775 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1776 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1777 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1778 TestUtils.updateComputeTemplateConsolidationData(
1780 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1781 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1782 Arrays.asList("cm01_port_1"),
1783 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1787 portTypeToIdList = new ArrayList<>();
1788 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1789 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1790 TestUtils.updateComputeTemplateConsolidationData(
1792 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1793 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1794 Arrays.asList("cm01_port_1"),
1795 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1799 portTypeToIdList = new ArrayList<>();
1800 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1801 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1802 TestUtils.updateComputeTemplateConsolidationData(
1804 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1805 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1806 Arrays.asList("cm01_port_1"),
1807 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_1", getAttrFuncData)),
1811 TestUtils.initPortConsolidationData(mainST, consolidationData);
1813 List<String> portNodeTemplateIds =
1814 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1", "sm01_port_2",
1816 List<List<String>> nodesConnectedInIds =
1817 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList
1818 ("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1819 Arrays.asList("node_in_1"));
1820 List<List<String>> nodesConnectedOutIds =
1821 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList
1822 ("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1823 Arrays.asList("node_out_1"));
1824 List<List<String>> getAttrInIds =
1825 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"), Arrays.asList
1826 ("get_attr_3"), Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"),
1827 Arrays.asList("get_attr_3"));
1828 List<List<String>> groupIds =
1829 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1830 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
1831 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1832 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1833 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null, null,
1836 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
1837 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
1840 translationContext.setConsolidationData(consolidationData);
1841 List<UnifiedCompositionMode> expectedUnifiedModes =
1842 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
1843 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1847 public void testValidGetAttrOutFromPorts() throws IOException {
1848 ConsolidationData consolidationData = new ConsolidationData();
1849 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1850 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1851 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1855 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1857 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1858 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1859 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1860 TestUtils.updateComputeTemplateConsolidationData(
1862 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1863 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1864 Arrays.asList("cm01_port_1"), null,
1868 portTypeToIdList = new ArrayList<>();
1869 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1870 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1871 TestUtils.updateComputeTemplateConsolidationData(
1873 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1874 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1875 Arrays.asList("cm01_port_1"), null,
1879 portTypeToIdList = new ArrayList<>();
1880 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1881 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1882 TestUtils.updateComputeTemplateConsolidationData(
1884 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1885 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1886 Arrays.asList("cm01_port_1"), null,
1890 TestUtils.initPortConsolidationData(mainST, consolidationData);
1892 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
1893 List<String> portNodeTemplateIds =
1894 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1", "sm01_port_2",
1896 List<List<String>> nodesConnectedInIds =
1897 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList
1898 ("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1899 Arrays.asList("node_in_1"));
1900 List<List<String>> nodesConnectedOutIds =
1901 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList
1902 ("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1903 Arrays.asList("node_out_1"));
1904 List<List<String>> getAttrInIds =
1905 Arrays.asList(null, null, null, null, null, null);
1906 List<List<String>> groupIds =
1907 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1908 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
1909 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1910 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1911 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
1912 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_1", getAttrFuncData)),
1913 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_2", getAttrFuncData)),
1914 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_3", getAttrFuncData)),
1915 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1916 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_2", getAttrFuncData)),
1917 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_3", getAttrFuncData)));
1919 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
1920 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
1923 translationContext.setConsolidationData(consolidationData);
1924 List<UnifiedCompositionMode> expectedUnifiedModes =
1925 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1926 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1930 public void testInvalidGetAttrOutFromPorts() throws IOException {
1931 ConsolidationData consolidationData = new ConsolidationData();
1932 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1933 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1934 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1938 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1940 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1941 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1942 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1943 TestUtils.updateComputeTemplateConsolidationData(
1945 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1946 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1947 Arrays.asList("cm01_port_1"), null,
1951 portTypeToIdList = new ArrayList<>();
1952 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1953 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1954 TestUtils.updateComputeTemplateConsolidationData(
1956 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1957 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1958 Arrays.asList("cm01_port_1"), null,
1962 portTypeToIdList = new ArrayList<>();
1963 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1964 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1965 TestUtils.updateComputeTemplateConsolidationData(
1967 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1968 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1969 Arrays.asList("cm01_port_1"), null,
1973 TestUtils.initPortConsolidationData(mainST, consolidationData);
1975 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
1976 List<String> portNodeTemplateIds =
1977 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1", "sm01_port_2",
1979 List<List<String>> nodesConnectedInIds =
1980 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList
1981 ("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"),
1982 Arrays.asList("node_in_1"));
1983 List<List<String>> nodesConnectedOutIds =
1984 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList
1985 ("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"),
1986 Arrays.asList("node_out_1"));
1987 List<List<String>> getAttrInIds =
1988 Arrays.asList(null, null, null, null, null, null);
1989 List<List<String>> groupIds =
1990 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1991 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
1992 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1993 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1994 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
1995 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("server_ps01", getAttrFuncData)),
1996 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("server_ps01", getAttrFuncData)),
1997 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_3", getAttrFuncData)),
1998 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1999 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_2", getAttrFuncData)),
2000 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_3", getAttrFuncData)));
2002 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
2003 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
2006 translationContext.setConsolidationData(consolidationData);
2007 List<UnifiedCompositionMode> expectedUnifiedModes =
2008 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
2009 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
2013 public void testSubstitutionConsolidationPreConditionTrue() throws IOException {
2014 translationContext = new TranslationContext();
2015 String mainSTName = "MainServiceTemplate.yaml";
2016 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2018 ConsolidationData consolidationData = new ConsolidationData();
2019 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"),
2021 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2022 "org.openecomp.resource.vfc.nodes.heat" +
2023 ".pcm_server", consolidationData);
2024 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2025 "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
2026 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2027 "org.openecomp.resource.vfc.nodes.heat" +
2028 ".pcm_server", consolidationData);
2029 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2030 "org.openecomp.resource.vfc.nodes" +
2031 ".heat.pcm_server", "pcm_server", consolidationData);
2033 translationContext.setConsolidationData(consolidationData);
2035 addMockServiceTemplateToContext(mainSTName, "Main");
2036 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2038 verifySubstitutionServiceTemplateConsolidation
2039 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2040 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2041 UnifiedCompositionMode.NestedSingleCompute);
2045 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeType()
2046 throws IOException {
2047 translationContext = new TranslationContext();
2048 String mainSTName = "MainServiceTemplate.yaml";
2049 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2051 ConsolidationData consolidationData = new ConsolidationData();
2052 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"),
2054 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2055 "org.openecomp.resource.vfc.nodes.heat" +
2056 ".pcm_server", consolidationData);
2057 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2058 "org.openecomp.resource.vfc.nodes" +
2059 ".heat.pcm_server", "server_pcm_001", consolidationData);
2060 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2061 "org.openecomp.resource.vfc.nodes.heat" +
2062 ".pcm_server", consolidationData);
2064 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_oam_001"),
2066 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2067 "org.openecomp.resource.vfc.nodes.heat" +
2068 ".oam_server", consolidationData);
2069 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2070 "org.openecomp.resource.vfc.nodes.heat.oam_server", "server_oam_001", consolidationData);
2071 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2072 "org.openecomp.resource.vfc.nodes.heat" +
2073 ".oam_server", consolidationData);
2075 translationContext.setConsolidationData(consolidationData);
2077 addMockServiceTemplateToContext(mainSTName, "Main");
2078 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2080 verifySubstitutionServiceTemplateConsolidation
2081 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2082 translationContext.getTranslatedServiceTemplates().get
2083 (nestedServiceTemplateName), UnifiedCompositionMode.SingleSubstitution);
2087 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeOfSameType()
2088 throws IOException {
2089 translationContext = new TranslationContext();
2090 String mainSTName = "MainServiceTemplate.yaml";
2091 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2093 ConsolidationData consolidationData = new ConsolidationData();
2094 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"),
2096 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2097 "org.openecomp.resource.vfc.nodes.heat" +
2098 ".pcm_server", consolidationData);
2099 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2100 "org.openecomp.resource.vfc.nodes.heat" +
2101 ".pcm_server", consolidationData);
2102 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2103 "org.openecomp.resource.vfc.nodes" +
2104 ".heat.pcm_server", "pcm_server_1", consolidationData);
2107 .updateNestedConsolidationData(nestedServiceTemplateName, Arrays.asList("server_pcm_002"),
2109 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2110 "org.openecomp.resource.vfc.nodes" +
2111 ".heat.pcm_server", "pcm_server_2", consolidationData);
2113 translationContext.setConsolidationData(consolidationData);
2115 addMockServiceTemplateToContext(mainSTName, "Main");
2116 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2118 Mockito.doNothing().when(consolidationService).serviceTemplateConsolidation
2119 (translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName), translationContext);
2120 verifySubstitutionServiceTemplateConsolidation
2121 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2122 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2123 UnifiedCompositionMode.SingleSubstitution);
2127 public void testSubstitutionConsolidationPreConditionFalseNestedInsideNested() {
2128 translationContext = new TranslationContext();
2129 String mainSTName = "MainServiceTemplate.yaml";
2130 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2132 ConsolidationData consolidationData = new ConsolidationData();
2133 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"),
2135 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2136 "org.openecomp.resource.vfc.nodes.heat" +
2137 ".pcm_server", consolidationData);
2138 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2139 "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
2140 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2141 "org.openecomp.resource.vfc.nodes.heat" +
2142 ".pcm_server", consolidationData);
2143 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2144 "org.openecomp.resource.vfc.nodes" +
2145 ".heat.pcm_server", "pcm_server", consolidationData);
2148 .updateNestedConsolidationData(nestedServiceTemplateName, Arrays.asList("nested_resource"),
2151 translationContext.setConsolidationData(consolidationData);
2153 addMockServiceTemplateToContext(mainSTName, "Main");
2154 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2156 verifySubstitutionServiceTemplateConsolidation
2157 (0, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2158 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2159 UnifiedCompositionMode.SingleSubstitution);
2163 private void verifyMainServiceTemplateConsolidation(int times,
2164 List<UnifiedCompositionMode> expectedUnifiedCompositionModes,
2165 ToscaServiceModel toscaServiceModel) {
2166 consolidationService
2167 .serviceTemplateConsolidation(toscaServiceModel.getServiceTemplates().get(mainST),
2168 translationContext);
2170 ServiceTemplate mainServiceTemplate = toscaServiceModel.getServiceTemplates().get(mainST);
2171 verify(unifiedCompositionServiceMock, times(times))
2172 .createUnifiedComposition(
2173 eq(mainServiceTemplate),
2175 unifiedModelListArg.capture(),
2176 unifiedCompositionModeArg.capture(),
2177 eq(translationContext));
2179 List<UnifiedCompositionMode> actualUnifiedCompositionModes =
2180 unifiedCompositionModeArg.getAllValues();
2181 Assert.assertEquals(expectedUnifiedCompositionModes, actualUnifiedCompositionModes);
2184 private void verifySubstitutionServiceTemplateConsolidation(int times,
2185 ServiceTemplate mainST,
2186 ServiceTemplate nestedST,
2187 UnifiedCompositionMode expectedMode) {
2188 consolidationService.substitutionServiceTemplateConsolidation(null, mainST,
2189 nestedST, translationContext);
2191 if (expectedMode.equals(UnifiedCompositionMode.NestedSingleCompute)) {
2192 verify(unifiedCompositionServiceMock, times(times)).
2193 createUnifiedComposition(
2196 unifiedModelListArg.capture(),
2197 unifiedCompositionModeArg.capture(),
2198 eq(translationContext));
2199 Assert.assertEquals(expectedMode, unifiedCompositionModeArg.getValue());
2204 private void addMockServiceTemplateToContext(String serviceTemplateFileName,
2205 String templateName) {
2206 ServiceTemplate serviceTemplate = new ServiceTemplate();
2207 Map<String, String> metadata = new HashMap<>();
2208 metadata.put(ToscaConstants.ST_METADATA_TEMPLATE_NAME, templateName);
2209 serviceTemplate.setMetadata(metadata);
2210 translationContext.getTranslatedServiceTemplates()
2211 .put(serviceTemplateFileName, serviceTemplate);