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;
9 import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
10 import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
11 import org.openecomp.sdc.tosca.services.ToscaConstants;
12 import org.openecomp.sdc.translator.TestUtils;
13 import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext;
14 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.UnifiedCompositionData;
15 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.UnifiedCompositionMode;
16 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.ConsolidationData;
17 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.GetAttrFuncData;
19 import java.io.IOException;
22 import static org.mockito.Matchers.any;
23 import static org.mockito.Matchers.eq;
24 import static org.mockito.Mockito.never;
25 import static org.mockito.Mockito.times;
26 import static org.mockito.Mockito.verify;
29 * Created by TALIO on 3/7/2017.
31 public class ConsolidationServiceTest {
34 private TranslationContext translationContext = new TranslationContext();
35 private static String mainST = "MainServiceTemplate.yaml";
38 private UnifiedCompositionService unifiedCompositionServiceMock;
41 private ArgumentCaptor<List<UnifiedCompositionData>> unifiedModelListArg;
43 private ArgumentCaptor<UnifiedCompositionMode> unifiedCompositionModeArg;
46 private ConsolidationService consolidationService;
49 public void setUp() throws Exception {
50 MockitoAnnotations.initMocks(this);
54 public void testConsolidationValidPreCondition() throws IOException {
56 ConsolidationData consolidationData = new ConsolidationData();
57 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
58 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel(
59 "/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/valid_pre_condition/", null,
62 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName,
65 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
66 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
67 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
69 TestUtils.updateComputeTemplateConsolidationData(
71 computeNodeTypeName, "server_ps01",
72 null, null, null, null, null, null,
73 portTypeToIdList, consolidationData);
75 TestUtils.updateComputeTemplateConsolidationData(
77 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
78 portTypeToIdList, consolidationData);
80 TestUtils.initPortConsolidationData(mainST, consolidationData);
81 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
82 null, null, null, null, null,
84 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
85 null, null, null, null, null,
88 translationContext.setConsolidationData(consolidationData);
89 List<UnifiedCompositionMode> expectedUnifiedModes =
90 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
92 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
96 public void testConsolidationFalsePreConditionOneComputeNode() throws IOException {
97 ConsolidationData consolidationData = new ConsolidationData();
98 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
99 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
100 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/one_compute_node/", null, null);
102 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
104 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
105 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
106 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
108 TestUtils.updateComputeTemplateConsolidationData(
110 computeNodeTypeName, "server_ps01",
111 null, null, null, null, null, null,
112 portTypeToIdList, consolidationData);
114 TestUtils.initPortConsolidationData(mainST, consolidationData);
115 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
116 null, null, null, null, null,
118 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
119 null, null, null, null, null,
122 translationContext.setConsolidationData(consolidationData);
123 List<UnifiedCompositionMode> expectedUnifiedModes =
124 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
125 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
129 public void testConsolidationFalsePreConditionMoreThanOnePortPerType() throws IOException {
130 ConsolidationData consolidationData = new ConsolidationData();
131 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
132 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
133 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/more_than_one_port/",
136 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
138 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
139 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
140 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
142 TestUtils.updateComputeTemplateConsolidationData(
144 computeNodeTypeName, "server_ps01",
145 null, null, null, null, null, null,
146 portTypeToIdList, consolidationData);
148 TestUtils.updateComputeTemplateConsolidationData(
150 computeNodeTypeName, "server_ps02",
151 null, null, null, null, null, null,
152 portTypeToIdList, consolidationData);
155 TestUtils.initPortConsolidationData(mainST, consolidationData);
157 translationContext.setConsolidationData(consolidationData);
158 List<UnifiedCompositionMode> expectedUnifiedModes =
159 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
160 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
164 public void testConsolidationFalsePreConditionDifferentPortTypesBetweenComputes()
166 ConsolidationData consolidationData = new ConsolidationData();
167 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
168 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
169 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_port_types",
172 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
174 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
175 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
177 TestUtils.updateComputeTemplateConsolidationData(
179 computeNodeTypeName, "server_ps01",
180 null, null, null, null, null, null,
181 portTypeToIdList, consolidationData);
183 portTypeToIdList = new ArrayList<>();
184 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
186 TestUtils.updateComputeTemplateConsolidationData(
188 computeNodeTypeName, "server_ps02",
189 null, null, null, null, null, null,
190 portTypeToIdList, consolidationData);
192 TestUtils.initPortConsolidationData(mainST, consolidationData);
193 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
194 null, null, null, null, null,
196 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
197 null, null, null, null, null,
200 translationContext.setConsolidationData(consolidationData);
201 List<UnifiedCompositionMode> expectedUnifiedModes =
202 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
203 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
208 public void testConsolidationResultTrueWithMoreThanTwoCompute() throws IOException {
209 ConsolidationData consolidationData = new ConsolidationData();
210 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
211 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
212 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
215 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
217 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
218 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
219 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
221 TestUtils.updateComputeTemplateConsolidationData(
223 computeNodeTypeName, "server_ps01",
224 null, null, null, null, null, null,
225 portTypeToIdList, consolidationData);
227 TestUtils.updateComputeTemplateConsolidationData(
229 computeNodeTypeName, "server_ps02",
230 null, null, null, null, null, null,
231 portTypeToIdList, consolidationData);
233 TestUtils.updateComputeTemplateConsolidationData(
235 computeNodeTypeName, "server_ps03",
236 null, null, null, null, null, null,
237 portTypeToIdList, consolidationData);
239 TestUtils.initPortConsolidationData(mainST, consolidationData);
240 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
241 null, null, null, null, null,
243 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
244 null, null, null, null, null,
247 translationContext.setConsolidationData(consolidationData);
249 List<UnifiedCompositionMode> expectedUnifiedModes =
250 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
251 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
255 public void testConsolidationResultFalseWithMoreThanTwoComputeOneIsDiff() throws IOException {
256 ConsolidationData consolidationData = new ConsolidationData();
257 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
258 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
259 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
262 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
264 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
265 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
266 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
268 TestUtils.updateComputeTemplateConsolidationData(
270 computeNodeTypeName, "server_ps01",
271 null, null, null, null, null, null,
272 portTypeToIdList, consolidationData);
274 TestUtils.updateComputeTemplateConsolidationData(
276 computeNodeTypeName, "server_ps02",
277 null, null, null, null, null, null,
278 portTypeToIdList, consolidationData);
280 portTypeToIdList = new ArrayList<>();
281 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
282 TestUtils.updateComputeTemplateConsolidationData(
284 computeNodeTypeName, "server_ps03",
285 null, null, null, null, null, null,
286 portTypeToIdList, consolidationData);
288 TestUtils.initPortConsolidationData(mainST, consolidationData);
289 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
290 null, null, null, null, null,
292 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
293 null, null, null, null, null,
296 translationContext.setConsolidationData(consolidationData);
297 List<UnifiedCompositionMode> expectedUnifiedModes =
298 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
299 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
303 public void testConsolidationResultFalseForTwoTypesOfComputeWithOneInstanceEach()
305 ConsolidationData consolidationData = new ConsolidationData();
306 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
307 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.cmaui";
308 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
309 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
312 TestUtils.initComputeNodeTypeInConsolidationData
313 (mainST, computeNodeTypeName1, consolidationData);
314 TestUtils.initComputeNodeTypeInConsolidationData
315 (mainST, computeNodeTypeName2, consolidationData);
317 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
318 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
319 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
321 TestUtils.updateComputeTemplateConsolidationData(
323 computeNodeTypeName1, "server_ps01",
324 null, null, null, null, null, null,
325 portTypeToIdList, consolidationData);
327 TestUtils.updateComputeTemplateConsolidationData(
329 computeNodeTypeName2, "server_ps02",
330 null, null, null, null, null, null,
331 portTypeToIdList, consolidationData);
333 TestUtils.initPortConsolidationData(mainST, consolidationData);
334 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
335 null, null, null, null, null,
337 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
338 null, null, null, null, null,
341 translationContext.setConsolidationData(consolidationData);
343 List<UnifiedCompositionMode> expectedUnifiedModes =
344 Arrays.asList(UnifiedCompositionMode.SingleSubstitution, UnifiedCompositionMode.SingleSubstitution);
345 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
349 public void testConsolidationValidForTwoSimilarComputeAndFalseForSingleCompute() throws IOException {
350 ConsolidationData consolidationData = new ConsolidationData();
351 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
352 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.cmaui";
353 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
354 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_two_similar_one_diff",
357 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName1, consolidationData);
358 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName2, consolidationData);
360 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
361 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
362 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
364 TestUtils.updateComputeTemplateConsolidationData(
366 computeNodeTypeName1, "server_ps01",
367 null, null, null, null, null, null,
368 portTypeToIdList, consolidationData);
370 TestUtils.updateComputeTemplateConsolidationData(
372 computeNodeTypeName1, "server_ps02",
373 null, null, null, null, null, null,
374 portTypeToIdList, consolidationData);
375 TestUtils.updateComputeTemplateConsolidationData(
377 computeNodeTypeName2, "server_ps03",
378 null, null, null, null, null, null,
379 portTypeToIdList, consolidationData);
381 TestUtils.initPortConsolidationData(mainST, consolidationData);
382 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
383 null, null, null, null, null,
385 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
386 null, null, null, null, null,
389 translationContext.setConsolidationData(consolidationData);
390 List<UnifiedCompositionMode> expectedUnifiedModes =
392 UnifiedCompositionMode.ScalingInstances, UnifiedCompositionMode.SingleSubstitution);
393 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
397 public void testValidComputeAndPortConsolidation() throws IOException {
398 ConsolidationData consolidationData = new ConsolidationData();
399 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
400 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
401 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
404 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
406 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
407 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
408 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
410 TestUtils.updateComputeTemplateConsolidationData(
412 computeNodeTypeName, "server_ps01",
413 null, null, null, null, null, null,
414 portTypeToIdList, consolidationData);
416 TestUtils.updateComputeTemplateConsolidationData(
418 computeNodeTypeName, "server_ps02",
419 null, null, null, null, null, null,
420 portTypeToIdList, consolidationData);
422 TestUtils.updateComputeTemplateConsolidationData(
424 computeNodeTypeName, "server_ps03",
425 null, null, null, null, null, null,
426 portTypeToIdList, consolidationData);
428 TestUtils.initPortConsolidationData(mainST, consolidationData);
429 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
430 null, null, null, null, null,
432 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
433 null, null, null, null, null,
436 translationContext.setConsolidationData(consolidationData);
437 List<UnifiedCompositionMode> expectedUnifiedModes =
438 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
439 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
443 public void testFalseComputeConsolidationForTwoSimilarImageNamesAndOneDiff() throws IOException {
444 ConsolidationData consolidationData = new ConsolidationData();
445 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
446 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.pd_server";
447 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
448 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_image_name_diff",
451 TestUtils.initComputeNodeTypeInConsolidationData(
452 mainST, computeNodeTypeName1, consolidationData);
453 TestUtils.initComputeNodeTypeInConsolidationData(
454 mainST, computeNodeTypeName2, consolidationData);
456 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
457 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
458 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
460 TestUtils.updateComputeTemplateConsolidationData(
462 computeNodeTypeName1, "server_ps01",
463 null, null, null, null, null, null,
464 portTypeToIdList, consolidationData);
466 TestUtils.updateComputeTemplateConsolidationData(
468 computeNodeTypeName1, "server_ps02",
469 null, null, null, null, null, null,
470 portTypeToIdList, consolidationData);
472 TestUtils.updateComputeTemplateConsolidationData(
474 computeNodeTypeName1, "server_ps03",
475 null, null, null, null, null, null,
476 portTypeToIdList, consolidationData);
478 TestUtils.updateComputeTemplateConsolidationData(
480 computeNodeTypeName2, "server_pd01",
481 null, null, null, null, null, null,
482 portTypeToIdList, consolidationData);
484 TestUtils.updateComputeTemplateConsolidationData(
486 computeNodeTypeName2, "server_pd02",
487 null, null, null, null, null, null,
488 portTypeToIdList, consolidationData);
490 TestUtils.updateComputeTemplateConsolidationData(
492 computeNodeTypeName2, "server_pd03",
493 null, null, null, null, null, null,
494 portTypeToIdList, consolidationData);
496 TestUtils.initPortConsolidationData(mainST, consolidationData);
497 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
498 null, null, null, null, null,
500 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
501 null, null, null, null, null,
504 translationContext.setConsolidationData(consolidationData);
505 List<UnifiedCompositionMode> expectedUnifiedModes =
506 Arrays.asList(UnifiedCompositionMode.CatalogInstance, UnifiedCompositionMode.CatalogInstance);
507 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
511 public void testFalseComputeConsolidationOneImageNameMissing() throws IOException {
512 ConsolidationData consolidationData = new ConsolidationData();
513 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.pd_server";
514 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
515 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_image_missing",
518 TestUtils.initComputeNodeTypeInConsolidationData(
519 mainST, computeNodeTypeName, consolidationData);
521 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
522 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
523 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
525 TestUtils.updateComputeTemplateConsolidationData(
527 computeNodeTypeName, "server_pd01",
528 null, null, null, null, null, null,
529 portTypeToIdList, consolidationData);
531 TestUtils.updateComputeTemplateConsolidationData(
533 computeNodeTypeName, "server_pd02",
534 null, null, null, null, null, null,
535 portTypeToIdList, consolidationData);
537 TestUtils.updateComputeTemplateConsolidationData(
539 computeNodeTypeName, "server_pd03",
540 null, null, null, null, null, null,
541 portTypeToIdList, consolidationData);
543 TestUtils.initPortConsolidationData(mainST, consolidationData);
544 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
545 null, null, null, null, null,
547 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
548 null, null, null, null, null,
551 translationContext.setConsolidationData(consolidationData);
552 List<UnifiedCompositionMode> expectedUnifiedModes =
553 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
554 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
558 public void testFalseComputeConsolidationForTwoSimilarFlavorNamesAndOneDiff() throws IOException {
559 ConsolidationData consolidationData = new ConsolidationData();
560 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
561 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
562 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_flavor_name_diff",
565 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
567 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
568 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
569 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
571 TestUtils.updateComputeTemplateConsolidationData(
573 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
574 portTypeToIdList, consolidationData);
576 TestUtils.updateComputeTemplateConsolidationData(
578 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
579 portTypeToIdList, consolidationData);
581 TestUtils.updateComputeTemplateConsolidationData(
583 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
584 portTypeToIdList, consolidationData);
586 TestUtils.initPortConsolidationData(mainST, consolidationData);
587 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
588 null, null, null, null, null,
590 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
591 null, null, null, null, null,
594 translationContext.setConsolidationData(consolidationData);
595 List<UnifiedCompositionMode> expectedUnifiedModes =
596 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
597 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
601 public void testFalsePortConsolidationForOneDiffFixedIpsValue() throws IOException {
602 ConsolidationData consolidationData = new ConsolidationData();
603 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
604 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
605 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_exCP_naming_diff",
608 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
610 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
611 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
612 TestUtils.updateComputeTemplateConsolidationData(
614 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
615 portTypeToIdList, consolidationData);
617 portTypeToIdList = new ArrayList<>();
618 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
619 TestUtils.updateComputeTemplateConsolidationData(
621 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
622 portTypeToIdList, consolidationData);
624 portTypeToIdList = new ArrayList<>();
625 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
626 TestUtils.updateComputeTemplateConsolidationData(
628 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
629 portTypeToIdList, consolidationData);
631 TestUtils.initPortConsolidationData(mainST, consolidationData);
632 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
633 null, null, null, null, null,
636 translationContext.setConsolidationData(consolidationData);
637 List<UnifiedCompositionMode> expectedUnifiedModes =
638 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
639 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
643 public void testFalsePortConsolidationForOneDiffExpcNaming(){
648 public void testFalsePortConsolidationForTwoPortsWithFixedIpsAndOneWithout() throws IOException {
649 ConsolidationData consolidationData = new ConsolidationData();
650 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
651 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
652 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_fixed_ips",
655 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
657 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
658 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
659 TestUtils.updateComputeTemplateConsolidationData(
661 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
662 portTypeToIdList, consolidationData);
664 portTypeToIdList = new ArrayList<>();
665 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
666 TestUtils.updateComputeTemplateConsolidationData(
668 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
669 portTypeToIdList, consolidationData);
671 portTypeToIdList = new ArrayList<>();
672 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
673 TestUtils.updateComputeTemplateConsolidationData(
675 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
676 portTypeToIdList, consolidationData);
678 TestUtils.initPortConsolidationData(mainST, consolidationData);
679 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
680 null, null, null, null, null,
683 translationContext.setConsolidationData(consolidationData);
684 List<UnifiedCompositionMode> expectedUnifiedModes =
685 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
686 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
690 public void testFalsePortConsolidationForTwoPortsWithAddressPairsAndOneWithout()
692 ConsolidationData consolidationData = new ConsolidationData();
693 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
694 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
695 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_allowed_address_pairs",
698 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
700 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
701 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
702 TestUtils.updateComputeTemplateConsolidationData(
704 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
705 portTypeToIdList, consolidationData);
706 portTypeToIdList = new ArrayList<>();
707 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
708 TestUtils.updateComputeTemplateConsolidationData(
710 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
711 portTypeToIdList, consolidationData);
713 portTypeToIdList = new ArrayList<>();
714 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
715 TestUtils.updateComputeTemplateConsolidationData(
717 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
718 portTypeToIdList, consolidationData);
720 TestUtils.initPortConsolidationData(mainST, consolidationData);
721 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
722 null, null, null, null, null,
725 translationContext.setConsolidationData(consolidationData);
726 List<UnifiedCompositionMode> expectedUnifiedModes =
727 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
728 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
732 public void testFalsePortConsolidationForTwoPortsWithMacAddressAndOneWithout()
734 ConsolidationData consolidationData = new ConsolidationData();
735 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
736 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
737 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_mac_address",
740 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
742 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
743 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
744 TestUtils.updateComputeTemplateConsolidationData(
746 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
747 portTypeToIdList, consolidationData);
749 portTypeToIdList = new ArrayList<>();
750 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
751 TestUtils.updateComputeTemplateConsolidationData(
753 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
754 portTypeToIdList, consolidationData);
755 portTypeToIdList = new ArrayList<>();
756 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
757 TestUtils.updateComputeTemplateConsolidationData(
759 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
760 portTypeToIdList, consolidationData);
762 TestUtils.initPortConsolidationData(mainST, consolidationData);
763 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
764 null, null, null, null, null,
767 translationContext.setConsolidationData(consolidationData);
768 List<UnifiedCompositionMode> expectedUnifiedModes =
769 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
770 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
774 public void testValidPortConsolidationForPortsWithNoneOfTheCheckedProperties()
776 ConsolidationData consolidationData = new ConsolidationData();
777 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
778 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
779 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/ports_with_none_of_the_properties",
782 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
784 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
785 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
786 TestUtils.updateComputeTemplateConsolidationData(
788 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
789 portTypeToIdList, consolidationData);
791 portTypeToIdList = new ArrayList<>();
792 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
793 TestUtils.updateComputeTemplateConsolidationData(
795 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
796 portTypeToIdList, consolidationData);
798 portTypeToIdList = new ArrayList<>();
799 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
800 TestUtils.updateComputeTemplateConsolidationData(
802 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
803 portTypeToIdList, consolidationData);
805 TestUtils.initPortConsolidationData(mainST, consolidationData);
806 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
807 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
809 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
810 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
812 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
813 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
816 translationContext.setConsolidationData(consolidationData);
817 List<UnifiedCompositionMode> expectedUnifiedModes =
818 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
819 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
823 public void testComputeRelationsSimilarBetweenComputeNodes() throws IOException {
824 ConsolidationData consolidationData = new ConsolidationData();
825 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
826 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
827 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_with_same_relations",
830 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
832 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
833 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
834 TestUtils.updateComputeTemplateConsolidationData(
836 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"),
837 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
842 portTypeToIdList = new ArrayList<>();
843 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
844 TestUtils.updateComputeTemplateConsolidationData(
846 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
847 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
852 portTypeToIdList = new ArrayList<>();
853 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
854 TestUtils.updateComputeTemplateConsolidationData(
856 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"), Arrays.asList("cmaui_volume"),
857 Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
861 TestUtils.initPortConsolidationData(mainST, consolidationData);
862 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
863 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
865 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
866 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
868 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
869 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
873 translationContext.setConsolidationData(consolidationData);
874 List<UnifiedCompositionMode> expectedUnifiedModes =
875 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
876 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
880 public void testNodesInRelationsDiffBetweenThreeComputes() throws IOException {
881 ConsolidationData consolidationData = new ConsolidationData();
882 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
883 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
884 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
887 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
889 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
890 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
891 TestUtils.updateComputeTemplateConsolidationData(
893 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
894 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
898 portTypeToIdList = new ArrayList<>();
899 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
900 TestUtils.updateComputeTemplateConsolidationData(
902 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
903 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
908 portTypeToIdList = new ArrayList<>();
909 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
910 TestUtils.updateComputeTemplateConsolidationData(
912 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_2"), Arrays.asList
913 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
917 TestUtils.initPortConsolidationData(mainST, consolidationData);
918 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
922 translationContext.setConsolidationData(consolidationData);
923 List<UnifiedCompositionMode> expectedUnifiedModes =
924 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
925 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
929 public void testNodesOutRelationsDiffBetweenThreeComputes() throws IOException {
930 ConsolidationData consolidationData = new ConsolidationData();
931 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
932 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
933 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
936 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
938 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
939 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
940 TestUtils.updateComputeTemplateConsolidationData(
942 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
943 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
947 portTypeToIdList = new ArrayList<>();
948 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
949 TestUtils.updateComputeTemplateConsolidationData(
951 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
952 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
957 portTypeToIdList = new ArrayList<>();
958 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
959 TestUtils.updateComputeTemplateConsolidationData(
961 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
962 Arrays.asList("cmaui_volume_1"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
967 TestUtils.initPortConsolidationData(mainST, consolidationData);
968 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
972 translationContext.setConsolidationData(consolidationData);
973 List<UnifiedCompositionMode> expectedUnifiedModes =
974 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
975 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
979 public void testVolumeRelationsDiffBetweenThreeComputes() throws IOException {
980 ConsolidationData consolidationData = new ConsolidationData();
981 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
982 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
983 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
986 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
988 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
989 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
990 TestUtils.updateComputeTemplateConsolidationData(
992 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
993 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
997 portTypeToIdList = new ArrayList<>();
998 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
999 TestUtils.updateComputeTemplateConsolidationData(
1001 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1002 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
1007 portTypeToIdList = new ArrayList<>();
1008 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1009 TestUtils.updateComputeTemplateConsolidationData(
1011 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1012 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume_1"), Arrays.asList("group_id1"),
1017 TestUtils.initPortConsolidationData(mainST, consolidationData);
1018 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1022 translationContext.setConsolidationData(consolidationData);
1023 List<UnifiedCompositionMode> expectedUnifiedModes =
1024 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1025 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1029 public void testGroupRelationsDiffBetweenThreeComputes() throws IOException {
1030 ConsolidationData consolidationData = new ConsolidationData();
1031 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1032 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1033 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
1036 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1038 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1039 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1040 TestUtils.updateComputeTemplateConsolidationData(
1042 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1043 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null, null,
1047 portTypeToIdList = new ArrayList<>();
1048 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1049 TestUtils.updateComputeTemplateConsolidationData(
1051 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1052 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1057 portTypeToIdList = new ArrayList<>();
1058 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1059 TestUtils.updateComputeTemplateConsolidationData(
1061 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1062 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_2"),
1067 TestUtils.initPortConsolidationData(mainST, consolidationData);
1068 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1072 translationContext.setConsolidationData(consolidationData);
1073 List<UnifiedCompositionMode> expectedUnifiedModes =
1074 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1075 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1079 public void testPortConsolidationDataRelationsSimilar() throws IOException {
1080 ConsolidationData consolidationData = new ConsolidationData();
1081 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1082 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1083 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1086 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1088 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1089 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1090 TestUtils.updateComputeTemplateConsolidationData(
1092 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1093 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null, null,
1097 portTypeToIdList = new ArrayList<>();
1098 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1099 TestUtils.updateComputeTemplateConsolidationData(
1101 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1102 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1107 portTypeToIdList = new ArrayList<>();
1108 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1109 TestUtils.updateComputeTemplateConsolidationData(
1111 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1112 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1117 TestUtils.initPortConsolidationData(mainST, consolidationData);
1118 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1119 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
1121 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1122 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
1124 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1125 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
1128 translationContext.setConsolidationData(consolidationData);
1129 List<UnifiedCompositionMode> expectedUnifiedModes =
1130 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1131 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1135 public void testNodesInRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1136 ConsolidationData consolidationData = new ConsolidationData();
1137 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1138 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1139 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1142 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1144 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1145 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1146 TestUtils.updateComputeTemplateConsolidationData(
1148 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1149 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null, null,
1153 portTypeToIdList = new ArrayList<>();
1154 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1155 TestUtils.updateComputeTemplateConsolidationData(
1157 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1158 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1163 portTypeToIdList = new ArrayList<>();
1164 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1165 TestUtils.updateComputeTemplateConsolidationData(
1167 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1168 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1173 TestUtils.initPortConsolidationData(mainST, consolidationData);
1174 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1175 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
1177 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1178 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
1180 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1181 Arrays.asList("node_in_2"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
1184 translationContext.setConsolidationData(consolidationData);
1185 List<UnifiedCompositionMode> expectedUnifiedModes =
1186 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1187 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1191 public void testNodesOutRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1192 ConsolidationData consolidationData = new ConsolidationData();
1193 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1194 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1195 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1198 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1200 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1201 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1202 TestUtils.updateComputeTemplateConsolidationData(
1204 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1205 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null, null,
1209 portTypeToIdList = new ArrayList<>();
1210 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1211 TestUtils.updateComputeTemplateConsolidationData(
1213 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1214 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1219 portTypeToIdList = new ArrayList<>();
1220 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1221 TestUtils.updateComputeTemplateConsolidationData(
1223 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1224 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1229 TestUtils.initPortConsolidationData(mainST, consolidationData);
1230 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1231 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
1233 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1234 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
1236 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1237 Arrays.asList("node_in_1"), Arrays.asList("net_id_2"), Arrays.asList("group_id_1"), null, null,
1240 translationContext.setConsolidationData(consolidationData);
1241 List<UnifiedCompositionMode> expectedUnifiedModes =
1242 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1243 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1247 public void testGroupIdsRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1248 ConsolidationData consolidationData = new ConsolidationData();
1249 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1250 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1251 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1254 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1256 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1257 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1258 TestUtils.updateComputeTemplateConsolidationData(
1260 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1261 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null, null,
1265 portTypeToIdList = new ArrayList<>();
1266 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1267 TestUtils.updateComputeTemplateConsolidationData(
1269 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1270 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1275 portTypeToIdList = new ArrayList<>();
1276 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1277 TestUtils.updateComputeTemplateConsolidationData(
1279 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1280 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1285 TestUtils.initPortConsolidationData(mainST, consolidationData);
1286 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1287 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1288 Arrays.asList("group_id_1", "group_id_2"), null, null,
1290 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1291 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1292 Arrays.asList("group_id_1", "group_id_2"), null, null,
1294 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1295 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1296 Arrays.asList("group_id_1", "group_id_3"), null, null,
1299 translationContext.setConsolidationData(consolidationData);
1300 List<UnifiedCompositionMode> expectedUnifiedModes =
1301 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1302 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1306 public void testValidConsolidationForComputesWithValidGetAttr() throws IOException {
1307 ConsolidationData consolidationData = new ConsolidationData();
1308 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1309 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1310 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1313 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1315 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1316 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1318 TestUtils.updateComputeTemplateConsolidationData(
1320 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1321 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), Arrays.asList("node_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"),
1331 Arrays.asList("node_2"), null,
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"),
1341 Arrays.asList("node_3"), null,
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_2"), null, null,
1359 translationContext.setConsolidationData(consolidationData);
1360 List<UnifiedCompositionMode> expectedUnifiedModes =
1361 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1362 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1366 public void testInvalidConsolidationForComputesWithGetAttrForEachOther() 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",
1373 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1375 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1376 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1378 TestUtils.updateComputeTemplateConsolidationData(
1380 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1381 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), Arrays.asList("server_ps02"), null,
1385 portTypeToIdList = new ArrayList<>();
1386 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1387 TestUtils.updateComputeTemplateConsolidationData(
1389 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1390 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1391 Arrays.asList("node_1"), null,
1395 portTypeToIdList = new ArrayList<>();
1396 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1397 TestUtils.updateComputeTemplateConsolidationData(
1399 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1400 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1401 Arrays.asList("node_2"), null,
1405 TestUtils.initPortConsolidationData(mainST, consolidationData);
1406 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1407 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1408 Arrays.asList("group_id_1", "group_id_2"), null, null,
1410 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1411 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1412 Arrays.asList("group_id_1", "group_id_2"), null, null,
1414 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1415 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1416 Arrays.asList("group_id_1", "group_id_2"), null, null,
1419 translationContext.setConsolidationData(consolidationData);
1420 List<UnifiedCompositionMode> expectedUnifiedModes =
1421 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1422 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1426 public void testValidConsolidationForPortsWithValidGetAttr() throws IOException {
1427 ConsolidationData consolidationData = new ConsolidationData();
1428 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1429 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1430 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1433 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1435 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1436 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1438 TestUtils.updateComputeTemplateConsolidationData(
1440 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1441 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null, null,
1445 portTypeToIdList = new ArrayList<>();
1446 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1447 TestUtils.updateComputeTemplateConsolidationData(
1449 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1450 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1455 portTypeToIdList = new ArrayList<>();
1456 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1457 TestUtils.updateComputeTemplateConsolidationData(
1459 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1460 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1465 TestUtils.initPortConsolidationData(mainST, consolidationData);
1466 List<String> portNodeTemplateIds =
1467 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1468 List<List<String>> nodesConnectedInIds =
1469 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"));
1470 List<List<String>> nodesConnectedOutIds =
1471 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"));
1472 List<List<String>> getAttrInIds =
1473 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"), Arrays.asList("get_attr_3"));
1474 List<List<String>> groupIds =
1475 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1476 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1477 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null);
1479 TestUtils.updateMultiplePortConsolidationDatas(
1480 mainST, portNodeTemplateIds,nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1481 getAttrInIds, getAttrOut, consolidationData);
1483 translationContext.setConsolidationData(consolidationData);
1484 List<UnifiedCompositionMode> expectedUnifiedModes =
1485 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1486 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1490 public void testInvalidConsolidationForPortsWithGetAttrInForEachOther() 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" +
1495 "/three_ports_similar_relations",
1498 TestUtils.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"), Arrays.asList("node_1"), null,
1510 portTypeToIdList = new ArrayList<>();
1511 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1512 TestUtils.updateComputeTemplateConsolidationData(
1514 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1515 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1516 Arrays.asList("node_2"), null,
1520 portTypeToIdList = new ArrayList<>();
1521 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1522 TestUtils.updateComputeTemplateConsolidationData(
1524 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1525 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1526 Arrays.asList("node_3"), null,
1530 TestUtils.initPortConsolidationData(mainST, consolidationData);
1531 List<String> portNodeTemplateIds =
1532 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1533 List<List<String>> nodesConnectedInIds =
1534 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"));
1535 List<List<String>> nodesConnectedOutIds =
1536 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"));
1537 List<List<String>> getAttrInIds =
1538 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"), Arrays.asList("cm01_port_1"));
1539 List<List<String>> groupIds =
1540 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1541 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1542 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null);
1544 TestUtils.updateMultiplePortConsolidationDatas(
1545 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1546 getAttrInIds, getAttrOut, consolidationData);
1548 translationContext.setConsolidationData(consolidationData);
1549 List<UnifiedCompositionMode> expectedUnifiedModes =
1550 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1551 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1555 public void testValidConsolidationForComputesWithSamePortTypesPointingByGetAttrIn() throws
1557 ConsolidationData consolidationData = new ConsolidationData();
1558 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1559 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1560 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1563 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1565 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1566 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1568 TestUtils.updateComputeTemplateConsolidationData(
1570 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1571 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), Arrays.asList("cm01_port_1"), null,
1575 portTypeToIdList = new ArrayList<>();
1576 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1577 TestUtils.updateComputeTemplateConsolidationData(
1579 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1580 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1581 Arrays.asList("cm01_port_2"), null,
1585 portTypeToIdList = new ArrayList<>();
1586 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1587 TestUtils.updateComputeTemplateConsolidationData(
1589 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1590 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1591 Arrays.asList("cm01_port_3"), null,
1595 TestUtils.initPortConsolidationData(mainST, consolidationData);
1596 List<String> portNodeTemplateIds =
1597 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1598 List<List<String>> nodesConnectedInIds =
1599 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"));
1600 List<List<String>> nodesConnectedOutIds =
1601 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"));
1602 List<List<String>> getAttrInIds =
1603 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"), Arrays.asList("get_attr_3"));
1604 List<List<String>> groupIds =
1605 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1606 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1607 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null);
1609 TestUtils.updateMultiplePortConsolidationDatas(
1610 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1611 getAttrInIds, getAttrOut, consolidationData);
1613 translationContext.setConsolidationData(consolidationData);
1614 List<UnifiedCompositionMode> expectedUnifiedModes =
1615 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1616 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1620 public void testValidGetAttrOutFromComputes() throws IOException {
1621 ConsolidationData consolidationData = new ConsolidationData();
1622 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1623 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1624 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1627 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1629 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1630 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1631 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1632 TestUtils.updateComputeTemplateConsolidationData(
1634 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1635 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), Arrays.asList("cm01_port_1"),
1636 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1640 portTypeToIdList = new ArrayList<>();
1641 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1642 TestUtils.updateComputeTemplateConsolidationData(
1644 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1645 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1646 Arrays.asList("cm01_port_1"),
1647 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1651 portTypeToIdList = new ArrayList<>();
1652 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1653 TestUtils.updateComputeTemplateConsolidationData(
1655 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1656 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1657 Arrays.asList("cm01_port_1"),
1658 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1662 TestUtils.initPortConsolidationData(mainST, consolidationData);
1663 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1664 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1665 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("sm01_port_2"), null,
1667 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1668 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1669 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("sm01_port_1"), null,
1671 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1672 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1673 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("rm01_port_1"), null,
1676 translationContext.setConsolidationData(consolidationData);
1677 List<UnifiedCompositionMode> expectedUnifiedModes =
1678 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1679 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1683 public void testInValidGetAttrOutFromComputesPortTypeDifferent() throws IOException {
1684 ConsolidationData consolidationData = new ConsolidationData();
1685 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1686 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1687 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1690 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1692 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1693 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1694 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1695 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1696 TestUtils.updateComputeTemplateConsolidationData(
1698 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1699 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), Arrays.asList("cm01_port_1"),
1700 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1704 portTypeToIdList = new ArrayList<>();
1705 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1706 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1707 TestUtils.updateComputeTemplateConsolidationData(
1709 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1710 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1711 Arrays.asList("cm01_port_1"),
1712 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1716 portTypeToIdList = new ArrayList<>();
1717 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1718 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1719 TestUtils.updateComputeTemplateConsolidationData(
1721 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1722 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1723 Arrays.asList("cm01_port_1"),
1724 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_1", getAttrFuncData)),
1728 TestUtils.initPortConsolidationData(mainST, consolidationData);
1730 List<String> portNodeTemplateIds =
1731 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1", "sm01_port_2",
1733 List<List<String>> nodesConnectedInIds =
1734 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList
1735 ("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"));
1736 List<List<String>> nodesConnectedOutIds =
1737 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList
1738 ("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"));
1739 List<List<String>> getAttrInIds =
1740 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"), Arrays.asList
1741 ("get_attr_3"), Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"), Arrays.asList("get_attr_3"));
1742 List<List<String>> groupIds =
1743 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1744 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1745 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1746 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null, null,
1749 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
1750 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut, consolidationData);
1752 translationContext.setConsolidationData(consolidationData);
1753 List<UnifiedCompositionMode> expectedUnifiedModes =
1754 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
1755 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1759 public void testValidGetAttrOutFromPorts() throws IOException {
1760 ConsolidationData consolidationData = new ConsolidationData();
1761 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1762 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1763 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1766 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1768 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1769 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1770 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1771 TestUtils.updateComputeTemplateConsolidationData(
1773 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1774 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), Arrays.asList("cm01_port_1"), null,
1778 portTypeToIdList = new ArrayList<>();
1779 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1780 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1781 TestUtils.updateComputeTemplateConsolidationData(
1783 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1784 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1785 Arrays.asList("cm01_port_1"), null,
1789 portTypeToIdList = new ArrayList<>();
1790 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1791 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1792 TestUtils.updateComputeTemplateConsolidationData(
1794 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1795 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1796 Arrays.asList("cm01_port_1"), null,
1800 TestUtils.initPortConsolidationData(mainST, consolidationData);
1802 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
1803 List<String> portNodeTemplateIds =
1804 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1", "sm01_port_2",
1806 List<List<String>> nodesConnectedInIds =
1807 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList
1808 ("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"));
1809 List<List<String>> nodesConnectedOutIds =
1810 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList
1811 ("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"));
1812 List<List<String>> getAttrInIds =
1813 Arrays.asList(null, null, null, null, null, null);
1814 List<List<String>> groupIds =
1815 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1816 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1817 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1818 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
1819 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_1", getAttrFuncData)),
1820 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_2", getAttrFuncData)),
1821 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_3", getAttrFuncData)),
1822 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1823 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_2", getAttrFuncData)),
1824 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_3", getAttrFuncData)));
1826 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
1827 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut, consolidationData);
1829 translationContext.setConsolidationData(consolidationData);
1830 List<UnifiedCompositionMode> expectedUnifiedModes =
1831 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1832 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1836 public void testInvalidGetAttrOutFromPorts() throws IOException {
1837 ConsolidationData consolidationData = new ConsolidationData();
1838 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1839 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1840 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1843 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1845 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1846 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1847 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1848 TestUtils.updateComputeTemplateConsolidationData(
1850 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1851 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), Arrays.asList("cm01_port_1"), null,
1855 portTypeToIdList = new ArrayList<>();
1856 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1857 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1858 TestUtils.updateComputeTemplateConsolidationData(
1860 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1861 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1862 Arrays.asList("cm01_port_1"), null,
1866 portTypeToIdList = new ArrayList<>();
1867 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1868 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1869 TestUtils.updateComputeTemplateConsolidationData(
1871 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1872 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1873 Arrays.asList("cm01_port_1"), null,
1877 TestUtils.initPortConsolidationData(mainST, consolidationData);
1879 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
1880 List<String> portNodeTemplateIds =
1881 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1", "sm01_port_2",
1883 List<List<String>> nodesConnectedInIds =
1884 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList
1885 ("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"));
1886 List<List<String>> nodesConnectedOutIds =
1887 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList
1888 ("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"));
1889 List<List<String>> getAttrInIds =
1890 Arrays.asList(null, null, null, null, null, null);
1891 List<List<String>> groupIds =
1892 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1893 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1894 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1895 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
1896 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("server_ps01", getAttrFuncData)),
1897 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("server_ps01", getAttrFuncData)),
1898 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_3", getAttrFuncData)),
1899 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1900 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_2", getAttrFuncData)),
1901 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_3", getAttrFuncData)));
1903 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
1904 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut, consolidationData);
1906 translationContext.setConsolidationData(consolidationData);
1907 List<UnifiedCompositionMode> expectedUnifiedModes =
1908 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
1909 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1913 public void testSubstitutionConsolidationPreConditionTrue() throws IOException {
1914 translationContext = new TranslationContext();
1915 String mainSTName = "MainServiceTemplate.yaml";
1916 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
1918 ConsolidationData consolidationData = new ConsolidationData();
1919 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"), consolidationData);
1920 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes.heat" +
1921 ".pcm_server", consolidationData);
1922 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
1923 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes.heat" +
1924 ".pcm_server", consolidationData);
1925 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes" +
1926 ".heat.pcm_server", "pcm_server", consolidationData);
1928 translationContext.setConsolidationData(consolidationData);
1930 addMockServiceTemplateToContext(mainSTName, "Main");
1931 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
1933 verifySubstitutionServiceTemplateConsolidation
1934 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
1935 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
1936 UnifiedCompositionMode.NestedSingleCompute);
1940 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeType() throws IOException {
1941 translationContext = new TranslationContext();
1942 String mainSTName = "MainServiceTemplate.yaml";
1943 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
1945 ConsolidationData consolidationData = new ConsolidationData();
1946 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"), consolidationData);
1947 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes.heat" +
1948 ".pcm_server", consolidationData);
1949 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes" +
1950 ".heat.pcm_server", "server_pcm_001", consolidationData);
1951 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes.heat" +
1952 ".pcm_server", consolidationData);
1954 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_oam_001"), consolidationData);
1955 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes.heat" +
1956 ".oam_server", consolidationData);
1957 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes.heat.oam_server", "server_oam_001", consolidationData);
1958 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes.heat" +
1959 ".oam_server", consolidationData);
1961 translationContext.setConsolidationData(consolidationData);
1963 addMockServiceTemplateToContext(mainSTName, "Main");
1964 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
1966 verifySubstitutionServiceTemplateConsolidation
1967 (0, translationContext.getTranslatedServiceTemplates().get(mainSTName),
1968 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName), UnifiedCompositionMode.NestedSingleCompute);
1972 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeOfSameType() throws IOException {
1973 translationContext = new TranslationContext();
1974 String mainSTName = "MainServiceTemplate.yaml";
1975 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
1977 ConsolidationData consolidationData = new ConsolidationData();
1978 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"), consolidationData);
1979 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes.heat" +
1980 ".pcm_server", consolidationData);
1981 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes.heat" +
1982 ".pcm_server", consolidationData);
1983 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes" +
1984 ".heat.pcm_server", "pcm_server_1", consolidationData);
1986 TestUtils.updateNestedConsolidationData(nestedServiceTemplateName, Arrays.asList("server_pcm_002"),
1988 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes" +
1989 ".heat.pcm_server", "pcm_server_2", consolidationData);
1991 translationContext.setConsolidationData(consolidationData);
1993 addMockServiceTemplateToContext(mainSTName, "Main");
1994 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
1996 verifySubstitutionServiceTemplateConsolidation
1997 (0, translationContext.getTranslatedServiceTemplates().get(mainSTName),
1998 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName), UnifiedCompositionMode.NestedSingleCompute);
2002 public void testSubstitutionConsolidationPreConditionFalseNestedInsideNested(){
2003 translationContext = new TranslationContext();
2004 String mainSTName = "MainServiceTemplate.yaml";
2005 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2007 ConsolidationData consolidationData = new ConsolidationData();
2008 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"), consolidationData);
2009 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes.heat" +
2010 ".pcm_server", consolidationData);
2011 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
2012 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes.heat" +
2013 ".pcm_server", consolidationData);
2014 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes" +
2015 ".heat.pcm_server", "pcm_server", consolidationData);
2017 TestUtils.updateNestedConsolidationData(nestedServiceTemplateName, Arrays.asList("nested_resource"), consolidationData);
2019 translationContext.setConsolidationData(consolidationData);
2021 addMockServiceTemplateToContext(mainSTName, "Main");
2022 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2024 verifySubstitutionServiceTemplateConsolidation
2025 (0, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2026 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName), UnifiedCompositionMode.NestedSingleCompute);
2030 private void verifyMainServiceTemplateConsolidation(int times,
2031 List<UnifiedCompositionMode> expectedUnifiedCompositionModes,
2032 ToscaServiceModel toscaServiceModel) {
2033 consolidationService.mainServiceTemplateConsolidation(toscaServiceModel.getServiceTemplates().get(mainST), translationContext);
2035 ServiceTemplate mainServiceTemplate = toscaServiceModel.getServiceTemplates().get(mainST);
2036 verify(unifiedCompositionServiceMock, times(times))
2037 .createUnifiedComposition(
2038 eq(mainServiceTemplate),
2040 unifiedModelListArg.capture(),
2041 unifiedCompositionModeArg.capture(),
2042 eq(translationContext));
2044 List<UnifiedCompositionMode> actualUnifiedCompositionModes = unifiedCompositionModeArg.getAllValues();
2045 Assert.assertEquals(expectedUnifiedCompositionModes, actualUnifiedCompositionModes);
2048 private void verifySubstitutionServiceTemplateConsolidation(int times,
2049 ServiceTemplate mainST,
2050 ServiceTemplate nestedST, UnifiedCompositionMode expectedMode){
2051 consolidationService.substitutionServiceTemplateConsolidation(null, mainST,
2052 nestedST, translationContext);
2055 verify(unifiedCompositionServiceMock, never()).
2056 createUnifiedComposition(
2061 eq(translationContext));
2063 verify(unifiedCompositionServiceMock, times(times)).
2064 createUnifiedComposition(
2067 unifiedModelListArg.capture(),
2068 unifiedCompositionModeArg.capture(),
2069 eq(translationContext));
2071 Assert.assertEquals(expectedMode, unifiedCompositionModeArg.getValue());
2076 private void addMockServiceTemplateToContext(String serviceTemplateFileName, String templateName) {
2077 ServiceTemplate serviceTemplate = new ServiceTemplate();
2078 Map<String, String> metadata = new HashMap<>();
2079 metadata.put(ToscaConstants.ST_METADATA_TEMPLATE_NAME, templateName);
2080 serviceTemplate.setMetadata(metadata);
2081 translationContext.getTranslatedServiceTemplates()
2082 .put(serviceTemplateFileName, serviceTemplate);