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 testFalseComputeConsolidationForTwoSimilarFlavorNamesAndOneDiff() throws IOException {
512 ConsolidationData consolidationData = new ConsolidationData();
513 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
514 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
515 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_flavor_name_diff",
518 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
520 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
521 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
522 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
524 TestUtils.updateComputeTemplateConsolidationData(
526 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
527 portTypeToIdList, consolidationData);
529 TestUtils.updateComputeTemplateConsolidationData(
531 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
532 portTypeToIdList, consolidationData);
534 TestUtils.updateComputeTemplateConsolidationData(
536 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
537 portTypeToIdList, consolidationData);
539 TestUtils.initPortConsolidationData(mainST, consolidationData);
540 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
541 null, null, null, null, null,
543 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
544 null, null, null, null, null,
547 translationContext.setConsolidationData(consolidationData);
548 List<UnifiedCompositionMode> expectedUnifiedModes =
549 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
550 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
554 public void testFalsePortConsolidationForTwoPortsWithFixedIpsAndOneWithout() throws IOException {
555 ConsolidationData consolidationData = new ConsolidationData();
556 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
557 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
558 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_fixed_ips",
561 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
563 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
564 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
565 TestUtils.updateComputeTemplateConsolidationData(
567 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
568 portTypeToIdList, consolidationData);
570 portTypeToIdList = new ArrayList<>();
571 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
572 TestUtils.updateComputeTemplateConsolidationData(
574 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
575 portTypeToIdList, consolidationData);
577 portTypeToIdList = new ArrayList<>();
578 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
579 TestUtils.updateComputeTemplateConsolidationData(
581 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
582 portTypeToIdList, consolidationData);
584 TestUtils.initPortConsolidationData(mainST, consolidationData);
585 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
586 null, null, null, null, null,
589 translationContext.setConsolidationData(consolidationData);
590 List<UnifiedCompositionMode> expectedUnifiedModes =
591 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
592 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
596 public void testFalsePortConsolidationForTwoPortsWithAddressPairsAndOneWithout()
598 ConsolidationData consolidationData = new ConsolidationData();
599 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
600 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
601 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_allowed_address_pairs",
604 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
606 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
607 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
608 TestUtils.updateComputeTemplateConsolidationData(
610 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
611 portTypeToIdList, consolidationData);
612 portTypeToIdList = new ArrayList<>();
613 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
614 TestUtils.updateComputeTemplateConsolidationData(
616 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
617 portTypeToIdList, consolidationData);
619 portTypeToIdList = new ArrayList<>();
620 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
621 TestUtils.updateComputeTemplateConsolidationData(
623 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
624 portTypeToIdList, consolidationData);
626 TestUtils.initPortConsolidationData(mainST, consolidationData);
627 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
628 null, null, null, null, null,
631 translationContext.setConsolidationData(consolidationData);
632 List<UnifiedCompositionMode> expectedUnifiedModes =
633 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
634 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
638 public void testFalsePortConsolidationForTwoPortsWithMacAddressAndOneWithout()
640 ConsolidationData consolidationData = new ConsolidationData();
641 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
642 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
643 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_mac_address",
646 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
648 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
649 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
650 TestUtils.updateComputeTemplateConsolidationData(
652 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
653 portTypeToIdList, consolidationData);
655 portTypeToIdList = new ArrayList<>();
656 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
657 TestUtils.updateComputeTemplateConsolidationData(
659 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
660 portTypeToIdList, consolidationData);
661 portTypeToIdList = new ArrayList<>();
662 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
663 TestUtils.updateComputeTemplateConsolidationData(
665 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
666 portTypeToIdList, consolidationData);
668 TestUtils.initPortConsolidationData(mainST, consolidationData);
669 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
670 null, null, null, null, null,
673 translationContext.setConsolidationData(consolidationData);
674 List<UnifiedCompositionMode> expectedUnifiedModes =
675 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
676 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
680 public void testValidPortConsolidationForPortsWithNoneOfTheCheckedProperties()
682 ConsolidationData consolidationData = new ConsolidationData();
683 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
684 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
685 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/ports_with_none_of_the_properties",
688 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
690 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
691 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
692 TestUtils.updateComputeTemplateConsolidationData(
694 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
695 portTypeToIdList, consolidationData);
697 portTypeToIdList = new ArrayList<>();
698 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
699 TestUtils.updateComputeTemplateConsolidationData(
701 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
702 portTypeToIdList, consolidationData);
704 portTypeToIdList = new ArrayList<>();
705 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
706 TestUtils.updateComputeTemplateConsolidationData(
708 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
709 portTypeToIdList, consolidationData);
711 TestUtils.initPortConsolidationData(mainST, consolidationData);
712 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
713 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
715 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
716 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
718 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
719 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
722 translationContext.setConsolidationData(consolidationData);
723 List<UnifiedCompositionMode> expectedUnifiedModes =
724 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
725 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
729 public void testComputeRelationsSimilarBetweenComputeNodes() throws IOException {
730 ConsolidationData consolidationData = new ConsolidationData();
731 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
732 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
733 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_with_same_relations",
736 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
738 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
739 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
740 TestUtils.updateComputeTemplateConsolidationData(
742 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"),
743 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
748 portTypeToIdList = new ArrayList<>();
749 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
750 TestUtils.updateComputeTemplateConsolidationData(
752 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
753 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
758 portTypeToIdList = new ArrayList<>();
759 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
760 TestUtils.updateComputeTemplateConsolidationData(
762 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"), Arrays.asList("cmaui_volume"),
763 Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
767 TestUtils.initPortConsolidationData(mainST, consolidationData);
768 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
769 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
771 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
772 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
774 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
775 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
779 translationContext.setConsolidationData(consolidationData);
780 List<UnifiedCompositionMode> expectedUnifiedModes =
781 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
782 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
786 public void testNodesInRelationsDiffBetweenThreeComputes() throws IOException {
787 ConsolidationData consolidationData = new ConsolidationData();
788 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
789 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
790 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
793 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
795 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
796 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
797 TestUtils.updateComputeTemplateConsolidationData(
799 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
800 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
804 portTypeToIdList = new ArrayList<>();
805 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
806 TestUtils.updateComputeTemplateConsolidationData(
808 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
809 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
814 portTypeToIdList = new ArrayList<>();
815 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
816 TestUtils.updateComputeTemplateConsolidationData(
818 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_2"), Arrays.asList
819 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
823 TestUtils.initPortConsolidationData(mainST, consolidationData);
824 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
828 translationContext.setConsolidationData(consolidationData);
829 List<UnifiedCompositionMode> expectedUnifiedModes =
830 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
831 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
835 public void testNodesOutRelationsDiffBetweenThreeComputes() throws IOException {
836 ConsolidationData consolidationData = new ConsolidationData();
837 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
838 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
839 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
842 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
844 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
845 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
846 TestUtils.updateComputeTemplateConsolidationData(
848 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
849 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
853 portTypeToIdList = new ArrayList<>();
854 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
855 TestUtils.updateComputeTemplateConsolidationData(
857 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
858 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
863 portTypeToIdList = new ArrayList<>();
864 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
865 TestUtils.updateComputeTemplateConsolidationData(
867 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
868 Arrays.asList("cmaui_volume_1"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
873 TestUtils.initPortConsolidationData(mainST, consolidationData);
874 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
878 translationContext.setConsolidationData(consolidationData);
879 List<UnifiedCompositionMode> expectedUnifiedModes =
880 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
881 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
885 public void testVolumeRelationsDiffBetweenThreeComputes() throws IOException {
886 ConsolidationData consolidationData = new ConsolidationData();
887 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
888 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
889 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
892 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
894 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
895 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
896 TestUtils.updateComputeTemplateConsolidationData(
898 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
899 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"), null, null,
903 portTypeToIdList = new ArrayList<>();
904 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
905 TestUtils.updateComputeTemplateConsolidationData(
907 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
908 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id1"),
913 portTypeToIdList = new ArrayList<>();
914 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
915 TestUtils.updateComputeTemplateConsolidationData(
917 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
918 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume_1"), Arrays.asList("group_id1"),
923 TestUtils.initPortConsolidationData(mainST, consolidationData);
924 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
928 translationContext.setConsolidationData(consolidationData);
929 List<UnifiedCompositionMode> expectedUnifiedModes =
930 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
931 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
935 public void testGroupRelationsDiffBetweenThreeComputes() throws IOException {
936 ConsolidationData consolidationData = new ConsolidationData();
937 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
938 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
939 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
942 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
944 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
945 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
946 TestUtils.updateComputeTemplateConsolidationData(
948 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
949 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null, null,
953 portTypeToIdList = new ArrayList<>();
954 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
955 TestUtils.updateComputeTemplateConsolidationData(
957 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
958 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
963 portTypeToIdList = new ArrayList<>();
964 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
965 TestUtils.updateComputeTemplateConsolidationData(
967 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
968 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_2"),
973 TestUtils.initPortConsolidationData(mainST, consolidationData);
974 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
978 translationContext.setConsolidationData(consolidationData);
979 List<UnifiedCompositionMode> expectedUnifiedModes =
980 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
981 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
985 public void testPortConsolidationDataRelationsSimilar() throws IOException {
986 ConsolidationData consolidationData = new ConsolidationData();
987 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
988 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
989 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
992 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
994 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
995 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
996 TestUtils.updateComputeTemplateConsolidationData(
998 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
999 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null, null,
1003 portTypeToIdList = new ArrayList<>();
1004 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1005 TestUtils.updateComputeTemplateConsolidationData(
1007 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1008 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1013 portTypeToIdList = new ArrayList<>();
1014 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1015 TestUtils.updateComputeTemplateConsolidationData(
1017 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1018 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1023 TestUtils.initPortConsolidationData(mainST, consolidationData);
1024 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1025 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
1027 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1028 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
1030 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1031 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
1034 translationContext.setConsolidationData(consolidationData);
1035 List<UnifiedCompositionMode> expectedUnifiedModes =
1036 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1037 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1041 public void testNodesInRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1042 ConsolidationData consolidationData = new ConsolidationData();
1043 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1044 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1045 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1048 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1050 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1051 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1052 TestUtils.updateComputeTemplateConsolidationData(
1054 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1055 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null, null,
1059 portTypeToIdList = new ArrayList<>();
1060 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1061 TestUtils.updateComputeTemplateConsolidationData(
1063 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1064 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1069 portTypeToIdList = new ArrayList<>();
1070 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1071 TestUtils.updateComputeTemplateConsolidationData(
1073 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1074 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1079 TestUtils.initPortConsolidationData(mainST, consolidationData);
1080 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1081 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
1083 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1084 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
1086 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1087 Arrays.asList("node_in_2"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
1090 translationContext.setConsolidationData(consolidationData);
1091 List<UnifiedCompositionMode> expectedUnifiedModes =
1092 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1093 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1097 public void testNodesOutRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1098 ConsolidationData consolidationData = new ConsolidationData();
1099 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1100 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1101 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1104 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1106 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1107 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1108 TestUtils.updateComputeTemplateConsolidationData(
1110 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1111 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null, null,
1115 portTypeToIdList = new ArrayList<>();
1116 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1117 TestUtils.updateComputeTemplateConsolidationData(
1119 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1120 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1125 portTypeToIdList = new ArrayList<>();
1126 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1127 TestUtils.updateComputeTemplateConsolidationData(
1129 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1130 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1135 TestUtils.initPortConsolidationData(mainST, consolidationData);
1136 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1137 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
1139 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1140 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"), Arrays.asList("group_id_1"), null, null,
1142 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1143 Arrays.asList("node_in_1"), Arrays.asList("net_id_2"), Arrays.asList("group_id_1"), null, null,
1146 translationContext.setConsolidationData(consolidationData);
1147 List<UnifiedCompositionMode> expectedUnifiedModes =
1148 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1149 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1153 public void testGroupIdsRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1154 ConsolidationData consolidationData = new ConsolidationData();
1155 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1156 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1157 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1160 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1162 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1163 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1164 TestUtils.updateComputeTemplateConsolidationData(
1166 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1167 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null, null,
1171 portTypeToIdList = new ArrayList<>();
1172 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1173 TestUtils.updateComputeTemplateConsolidationData(
1175 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1176 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1181 portTypeToIdList = new ArrayList<>();
1182 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1183 TestUtils.updateComputeTemplateConsolidationData(
1185 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1186 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1191 TestUtils.initPortConsolidationData(mainST, consolidationData);
1192 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1193 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1194 Arrays.asList("group_id_1", "group_id_2"), null, null,
1196 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1197 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1198 Arrays.asList("group_id_1", "group_id_2"), null, null,
1200 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1201 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1202 Arrays.asList("group_id_1", "group_id_3"), null, null,
1205 translationContext.setConsolidationData(consolidationData);
1206 List<UnifiedCompositionMode> expectedUnifiedModes =
1207 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1208 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1212 public void testValidConsolidationForComputesWithValidGetAttr() throws IOException {
1213 ConsolidationData consolidationData = new ConsolidationData();
1214 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1215 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1216 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1219 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1221 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1222 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1224 TestUtils.updateComputeTemplateConsolidationData(
1226 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1227 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), Arrays.asList("node_1"), null,
1231 portTypeToIdList = new ArrayList<>();
1232 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1233 TestUtils.updateComputeTemplateConsolidationData(
1235 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1236 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1237 Arrays.asList("node_2"), null,
1241 portTypeToIdList = new ArrayList<>();
1242 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1243 TestUtils.updateComputeTemplateConsolidationData(
1245 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1246 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1247 Arrays.asList("node_3"), null,
1251 TestUtils.initPortConsolidationData(mainST, consolidationData);
1252 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1253 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1254 Arrays.asList("group_id_1", "group_id_2"), null, null,
1256 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1257 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1258 Arrays.asList("group_id_1", "group_id_2"), null, null,
1260 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1261 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1262 Arrays.asList("group_id_1", "group_id_2"), null, null,
1265 translationContext.setConsolidationData(consolidationData);
1266 List<UnifiedCompositionMode> expectedUnifiedModes =
1267 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1268 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1272 public void testInvalidConsolidationForComputesWithGetAttrForEachOther() throws IOException {
1273 ConsolidationData consolidationData = new ConsolidationData();
1274 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1275 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1276 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1279 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1281 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1282 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1284 TestUtils.updateComputeTemplateConsolidationData(
1286 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1287 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), Arrays.asList("server_ps02"), null,
1291 portTypeToIdList = new ArrayList<>();
1292 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1293 TestUtils.updateComputeTemplateConsolidationData(
1295 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1296 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1297 Arrays.asList("node_1"), null,
1301 portTypeToIdList = new ArrayList<>();
1302 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1303 TestUtils.updateComputeTemplateConsolidationData(
1305 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1306 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1307 Arrays.asList("node_2"), null,
1311 TestUtils.initPortConsolidationData(mainST, consolidationData);
1312 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1313 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1314 Arrays.asList("group_id_1", "group_id_2"), null, null,
1316 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1317 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1318 Arrays.asList("group_id_1", "group_id_2"), null, null,
1320 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1321 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1322 Arrays.asList("group_id_1", "group_id_2"), null, null,
1325 translationContext.setConsolidationData(consolidationData);
1326 List<UnifiedCompositionMode> expectedUnifiedModes =
1327 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1328 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1332 public void testValidConsolidationForPortsWithValidGetAttr() throws IOException {
1333 ConsolidationData consolidationData = new ConsolidationData();
1334 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1335 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1336 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1339 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1341 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1342 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1344 TestUtils.updateComputeTemplateConsolidationData(
1346 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1347 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), null, null,
1351 portTypeToIdList = new ArrayList<>();
1352 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1353 TestUtils.updateComputeTemplateConsolidationData(
1355 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1356 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1361 portTypeToIdList = new ArrayList<>();
1362 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1363 TestUtils.updateComputeTemplateConsolidationData(
1365 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1366 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1371 TestUtils.initPortConsolidationData(mainST, consolidationData);
1372 List<String> portNodeTemplateIds =
1373 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1374 List<List<String>> nodesConnectedInIds =
1375 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"));
1376 List<List<String>> nodesConnectedOutIds =
1377 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"));
1378 List<List<String>> getAttrInIds =
1379 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"), Arrays.asList("get_attr_3"));
1380 List<List<String>> groupIds =
1381 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1382 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1383 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null);
1385 TestUtils.updateMultiplePortConsolidationDatas(
1386 mainST, portNodeTemplateIds,nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1387 getAttrInIds, getAttrOut, consolidationData);
1389 translationContext.setConsolidationData(consolidationData);
1390 List<UnifiedCompositionMode> expectedUnifiedModes =
1391 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1392 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1396 public void testInvalidConsolidationForPortsWithGetAttrInForEachOther() throws IOException {
1397 ConsolidationData consolidationData = new ConsolidationData();
1398 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1399 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1400 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation" +
1401 "/three_ports_similar_relations",
1404 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1406 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1407 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1409 TestUtils.updateComputeTemplateConsolidationData(
1411 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1412 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), Arrays.asList("node_1"), null,
1416 portTypeToIdList = new ArrayList<>();
1417 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1418 TestUtils.updateComputeTemplateConsolidationData(
1420 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1421 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1422 Arrays.asList("node_2"), null,
1426 portTypeToIdList = new ArrayList<>();
1427 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1428 TestUtils.updateComputeTemplateConsolidationData(
1430 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1431 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1432 Arrays.asList("node_3"), null,
1436 TestUtils.initPortConsolidationData(mainST, consolidationData);
1437 List<String> portNodeTemplateIds =
1438 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1439 List<List<String>> nodesConnectedInIds =
1440 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"));
1441 List<List<String>> nodesConnectedOutIds =
1442 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"));
1443 List<List<String>> getAttrInIds =
1444 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"), Arrays.asList("cm01_port_1"));
1445 List<List<String>> groupIds =
1446 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1447 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1448 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null);
1450 TestUtils.updateMultiplePortConsolidationDatas(
1451 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1452 getAttrInIds, getAttrOut, consolidationData);
1454 translationContext.setConsolidationData(consolidationData);
1455 List<UnifiedCompositionMode> expectedUnifiedModes =
1456 Arrays.asList(UnifiedCompositionMode.CatalogInstance);
1457 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1461 public void testValidConsolidationForComputesWithSamePortTypesPointingByGetAttrIn() throws
1463 ConsolidationData consolidationData = new ConsolidationData();
1464 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1465 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1466 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1469 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1471 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1472 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1474 TestUtils.updateComputeTemplateConsolidationData(
1476 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1477 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), Arrays.asList("cm01_port_1"), null,
1481 portTypeToIdList = new ArrayList<>();
1482 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1483 TestUtils.updateComputeTemplateConsolidationData(
1485 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1486 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1487 Arrays.asList("cm01_port_2"), null,
1491 portTypeToIdList = new ArrayList<>();
1492 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1493 TestUtils.updateComputeTemplateConsolidationData(
1495 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1496 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1497 Arrays.asList("cm01_port_3"), null,
1501 TestUtils.initPortConsolidationData(mainST, consolidationData);
1502 List<String> portNodeTemplateIds =
1503 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1504 List<List<String>> nodesConnectedInIds =
1505 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"));
1506 List<List<String>> nodesConnectedOutIds =
1507 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"));
1508 List<List<String>> getAttrInIds =
1509 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"), Arrays.asList("get_attr_3"));
1510 List<List<String>> groupIds =
1511 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1512 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1513 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null);
1515 TestUtils.updateMultiplePortConsolidationDatas(
1516 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1517 getAttrInIds, getAttrOut, consolidationData);
1519 translationContext.setConsolidationData(consolidationData);
1520 List<UnifiedCompositionMode> expectedUnifiedModes =
1521 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1522 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1526 public void testValidGetAttrOutFromComputes() throws IOException {
1527 ConsolidationData consolidationData = new ConsolidationData();
1528 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1529 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1530 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1533 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1535 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1536 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1537 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1538 TestUtils.updateComputeTemplateConsolidationData(
1540 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1541 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), Arrays.asList("cm01_port_1"),
1542 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1546 portTypeToIdList = new ArrayList<>();
1547 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1548 TestUtils.updateComputeTemplateConsolidationData(
1550 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1551 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1552 Arrays.asList("cm01_port_1"),
1553 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1557 portTypeToIdList = new ArrayList<>();
1558 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1559 TestUtils.updateComputeTemplateConsolidationData(
1561 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1562 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1563 Arrays.asList("cm01_port_1"),
1564 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1568 TestUtils.initPortConsolidationData(mainST, consolidationData);
1569 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1570 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1571 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("sm01_port_2"), null,
1573 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1574 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1575 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("sm01_port_1"), null,
1577 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1578 Arrays.asList("node_in_1"), Arrays.asList("net_id_1"),
1579 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("rm01_port_1"), null,
1582 translationContext.setConsolidationData(consolidationData);
1583 List<UnifiedCompositionMode> expectedUnifiedModes =
1584 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1585 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1589 public void testInValidGetAttrOutFromComputesPortTypeDifferent() throws IOException {
1590 ConsolidationData consolidationData = new ConsolidationData();
1591 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1592 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1593 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1596 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1598 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1599 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1600 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1601 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1602 TestUtils.updateComputeTemplateConsolidationData(
1604 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1605 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), Arrays.asList("cm01_port_1"),
1606 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1610 portTypeToIdList = new ArrayList<>();
1611 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1612 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1613 TestUtils.updateComputeTemplateConsolidationData(
1615 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1616 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1617 Arrays.asList("cm01_port_1"),
1618 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1622 portTypeToIdList = new ArrayList<>();
1623 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1624 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1625 TestUtils.updateComputeTemplateConsolidationData(
1627 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1628 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1629 Arrays.asList("cm01_port_1"),
1630 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_1", getAttrFuncData)),
1634 TestUtils.initPortConsolidationData(mainST, consolidationData);
1636 List<String> portNodeTemplateIds =
1637 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1", "sm01_port_2",
1639 List<List<String>> nodesConnectedInIds =
1640 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList
1641 ("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"));
1642 List<List<String>> nodesConnectedOutIds =
1643 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList
1644 ("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"));
1645 List<List<String>> getAttrInIds =
1646 Arrays.asList(Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"), Arrays.asList
1647 ("get_attr_3"), Arrays.asList("get_attr_1"), Arrays.asList("get_attr_2"), Arrays.asList("get_attr_3"));
1648 List<List<String>> groupIds =
1649 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1650 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1651 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1652 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(null, null, null, null,
1655 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
1656 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut, consolidationData);
1658 translationContext.setConsolidationData(consolidationData);
1659 List<UnifiedCompositionMode> expectedUnifiedModes =
1660 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
1661 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1665 public void testValidGetAttrOutFromPorts() throws IOException {
1666 ConsolidationData consolidationData = new ConsolidationData();
1667 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1668 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1669 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1672 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1674 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1675 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1676 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1677 TestUtils.updateComputeTemplateConsolidationData(
1679 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1680 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), Arrays.asList("cm01_port_1"), null,
1684 portTypeToIdList = new ArrayList<>();
1685 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1686 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1687 TestUtils.updateComputeTemplateConsolidationData(
1689 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1690 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1691 Arrays.asList("cm01_port_1"), null,
1695 portTypeToIdList = new ArrayList<>();
1696 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1697 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1698 TestUtils.updateComputeTemplateConsolidationData(
1700 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1701 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1702 Arrays.asList("cm01_port_1"), null,
1706 TestUtils.initPortConsolidationData(mainST, consolidationData);
1708 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
1709 List<String> portNodeTemplateIds =
1710 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1", "sm01_port_2",
1712 List<List<String>> nodesConnectedInIds =
1713 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList
1714 ("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"));
1715 List<List<String>> nodesConnectedOutIds =
1716 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList
1717 ("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"));
1718 List<List<String>> getAttrInIds =
1719 Arrays.asList(null, null, null, null, null, null);
1720 List<List<String>> groupIds =
1721 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1722 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1723 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1724 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
1725 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_1", getAttrFuncData)),
1726 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_2", getAttrFuncData)),
1727 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_3", getAttrFuncData)),
1728 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1729 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_2", getAttrFuncData)),
1730 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_3", getAttrFuncData)));
1732 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
1733 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut, consolidationData);
1735 translationContext.setConsolidationData(consolidationData);
1736 List<UnifiedCompositionMode> expectedUnifiedModes =
1737 Arrays.asList(UnifiedCompositionMode.ScalingInstances);
1738 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1742 public void testInvalidGetAttrOutFromPorts() throws IOException {
1743 ConsolidationData consolidationData = new ConsolidationData();
1744 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1745 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1746 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1749 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1751 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1752 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1753 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1754 TestUtils.updateComputeTemplateConsolidationData(
1756 computeNodeTypeName, "server_ps01", Arrays.asList("cm01_port_1"), Arrays.asList
1757 ("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"), Arrays.asList("cm01_port_1"), null,
1761 portTypeToIdList = new ArrayList<>();
1762 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1763 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1764 TestUtils.updateComputeTemplateConsolidationData(
1766 computeNodeTypeName, "server_ps02", Arrays.asList("cm01_port_1"),
1767 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1768 Arrays.asList("cm01_port_1"), null,
1772 portTypeToIdList = new ArrayList<>();
1773 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1774 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1775 TestUtils.updateComputeTemplateConsolidationData(
1777 computeNodeTypeName, "server_ps03", Arrays.asList("cm01_port_1"),
1778 Arrays.asList("cmaui_volume"), Arrays.asList("cmaui_volume"), Arrays.asList("group_id_1"),
1779 Arrays.asList("cm01_port_1"), null,
1783 TestUtils.initPortConsolidationData(mainST, consolidationData);
1785 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
1786 List<String> portNodeTemplateIds =
1787 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1", "sm01_port_2",
1789 List<List<String>> nodesConnectedInIds =
1790 Arrays.asList(Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList
1791 ("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"), Arrays.asList("node_in_1"));
1792 List<List<String>> nodesConnectedOutIds =
1793 Arrays.asList(Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList
1794 ("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"), Arrays.asList("node_out_1"));
1795 List<List<String>> getAttrInIds =
1796 Arrays.asList(null, null, null, null, null, null);
1797 List<List<String>> groupIds =
1798 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1799 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1",
1800 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1801 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
1802 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("server_ps01", getAttrFuncData)),
1803 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("server_ps01", getAttrFuncData)),
1804 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("sm01_port_3", getAttrFuncData)),
1805 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_1", getAttrFuncData)),
1806 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_2", getAttrFuncData)),
1807 Arrays.asList(new ImmutablePair<String, GetAttrFuncData>("cm01_port_3", getAttrFuncData)));
1809 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
1810 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut, consolidationData);
1812 translationContext.setConsolidationData(consolidationData);
1813 List<UnifiedCompositionMode> expectedUnifiedModes =
1814 Arrays.asList(UnifiedCompositionMode.SingleSubstitution);
1815 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1819 public void testSubstitutionConsolidationPreConditionTrue() throws IOException {
1820 translationContext = new TranslationContext();
1821 String mainSTName = "MainServiceTemplate.yaml";
1822 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
1824 ConsolidationData consolidationData = new ConsolidationData();
1825 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"), consolidationData);
1826 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes.heat" +
1827 ".pcm_server", consolidationData);
1828 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
1829 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes.heat" +
1830 ".pcm_server", consolidationData);
1831 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes" +
1832 ".heat.pcm_server", "pcm_server", consolidationData);
1834 translationContext.setConsolidationData(consolidationData);
1836 addMockServiceTemplateToContext(mainSTName, "Main");
1837 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
1839 verifySubstitutionServiceTemplateConsolidation
1840 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
1841 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
1842 UnifiedCompositionMode.NestedSingleCompute);
1846 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeType() throws IOException {
1847 translationContext = new TranslationContext();
1848 String mainSTName = "MainServiceTemplate.yaml";
1849 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
1851 ConsolidationData consolidationData = new ConsolidationData();
1852 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"), consolidationData);
1853 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes.heat" +
1854 ".pcm_server", consolidationData);
1855 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes" +
1856 ".heat.pcm_server", "server_pcm_001", consolidationData);
1857 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes.heat" +
1858 ".pcm_server", consolidationData);
1860 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_oam_001"), consolidationData);
1861 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes.heat" +
1862 ".oam_server", consolidationData);
1863 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes.heat.oam_server", "server_oam_001", consolidationData);
1864 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes.heat" +
1865 ".oam_server", consolidationData);
1867 translationContext.setConsolidationData(consolidationData);
1869 addMockServiceTemplateToContext(mainSTName, "Main");
1870 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
1872 verifySubstitutionServiceTemplateConsolidation
1873 (0, translationContext.getTranslatedServiceTemplates().get(mainSTName),
1874 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName), UnifiedCompositionMode.NestedSingleCompute);
1878 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeOfSameType() throws IOException {
1879 translationContext = new TranslationContext();
1880 String mainSTName = "MainServiceTemplate.yaml";
1881 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
1883 ConsolidationData consolidationData = new ConsolidationData();
1884 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"), consolidationData);
1885 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes.heat" +
1886 ".pcm_server", consolidationData);
1887 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes.heat" +
1888 ".pcm_server", consolidationData);
1889 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes" +
1890 ".heat.pcm_server", "pcm_server_1", consolidationData);
1892 TestUtils.updateNestedConsolidationData(nestedServiceTemplateName, Arrays.asList("server_pcm_002"),
1894 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes" +
1895 ".heat.pcm_server", "pcm_server_2", consolidationData);
1897 translationContext.setConsolidationData(consolidationData);
1899 addMockServiceTemplateToContext(mainSTName, "Main");
1900 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
1902 verifySubstitutionServiceTemplateConsolidation
1903 (0, translationContext.getTranslatedServiceTemplates().get(mainSTName),
1904 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName), UnifiedCompositionMode.NestedSingleCompute);
1908 public void testSubstitutionConsolidationPreConditionFalseNestedInsideNested(){
1909 translationContext = new TranslationContext();
1910 String mainSTName = "MainServiceTemplate.yaml";
1911 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
1913 ConsolidationData consolidationData = new ConsolidationData();
1914 TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"), consolidationData);
1915 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes.heat" +
1916 ".pcm_server", consolidationData);
1917 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName, "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
1918 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes.heat" +
1919 ".pcm_server", consolidationData);
1920 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName, "org.openecomp.resource.vfc.nodes" +
1921 ".heat.pcm_server", "pcm_server", consolidationData);
1923 TestUtils.updateNestedConsolidationData(nestedServiceTemplateName, Arrays.asList("nested_resource"), consolidationData);
1925 translationContext.setConsolidationData(consolidationData);
1927 addMockServiceTemplateToContext(mainSTName, "Main");
1928 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
1930 verifySubstitutionServiceTemplateConsolidation
1931 (0, translationContext.getTranslatedServiceTemplates().get(mainSTName),
1932 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName), UnifiedCompositionMode.NestedSingleCompute);
1936 private void verifyMainServiceTemplateConsolidation(int times,
1937 List<UnifiedCompositionMode> expectedUnifiedCompositionModes,
1938 ToscaServiceModel toscaServiceModel) {
1939 consolidationService.mainServiceTemplateConsolidation(toscaServiceModel.getServiceTemplates().get(mainST), translationContext);
1941 ServiceTemplate mainServiceTemplate = toscaServiceModel.getServiceTemplates().get(mainST);
1942 verify(unifiedCompositionServiceMock, times(times))
1943 .createUnifiedComposition(
1944 eq(mainServiceTemplate),
1946 unifiedModelListArg.capture(),
1947 unifiedCompositionModeArg.capture(),
1948 eq(translationContext));
1950 List<UnifiedCompositionMode> actualUnifiedCompositionModes = unifiedCompositionModeArg.getAllValues();
1951 Assert.assertEquals(expectedUnifiedCompositionModes, actualUnifiedCompositionModes);
1954 private void verifySubstitutionServiceTemplateConsolidation(int times,
1955 ServiceTemplate mainST,
1956 ServiceTemplate nestedST, UnifiedCompositionMode expectedMode){
1957 consolidationService.substitutionServiceTemplateConsolidation(null, mainST,
1958 nestedST, translationContext);
1961 verify(unifiedCompositionServiceMock, never()).
1962 createUnifiedComposition(
1967 eq(translationContext));
1969 verify(unifiedCompositionServiceMock, times(times)).
1970 createUnifiedComposition(
1973 unifiedModelListArg.capture(),
1974 unifiedCompositionModeArg.capture(),
1975 eq(translationContext));
1977 Assert.assertEquals(expectedMode, unifiedCompositionModeArg.getValue());
1982 private void addMockServiceTemplateToContext(String serviceTemplateFileName, String templateName) {
1983 ServiceTemplate serviceTemplate = new ServiceTemplate();
1984 Map<String, String> metadata = new HashMap<>();
1985 metadata.put(ToscaConstants.ST_METADATA_TEMPLATE_NAME, templateName);
1986 serviceTemplate.setMetadata(metadata);
1987 translationContext.getTranslatedServiceTemplates()
1988 .put(serviceTemplateFileName, serviceTemplate);