2 * Copyright © 2016-2018 European Support Limited
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org.openecomp.sdc.translator.services.heattotosca;
19 import static org.mockito.Matchers.any;
20 import static org.mockito.Matchers.eq;
21 import static org.mockito.Mockito.times;
22 import static org.mockito.Mockito.verify;
24 import org.apache.commons.lang3.tuple.ImmutablePair;
25 import org.apache.commons.lang3.tuple.Pair;
26 import org.junit.Assert;
27 import org.junit.Before;
28 import org.junit.Test;
29 import org.mockito.ArgumentCaptor;
30 import org.mockito.Captor;
31 import org.mockito.InjectMocks;
32 import org.mockito.Mock;
33 import org.mockito.Mockito;
34 import org.mockito.MockitoAnnotations;
35 import org.mockito.Spy;
36 import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
37 import org.onap.sdc.tosca.datatypes.model.ServiceTemplate;
38 import org.openecomp.sdc.tosca.services.ToscaConstants;
39 import org.openecomp.sdc.translator.SubInterfaceConsolidationDataTestInfo;
40 import org.openecomp.sdc.translator.TestUtils;
41 import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext;
42 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.UnifiedCompositionData;
43 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.UnifiedCompositionMode;
44 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.ConsolidationData;
45 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.GetAttrFuncData;
47 import java.io.IOException;
48 import java.util.ArrayList;
49 import java.util.Arrays;
50 import java.util.Collections;
51 import java.util.HashMap;
52 import java.util.List;
55 public class ConsolidationServiceTest {
59 private TranslationContext translationContext = new TranslationContext();
60 private static String mainST = "MainServiceTemplate.yaml";
63 private UnifiedCompositionService unifiedCompositionServiceMock;
66 private ArgumentCaptor<List<UnifiedCompositionData>> unifiedModelListArg;
68 private ArgumentCaptor<UnifiedCompositionMode> unifiedCompositionModeArg;
72 private ConsolidationService consolidationService;
75 public void setUp() throws Exception {
76 MockitoAnnotations.initMocks(this);
80 public void testConsolidationValidPreCondition() throws IOException {
82 ConsolidationData consolidationData = new ConsolidationData();
83 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
84 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel(
85 "/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/valid_pre_condition/",
89 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName,
92 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
93 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
94 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
96 TestUtils.updateComputeTemplateConsolidationData(
98 computeNodeTypeName, "server_ps01",
99 null, null, null, null, null, null,
100 portTypeToIdList, consolidationData);
102 TestUtils.updateComputeTemplateConsolidationData(
104 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
105 portTypeToIdList, consolidationData);
107 TestUtils.initPortConsolidationData(mainST, consolidationData);
108 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
109 null, null, null, null, null,
111 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
112 null, null, null, null, null,
115 translationContext.setConsolidationData(consolidationData);
116 List<UnifiedCompositionMode> expectedUnifiedModes =
117 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
119 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
123 public void testConsolidationFalsePreConditionOneComputeNode() throws IOException {
124 ConsolidationData consolidationData = new ConsolidationData();
125 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
126 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
127 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/one_compute_node/",
131 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
133 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
134 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
135 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
137 TestUtils.updateComputeTemplateConsolidationData(
139 computeNodeTypeName, "server_ps01",
140 null, null, null, null, null, null,
141 portTypeToIdList, consolidationData);
143 TestUtils.initPortConsolidationData(mainST, consolidationData);
144 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
145 null, null, null, null, null,
147 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
148 null, null, null, null, null,
151 translationContext.setConsolidationData(consolidationData);
152 List<UnifiedCompositionMode> expectedUnifiedModes =
153 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
154 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
158 public void testConsolidationFalsePreConditionMoreThanOnePortPerType() throws IOException {
159 ConsolidationData consolidationData = new ConsolidationData();
160 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
161 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
162 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/more_than_one_port/",
166 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
168 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
169 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
170 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
172 TestUtils.updateComputeTemplateConsolidationData(
174 computeNodeTypeName, "server_ps01",
175 null, null, null, null, null, null,
176 portTypeToIdList, consolidationData);
178 TestUtils.updateComputeTemplateConsolidationData(
180 computeNodeTypeName, "server_ps02",
181 null, null, null, null, null, null,
182 portTypeToIdList, consolidationData);
185 TestUtils.initPortConsolidationData(mainST, consolidationData);
187 translationContext.setConsolidationData(consolidationData);
188 List<UnifiedCompositionMode> expectedUnifiedModes =
189 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
190 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
194 public void testConsolidationFalsePreConditionDifferentPortTypesBetweenComputes()
196 ConsolidationData consolidationData = new ConsolidationData();
197 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
198 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
199 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_port_types",
203 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
205 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
206 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
208 TestUtils.updateComputeTemplateConsolidationData(
210 computeNodeTypeName, "server_ps01",
211 null, null, null, null, null, null,
212 portTypeToIdList, consolidationData);
214 portTypeToIdList = new ArrayList<>();
215 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
217 TestUtils.updateComputeTemplateConsolidationData(
219 computeNodeTypeName, "server_ps02",
220 null, null, null, null, null, null,
221 portTypeToIdList, consolidationData);
223 TestUtils.initPortConsolidationData(mainST, consolidationData);
224 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
225 null, null, null, null, null,
227 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
228 null, null, null, null, null,
231 translationContext.setConsolidationData(consolidationData);
232 List<UnifiedCompositionMode> expectedUnifiedModes =
233 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
234 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
239 public void testConsolidationResultTrueWithMoreThanTwoCompute() throws IOException {
240 ConsolidationData consolidationData = new ConsolidationData();
241 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
242 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
243 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
247 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
249 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
250 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
251 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
253 TestUtils.updateComputeTemplateConsolidationData(
255 computeNodeTypeName, "server_ps01",
256 null, null, null, null, null, null,
257 portTypeToIdList, consolidationData);
259 TestUtils.updateComputeTemplateConsolidationData(
261 computeNodeTypeName, "server_ps02",
262 null, null, null, null, null, null,
263 portTypeToIdList, consolidationData);
265 TestUtils.updateComputeTemplateConsolidationData(
267 computeNodeTypeName, "server_ps03",
268 null, null, null, null, null, null,
269 portTypeToIdList, consolidationData);
271 TestUtils.initPortConsolidationData(mainST, consolidationData);
272 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
273 null, null, null, null, null,
275 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
276 null, null, null, null, null,
279 translationContext.setConsolidationData(consolidationData);
281 List<UnifiedCompositionMode> expectedUnifiedModes =
282 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
283 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
287 public void testConsolidationResultFalseWithMoreThanTwoComputeOneIsDiff() throws IOException {
288 ConsolidationData consolidationData = new ConsolidationData();
289 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
290 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
291 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
295 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
297 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
298 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
299 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
301 TestUtils.updateComputeTemplateConsolidationData(
303 computeNodeTypeName, "server_ps01",
304 null, null, null, null, null, null,
305 portTypeToIdList, consolidationData);
307 TestUtils.updateComputeTemplateConsolidationData(
309 computeNodeTypeName, "server_ps02",
310 null, null, null, null, null, null,
311 portTypeToIdList, consolidationData);
313 portTypeToIdList = new ArrayList<>();
314 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
315 TestUtils.updateComputeTemplateConsolidationData(
317 computeNodeTypeName, "server_ps03",
318 null, null, null, null, null, null,
319 portTypeToIdList, consolidationData);
321 TestUtils.initPortConsolidationData(mainST, consolidationData);
322 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
323 null, null, null, null, null,
325 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
326 null, null, null, null, null,
329 translationContext.setConsolidationData(consolidationData);
330 List<UnifiedCompositionMode> expectedUnifiedModes =
331 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
332 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
336 public void testConsolidationResultFalseForTwoTypesOfComputeWithOneInstanceEach()
338 ConsolidationData consolidationData = new ConsolidationData();
339 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
340 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.cmaui";
341 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
342 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
345 TestUtils.initComputeNodeTypeInConsolidationData
346 (mainST, computeNodeTypeName1, consolidationData);
347 TestUtils.initComputeNodeTypeInConsolidationData
348 (mainST, computeNodeTypeName2, consolidationData);
350 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
351 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
352 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
354 TestUtils.updateComputeTemplateConsolidationData(
356 computeNodeTypeName1, "server_ps01",
357 null, null, null, null, null, null,
358 portTypeToIdList, consolidationData);
360 TestUtils.updateComputeTemplateConsolidationData(
362 computeNodeTypeName2, "server_ps02",
363 null, null, null, null, null, null,
364 portTypeToIdList, consolidationData);
366 TestUtils.initPortConsolidationData(mainST, consolidationData);
367 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
368 null, null, null, null, null,
370 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
371 null, null, null, null, null,
374 translationContext.setConsolidationData(consolidationData);
376 List<UnifiedCompositionMode> expectedUnifiedModes =
377 Arrays.asList(UnifiedCompositionMode.SingleSubstitution,
378 UnifiedCompositionMode.SingleSubstitution);
379 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
383 public void testConsolidationValidForTwoSimilarComputeAndFalseForSingleCompute()
385 ConsolidationData consolidationData = new ConsolidationData();
386 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
387 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.cmaui";
388 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
389 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_two_similar_one_diff",
393 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName1, consolidationData);
395 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName2, consolidationData);
397 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
398 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
399 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
401 TestUtils.updateComputeTemplateConsolidationData(
403 computeNodeTypeName1, "server_ps01",
404 null, null, null, null, null, null,
405 portTypeToIdList, consolidationData);
407 TestUtils.updateComputeTemplateConsolidationData(
409 computeNodeTypeName1, "server_ps02",
410 null, null, null, null, null, null,
411 portTypeToIdList, consolidationData);
412 TestUtils.updateComputeTemplateConsolidationData(
414 computeNodeTypeName2, "server_ps03",
415 null, null, null, null, null, null,
416 portTypeToIdList, consolidationData);
418 TestUtils.initPortConsolidationData(mainST, consolidationData);
419 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
420 null, null, null, null, null,
422 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
423 null, null, null, null, null,
426 translationContext.setConsolidationData(consolidationData);
427 List<UnifiedCompositionMode> expectedUnifiedModes =
428 Arrays.asList(UnifiedCompositionMode.ScalingInstances,
429 UnifiedCompositionMode.SingleSubstitution);
430 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
434 public void testValidComputeAndPortConsolidation() throws IOException {
435 ConsolidationData consolidationData = new ConsolidationData();
436 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
437 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
438 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
442 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
444 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
445 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
446 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
448 TestUtils.updateComputeTemplateConsolidationData(
450 computeNodeTypeName, "server_ps01",
451 null, null, null, null, null, null,
452 portTypeToIdList, consolidationData);
454 TestUtils.updateComputeTemplateConsolidationData(
456 computeNodeTypeName, "server_ps02",
457 null, null, null, null, null, null,
458 portTypeToIdList, consolidationData);
460 TestUtils.updateComputeTemplateConsolidationData(
462 computeNodeTypeName, "server_ps03",
463 null, null, null, null, null, null,
464 portTypeToIdList, consolidationData);
466 TestUtils.initPortConsolidationData(mainST, consolidationData);
467 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
468 null, null, null, null, null,
470 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
471 null, null, null, null, null,
474 translationContext.setConsolidationData(consolidationData);
475 List<UnifiedCompositionMode> expectedUnifiedModes =
476 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
477 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
481 public void testFalseComputeConsolidationForTwoSimilarImageNamesAndOneDiff() throws IOException {
482 ConsolidationData consolidationData = new ConsolidationData();
483 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
484 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.pd_server";
485 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
486 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_image_name_diff",
489 TestUtils.initComputeNodeTypeInConsolidationData(
490 mainST, computeNodeTypeName1, consolidationData);
491 TestUtils.initComputeNodeTypeInConsolidationData(
492 mainST, computeNodeTypeName2, consolidationData);
494 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
495 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
496 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
498 TestUtils.updateComputeTemplateConsolidationData(
500 computeNodeTypeName1, "server_ps01",
501 null, null, null, null, null, null,
502 portTypeToIdList, consolidationData);
504 TestUtils.updateComputeTemplateConsolidationData(
506 computeNodeTypeName1, "server_ps02",
507 null, null, null, null, null, null,
508 portTypeToIdList, consolidationData);
510 TestUtils.updateComputeTemplateConsolidationData(
512 computeNodeTypeName1, "server_ps03",
513 null, null, null, null, null, null,
514 portTypeToIdList, consolidationData);
516 TestUtils.updateComputeTemplateConsolidationData(
518 computeNodeTypeName2, "server_pd01",
519 null, null, null, null, null, null,
520 portTypeToIdList, consolidationData);
522 TestUtils.updateComputeTemplateConsolidationData(
524 computeNodeTypeName2, "server_pd02",
525 null, null, null, null, null, null,
526 portTypeToIdList, consolidationData);
528 TestUtils.updateComputeTemplateConsolidationData(
530 computeNodeTypeName2, "server_pd03",
531 null, null, null, null, null, null,
532 portTypeToIdList, consolidationData);
534 TestUtils.initPortConsolidationData(mainST, consolidationData);
535 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
536 null, null, null, null, null,
538 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
539 null, null, null, null, null,
542 translationContext.setConsolidationData(consolidationData);
543 List<UnifiedCompositionMode> expectedUnifiedModes =
545 .asList(UnifiedCompositionMode.CatalogInstance, UnifiedCompositionMode.CatalogInstance);
546 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
550 public void testFalseComputeConsolidationOneImageNameMissing() throws IOException {
551 ConsolidationData consolidationData = new ConsolidationData();
552 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.pd_server";
553 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
554 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_image_missing",
557 TestUtils.initComputeNodeTypeInConsolidationData(
558 mainST, computeNodeTypeName, consolidationData);
560 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
561 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
562 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
564 TestUtils.updateComputeTemplateConsolidationData(
566 computeNodeTypeName, "server_pd01",
567 null, null, null, null, null, null,
568 portTypeToIdList, consolidationData);
570 TestUtils.updateComputeTemplateConsolidationData(
572 computeNodeTypeName, "server_pd02",
573 null, null, null, null, null, null,
574 portTypeToIdList, consolidationData);
576 TestUtils.updateComputeTemplateConsolidationData(
578 computeNodeTypeName, "server_pd03",
579 null, null, null, null, null, null,
580 portTypeToIdList, consolidationData);
582 TestUtils.initPortConsolidationData(mainST, consolidationData);
583 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
584 null, null, null, null, null,
586 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
587 null, null, null, null, null,
590 translationContext.setConsolidationData(consolidationData);
591 List<UnifiedCompositionMode> expectedUnifiedModes =
592 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
593 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
597 public void testFalseComputeConsolidationForTwoSimilarFlavorNamesAndOneDiff() throws IOException {
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_flavor_name_diff",
605 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
607 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
608 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
609 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
611 TestUtils.updateComputeTemplateConsolidationData(
613 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
614 portTypeToIdList, consolidationData);
616 TestUtils.updateComputeTemplateConsolidationData(
618 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
619 portTypeToIdList, consolidationData);
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,
630 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
631 null, null, null, null, null,
634 translationContext.setConsolidationData(consolidationData);
635 List<UnifiedCompositionMode> expectedUnifiedModes =
636 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
637 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
641 public void testFalsePortConsolidationForOneDiffFixedIpsValue() throws IOException {
642 ConsolidationData consolidationData = new ConsolidationData();
643 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
644 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
645 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_exCP_naming_diff",
649 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
651 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
652 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
653 TestUtils.updateComputeTemplateConsolidationData(
655 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
656 portTypeToIdList, consolidationData);
658 portTypeToIdList = new ArrayList<>();
659 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
660 TestUtils.updateComputeTemplateConsolidationData(
662 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
663 portTypeToIdList, consolidationData);
665 portTypeToIdList = new ArrayList<>();
666 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
667 TestUtils.updateComputeTemplateConsolidationData(
669 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
670 portTypeToIdList, consolidationData);
672 TestUtils.initPortConsolidationData(mainST, consolidationData);
673 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
674 null, null, null, null, null,
677 translationContext.setConsolidationData(consolidationData);
678 List<UnifiedCompositionMode> expectedUnifiedModes =
679 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
680 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
684 public void testFalsePortConsolidationForOneDiffExpcNaming() {
689 public void testFalsePortConsolidationForTwoPortsWithFixedIpsAndOneWithout() throws IOException {
690 ConsolidationData consolidationData = new ConsolidationData();
691 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
692 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
693 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_fixed_ips",
697 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
699 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
700 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
701 TestUtils.updateComputeTemplateConsolidationData(
703 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
704 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 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
728 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
732 public void testFalsePortConsolidationForTwoPortsWithAddressPairsAndOneWithout()
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_allowed_address_pairs",
741 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
743 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
744 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
745 TestUtils.updateComputeTemplateConsolidationData(
747 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
748 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);
756 portTypeToIdList = new ArrayList<>();
757 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
758 TestUtils.updateComputeTemplateConsolidationData(
760 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
761 portTypeToIdList, consolidationData);
763 TestUtils.initPortConsolidationData(mainST, consolidationData);
764 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
765 null, null, null, null, null,
768 translationContext.setConsolidationData(consolidationData);
769 List<UnifiedCompositionMode> expectedUnifiedModes =
770 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
771 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
775 public void testFalsePortConsolidationForTwoPortsWithMacAddressAndOneWithout()
777 ConsolidationData consolidationData = new ConsolidationData();
778 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
779 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
780 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_mac_address",
784 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
786 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
787 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
788 TestUtils.updateComputeTemplateConsolidationData(
790 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
791 portTypeToIdList, consolidationData);
793 portTypeToIdList = new ArrayList<>();
794 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
795 TestUtils.updateComputeTemplateConsolidationData(
797 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
798 portTypeToIdList, consolidationData);
799 portTypeToIdList = new ArrayList<>();
800 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
801 TestUtils.updateComputeTemplateConsolidationData(
803 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
804 portTypeToIdList, consolidationData);
806 TestUtils.initPortConsolidationData(mainST, consolidationData);
807 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
808 null, null, null, null, null,
811 translationContext.setConsolidationData(consolidationData);
812 List<UnifiedCompositionMode> expectedUnifiedModes =
813 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
814 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
818 public void testValidPortConsolidationForPortsWithNoneOfTheCheckedProperties()
820 ConsolidationData consolidationData = new ConsolidationData();
821 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
822 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
823 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/ports_with_none_of_the_properties",
827 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
829 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
830 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
831 TestUtils.updateComputeTemplateConsolidationData(
833 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
834 portTypeToIdList, consolidationData);
836 portTypeToIdList = new ArrayList<>();
837 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
838 TestUtils.updateComputeTemplateConsolidationData(
840 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
841 portTypeToIdList, consolidationData);
843 portTypeToIdList = new ArrayList<>();
844 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
845 TestUtils.updateComputeTemplateConsolidationData(
847 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
848 portTypeToIdList, consolidationData);
850 TestUtils.initPortConsolidationData(mainST, consolidationData);
851 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
852 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
853 Collections.singletonList("group_id_1"), null,
856 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
857 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
858 Collections.singletonList("group_id_1"), null,
861 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
862 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
863 Collections.singletonList("group_id_1"), null,
867 translationContext.setConsolidationData(consolidationData);
868 List<UnifiedCompositionMode> expectedUnifiedModes =
869 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
870 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
874 public void testComputeRelationsSimilarBetweenComputeNodes() throws IOException {
875 ConsolidationData consolidationData = new ConsolidationData();
876 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
877 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
878 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_with_same_relations",
882 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
884 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
885 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
886 TestUtils.updateComputeTemplateConsolidationData(
888 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
889 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
890 Collections.singletonList("group_id1"),
895 portTypeToIdList = new ArrayList<>();
896 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
897 TestUtils.updateComputeTemplateConsolidationData(
899 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
900 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
901 Collections.singletonList("group_id1"),
906 portTypeToIdList = new ArrayList<>();
907 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
908 TestUtils.updateComputeTemplateConsolidationData(
910 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
911 Collections.singletonList("cmaui_volume"),
912 Collections.singletonList("cmaui_volume"), Collections.singletonList("group_id1"), null,
917 TestUtils.initPortConsolidationData(mainST, consolidationData);
918 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
919 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
920 Collections.singletonList("group_id_1"), null,
923 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
924 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
925 Collections.singletonList("group_id_1"), null,
928 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
929 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
930 Collections.singletonList("group_id_1"), null,
935 translationContext.setConsolidationData(consolidationData);
936 List<UnifiedCompositionMode> expectedUnifiedModes =
937 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
938 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
942 public void testNodesInRelationsDiffBetweenThreeComputes() throws IOException {
943 ConsolidationData consolidationData = new ConsolidationData();
944 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
945 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
946 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
950 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
952 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
953 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
954 TestUtils.updateComputeTemplateConsolidationData(
956 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
957 Collections.singletonList
958 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
959 Collections.singletonList("group_id1"), null, null,
963 portTypeToIdList = new ArrayList<>();
964 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
965 TestUtils.updateComputeTemplateConsolidationData(
967 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
968 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
969 Collections.singletonList("group_id1"),
974 portTypeToIdList = new ArrayList<>();
975 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
976 TestUtils.updateComputeTemplateConsolidationData(
978 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_2"),
979 Collections.singletonList
980 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
981 Collections.singletonList("group_id1"), null, null,
985 TestUtils.initPortConsolidationData(mainST, consolidationData);
986 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
990 translationContext.setConsolidationData(consolidationData);
991 List<UnifiedCompositionMode> expectedUnifiedModes =
992 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
993 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
997 public void testNodesOutRelationsDiffBetweenThreeComputes() throws IOException {
998 ConsolidationData consolidationData = new ConsolidationData();
999 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1000 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1001 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1005 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1007 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1008 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1009 TestUtils.updateComputeTemplateConsolidationData(
1011 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1012 Collections.singletonList
1013 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1014 Collections.singletonList("group_id1"), null, null,
1018 portTypeToIdList = new ArrayList<>();
1019 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1020 TestUtils.updateComputeTemplateConsolidationData(
1022 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1023 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1024 Collections.singletonList("group_id1"),
1029 portTypeToIdList = new ArrayList<>();
1030 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1031 TestUtils.updateComputeTemplateConsolidationData(
1033 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1034 Collections.singletonList("cmaui_volume_1"), Collections.singletonList("cmaui_volume"),
1035 Collections.singletonList("group_id1"),
1040 TestUtils.initPortConsolidationData(mainST, consolidationData);
1041 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1045 translationContext.setConsolidationData(consolidationData);
1046 List<UnifiedCompositionMode> expectedUnifiedModes =
1047 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1048 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1052 public void testVolumeRelationsDiffBetweenThreeComputes() throws IOException {
1053 ConsolidationData consolidationData = new ConsolidationData();
1054 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1055 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1056 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
1060 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1062 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1063 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1064 TestUtils.updateComputeTemplateConsolidationData(
1066 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1067 Collections.singletonList
1068 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1069 Collections.singletonList("group_id1"), null, null,
1073 portTypeToIdList = new ArrayList<>();
1074 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1075 TestUtils.updateComputeTemplateConsolidationData(
1077 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1078 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1079 Collections.singletonList("group_id1"),
1084 portTypeToIdList = new ArrayList<>();
1085 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1086 TestUtils.updateComputeTemplateConsolidationData(
1088 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1089 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume_1"),
1090 Collections.singletonList("group_id1"),
1095 TestUtils.initPortConsolidationData(mainST, consolidationData);
1096 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1100 translationContext.setConsolidationData(consolidationData);
1101 List<UnifiedCompositionMode> expectedUnifiedModes =
1102 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1103 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1107 public void testGroupRelationsDiffBetweenThreeComputes() throws IOException {
1108 ConsolidationData consolidationData = new ConsolidationData();
1109 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1110 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1111 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
1115 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1117 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1118 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1119 TestUtils.updateComputeTemplateConsolidationData(
1121 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1122 Collections.singletonList
1123 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1124 Collections.singletonList("group_id_1"), null,
1129 portTypeToIdList = new ArrayList<>();
1130 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1131 TestUtils.updateComputeTemplateConsolidationData(
1133 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1134 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1135 Collections.singletonList("group_id_1"),
1140 portTypeToIdList = new ArrayList<>();
1141 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1142 TestUtils.updateComputeTemplateConsolidationData(
1144 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1145 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1146 Collections.singletonList("group_id_2"),
1151 TestUtils.initPortConsolidationData(mainST, consolidationData);
1152 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1156 translationContext.setConsolidationData(consolidationData);
1157 List<UnifiedCompositionMode> expectedUnifiedModes =
1158 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1159 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1163 public void testPortConsolidationDataRelationsSimilar() throws IOException {
1164 ConsolidationData consolidationData = new ConsolidationData();
1165 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1166 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1167 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1171 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1173 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1174 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1175 TestUtils.updateComputeTemplateConsolidationData(
1177 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1178 Collections.singletonList
1179 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1180 Collections.singletonList("group_id_1"), null,
1185 portTypeToIdList = new ArrayList<>();
1186 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1187 TestUtils.updateComputeTemplateConsolidationData(
1189 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1190 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1191 Collections.singletonList("group_id_1"),
1196 portTypeToIdList = new ArrayList<>();
1197 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1198 TestUtils.updateComputeTemplateConsolidationData(
1200 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1201 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1202 Collections.singletonList("group_id_1"),
1207 TestUtils.initPortConsolidationData(mainST, consolidationData);
1208 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1209 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1210 Collections.singletonList("group_id_1"), null,
1213 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1214 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1215 Collections.singletonList("group_id_1"), null,
1218 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1219 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1220 Collections.singletonList("group_id_1"), null,
1224 translationContext.setConsolidationData(consolidationData);
1225 List<UnifiedCompositionMode> expectedUnifiedModes =
1226 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1227 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1231 public void testNodesInRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1232 ConsolidationData consolidationData = new ConsolidationData();
1233 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1234 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1235 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1239 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1241 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1242 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1243 TestUtils.updateComputeTemplateConsolidationData(
1245 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1246 Collections.singletonList
1247 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1248 Collections.singletonList("group_id_1"), null,
1253 portTypeToIdList = new ArrayList<>();
1254 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1255 TestUtils.updateComputeTemplateConsolidationData(
1257 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1258 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1259 Collections.singletonList("group_id_1"),
1264 portTypeToIdList = new ArrayList<>();
1265 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1266 TestUtils.updateComputeTemplateConsolidationData(
1268 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1269 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1270 Collections.singletonList("group_id_1"),
1275 TestUtils.initPortConsolidationData(mainST, consolidationData);
1276 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1277 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1278 Collections.singletonList("group_id_1"), null,
1281 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1282 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1283 Collections.singletonList("group_id_1"), null,
1286 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1287 Collections.singletonList("node_in_2"), Collections.singletonList("net_id_1"),
1288 Collections.singletonList("group_id_1"), null,
1292 translationContext.setConsolidationData(consolidationData);
1293 List<UnifiedCompositionMode> expectedUnifiedModes =
1294 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1295 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1299 public void testNodesOutRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1300 ConsolidationData consolidationData = new ConsolidationData();
1301 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1302 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1303 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1307 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1309 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1310 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1311 TestUtils.updateComputeTemplateConsolidationData(
1313 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1314 Collections.singletonList
1315 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1316 Collections.singletonList("group_id_1"), null,
1321 portTypeToIdList = new ArrayList<>();
1322 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1323 TestUtils.updateComputeTemplateConsolidationData(
1325 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1326 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1327 Collections.singletonList("group_id_1"),
1332 portTypeToIdList = new ArrayList<>();
1333 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1334 TestUtils.updateComputeTemplateConsolidationData(
1336 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1337 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1338 Collections.singletonList("group_id_1"),
1343 TestUtils.initPortConsolidationData(mainST, consolidationData);
1344 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1345 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1346 Collections.singletonList("group_id_1"), null,
1349 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1350 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1351 Collections.singletonList("group_id_1"), null,
1354 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1355 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_2"),
1356 Collections.singletonList("group_id_1"), null,
1360 translationContext.setConsolidationData(consolidationData);
1361 List<UnifiedCompositionMode> expectedUnifiedModes =
1362 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1363 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1367 public void testGroupIdsRelationsDiffBetweenThreePortConsolidationDatas() throws IOException {
1368 ConsolidationData consolidationData = new ConsolidationData();
1369 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1370 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1371 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1375 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1377 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1378 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1379 TestUtils.updateComputeTemplateConsolidationData(
1381 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1382 Collections.singletonList
1383 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1384 Collections.singletonList("group_id_1"), null,
1389 portTypeToIdList = new ArrayList<>();
1390 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1391 TestUtils.updateComputeTemplateConsolidationData(
1393 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1394 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1395 Collections.singletonList("group_id_1"),
1400 portTypeToIdList = new ArrayList<>();
1401 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1402 TestUtils.updateComputeTemplateConsolidationData(
1404 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1405 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1406 Collections.singletonList("group_id_1"),
1411 TestUtils.initPortConsolidationData(mainST, consolidationData);
1412 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1413 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1414 Arrays.asList("group_id_1", "group_id_2"), null, null,
1416 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1417 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1418 Arrays.asList("group_id_1", "group_id_2"), null, null,
1420 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1421 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1422 Arrays.asList("group_id_1", "group_id_3"), null, null,
1425 translationContext.setConsolidationData(consolidationData);
1426 List<UnifiedCompositionMode> expectedUnifiedModes =
1427 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1428 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1432 public void testValidConsolidationForComputesWithValidGetAttr() throws IOException {
1433 ConsolidationData consolidationData = new ConsolidationData();
1434 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1435 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1436 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1440 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1442 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1443 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1445 TestUtils.updateComputeTemplateConsolidationData(
1447 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1448 Collections.singletonList
1449 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1450 Collections.singletonList("group_id_1"),
1451 Collections.singletonList("node_1"), null,
1455 portTypeToIdList = new ArrayList<>();
1456 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1457 TestUtils.updateComputeTemplateConsolidationData(
1459 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1460 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1461 Collections.singletonList("group_id_1"),
1462 Collections.singletonList("node_2"), null,
1466 portTypeToIdList = new ArrayList<>();
1467 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1468 TestUtils.updateComputeTemplateConsolidationData(
1470 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1471 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1472 Collections.singletonList("group_id_1"),
1473 Collections.singletonList("node_3"), null,
1477 TestUtils.initPortConsolidationData(mainST, consolidationData);
1478 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1479 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1480 Arrays.asList("group_id_1", "group_id_2"), null, null,
1482 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1483 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1484 Arrays.asList("group_id_1", "group_id_2"), null, null,
1486 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1487 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1488 Arrays.asList("group_id_1", "group_id_2"), null, null,
1491 translationContext.setConsolidationData(consolidationData);
1492 List<UnifiedCompositionMode> expectedUnifiedModes =
1493 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1494 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1498 public void testInvalidConsolidationForComputesWithGetAttrForEachOther() throws IOException {
1499 ConsolidationData consolidationData = new ConsolidationData();
1500 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1501 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1502 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1506 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1508 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1509 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1511 TestUtils.updateComputeTemplateConsolidationData(
1513 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1514 Collections.singletonList
1515 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1516 Collections.singletonList("group_id_1"),
1517 Collections.singletonList("server_ps02"), null,
1521 portTypeToIdList = new ArrayList<>();
1522 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1523 TestUtils.updateComputeTemplateConsolidationData(
1525 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1526 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1527 Collections.singletonList("group_id_1"),
1528 Collections.singletonList("node_1"), null,
1532 portTypeToIdList = new ArrayList<>();
1533 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1534 TestUtils.updateComputeTemplateConsolidationData(
1536 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1537 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1538 Collections.singletonList("group_id_1"),
1539 Collections.singletonList("node_2"), null,
1543 TestUtils.initPortConsolidationData(mainST, consolidationData);
1544 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1545 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1546 Arrays.asList("group_id_1", "group_id_2"), null, null,
1548 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1549 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1550 Arrays.asList("group_id_1", "group_id_2"), null, null,
1552 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1553 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1554 Arrays.asList("group_id_1", "group_id_2"), null, null,
1557 translationContext.setConsolidationData(consolidationData);
1558 List<UnifiedCompositionMode> expectedUnifiedModes =
1559 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1560 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1564 public void testValidConsolidationForPortsWithValidGetAttr() throws IOException {
1565 ConsolidationData consolidationData = new ConsolidationData();
1566 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1567 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1568 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1572 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1574 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1575 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1577 TestUtils.updateComputeTemplateConsolidationData(
1579 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1580 Collections.singletonList
1581 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1582 Collections.singletonList("group_id_1"), null,
1587 portTypeToIdList = new ArrayList<>();
1588 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1589 TestUtils.updateComputeTemplateConsolidationData(
1591 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1592 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1593 Collections.singletonList("group_id_1"),
1598 portTypeToIdList = new ArrayList<>();
1599 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1600 TestUtils.updateComputeTemplateConsolidationData(
1602 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1603 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1604 Collections.singletonList("group_id_1"),
1609 TestUtils.initPortConsolidationData(mainST, consolidationData);
1610 List<String> portNodeTemplateIds =
1611 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1612 List<List<String>> nodesConnectedInIds =
1613 Arrays.asList(Collections.singletonList("node_in_1"),
1614 Collections.singletonList("node_in_1"),
1615 Collections.singletonList("node_in_1"));
1616 List<List<String>> nodesConnectedOutIds =
1617 Arrays.asList(Collections.singletonList("node_out_1"),
1618 Collections.singletonList("node_out_1"),
1619 Collections.singletonList("node_out_1"));
1620 List<List<String>> getAttrInIds =
1621 Arrays.asList(Collections.singletonList("get_attr_1"),
1622 Collections.singletonList("get_attr_2"),
1623 Collections.singletonList("get_attr_3"));
1624 List<List<String>> groupIds =
1625 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
1626 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1627 List<List<Pair<String, GetAttrFuncData>>> getAttrOut =
1628 Arrays.asList(null, null, null);
1630 TestUtils.updateMultiplePortConsolidationDatas(
1631 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1632 getAttrInIds, getAttrOut, consolidationData);
1634 translationContext.setConsolidationData(consolidationData);
1635 List<UnifiedCompositionMode> expectedUnifiedModes =
1636 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1637 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1641 public void testInvalidConsolidationForPortsWithGetAttrInForEachOther() throws IOException {
1642 ConsolidationData consolidationData = new ConsolidationData();
1643 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1644 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1645 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation" +
1646 "/three_ports_similar_relations",
1650 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1652 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1653 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1655 TestUtils.updateComputeTemplateConsolidationData(
1657 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1658 Collections.singletonList
1659 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1660 Collections.singletonList("group_id_1"),
1661 Collections.singletonList("node_1"), null,
1665 portTypeToIdList = new ArrayList<>();
1666 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1667 TestUtils.updateComputeTemplateConsolidationData(
1669 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1670 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1671 Collections.singletonList("group_id_1"),
1672 Collections.singletonList("node_2"), null,
1676 portTypeToIdList = new ArrayList<>();
1677 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1678 TestUtils.updateComputeTemplateConsolidationData(
1680 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1681 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1682 Collections.singletonList("group_id_1"),
1683 Collections.singletonList("node_3"), null,
1687 TestUtils.initPortConsolidationData(mainST, consolidationData);
1688 List<String> portNodeTemplateIds =
1689 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1690 List<List<String>> nodesConnectedInIds =
1691 Arrays.asList(Collections.singletonList("node_in_1"),
1692 Collections.singletonList("node_in_1"),
1693 Collections.singletonList("node_in_1"));
1694 List<List<String>> nodesConnectedOutIds =
1695 Arrays.asList(Collections.singletonList("node_out_1"),
1696 Collections.singletonList("node_out_1"),
1697 Collections.singletonList("node_out_1"));
1698 List<List<String>> getAttrInIds =
1699 Arrays.asList(Collections.singletonList("get_attr_1"),
1700 Collections.singletonList("get_attr_2"),
1701 Collections.singletonList("cm01_port_1"));
1702 List<List<String>> groupIds =
1703 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
1704 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1705 List<List<Pair<String, GetAttrFuncData>>> getAttrOut =
1706 Arrays.asList(null, null, null);
1708 TestUtils.updateMultiplePortConsolidationDatas(
1709 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1710 getAttrInIds, getAttrOut, consolidationData);
1712 translationContext.setConsolidationData(consolidationData);
1713 List<UnifiedCompositionMode> expectedUnifiedModes =
1714 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1715 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1719 public void testValidConsolidationForComputesWithSamePortTypesPointingByGetAttrIn() throws
1721 ConsolidationData consolidationData = new ConsolidationData();
1722 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1723 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1724 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1728 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1730 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1731 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1733 TestUtils.updateComputeTemplateConsolidationData(
1735 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1736 Collections.singletonList
1737 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1738 Collections.singletonList("group_id_1"),
1739 Collections.singletonList("cm01_port_1"), null,
1743 portTypeToIdList = new ArrayList<>();
1744 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1745 TestUtils.updateComputeTemplateConsolidationData(
1747 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1748 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1749 Collections.singletonList("group_id_1"),
1750 Collections.singletonList("cm01_port_2"), null,
1754 portTypeToIdList = new ArrayList<>();
1755 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1756 TestUtils.updateComputeTemplateConsolidationData(
1758 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1759 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1760 Collections.singletonList("group_id_1"),
1761 Collections.singletonList("cm01_port_3"), null,
1765 TestUtils.initPortConsolidationData(mainST, consolidationData);
1766 List<String> portNodeTemplateIds =
1767 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1768 List<List<String>> nodesConnectedInIds =
1769 Arrays.asList(Collections.singletonList("node_in_1"),
1770 Collections.singletonList("node_in_1"),
1771 Collections.singletonList("node_in_1"));
1772 List<List<String>> nodesConnectedOutIds =
1773 Arrays.asList(Collections.singletonList("node_out_1"),
1774 Collections.singletonList("node_out_1"),
1775 Collections.singletonList("node_out_1"));
1776 List<List<String>> getAttrInIds =
1777 Arrays.asList(Collections.singletonList("get_attr_1"),
1778 Collections.singletonList("get_attr_2"),
1779 Collections.singletonList("get_attr_3"));
1780 List<List<String>> groupIds =
1781 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
1782 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1783 List<List<Pair<String, GetAttrFuncData>>> getAttrOut =
1784 Arrays.asList(null, null, null);
1786 TestUtils.updateMultiplePortConsolidationDatas(
1787 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1788 getAttrInIds, getAttrOut, consolidationData);
1790 translationContext.setConsolidationData(consolidationData);
1791 List<UnifiedCompositionMode> expectedUnifiedModes =
1792 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1793 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1797 public void testValidGetAttrOutFromComputes() throws IOException {
1798 ConsolidationData consolidationData = new ConsolidationData();
1799 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1800 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1801 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1805 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1807 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1808 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1809 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1810 TestUtils.updateComputeTemplateConsolidationData(
1812 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1813 Collections.singletonList
1814 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1815 Collections.singletonList("group_id_1"),
1816 Collections.singletonList("cm01_port_1"),
1817 Collections.singletonList(
1818 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1822 portTypeToIdList = new ArrayList<>();
1823 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1824 TestUtils.updateComputeTemplateConsolidationData(
1826 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1827 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1828 Collections.singletonList("group_id_1"),
1829 Collections.singletonList("cm01_port_1"),
1830 Collections.singletonList(
1831 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1835 portTypeToIdList = new ArrayList<>();
1836 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1837 TestUtils.updateComputeTemplateConsolidationData(
1839 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1840 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1841 Collections.singletonList("group_id_1"),
1842 Collections.singletonList("cm01_port_1"),
1843 Collections.singletonList(
1844 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1848 TestUtils.initPortConsolidationData(mainST, consolidationData);
1849 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1850 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1851 Arrays.asList("group_id_1", "group_id_2"),
1852 Collections.singletonList("sm01_port_2"), null,
1854 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1855 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1856 Arrays.asList("group_id_1", "group_id_2"),
1857 Collections.singletonList("sm01_port_1"), null,
1859 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1860 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1861 Arrays.asList("group_id_1", "group_id_2"),
1862 Collections.singletonList("rm01_port_1"), null,
1865 translationContext.setConsolidationData(consolidationData);
1866 List<UnifiedCompositionMode> expectedUnifiedModes =
1867 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1868 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1872 public void testInValidGetAttrOutFromComputesPortTypeDifferent() throws IOException {
1873 ConsolidationData consolidationData = new ConsolidationData();
1874 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1875 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1876 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1880 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1882 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1883 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1884 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1885 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1886 TestUtils.updateComputeTemplateConsolidationData(
1888 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1889 Collections.singletonList
1890 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1891 Collections.singletonList("group_id_1"),
1892 Collections.singletonList("cm01_port_1"),
1893 Collections.singletonList(
1894 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1898 portTypeToIdList = new ArrayList<>();
1899 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1900 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1901 TestUtils.updateComputeTemplateConsolidationData(
1903 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1904 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1905 Collections.singletonList("group_id_1"),
1906 Collections.singletonList("cm01_port_1"),
1907 Collections.singletonList(
1908 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1912 portTypeToIdList = new ArrayList<>();
1913 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1914 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1915 TestUtils.updateComputeTemplateConsolidationData(
1917 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1918 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1919 Collections.singletonList("group_id_1"),
1920 Collections.singletonList("cm01_port_1"),
1921 Collections.singletonList(
1922 new ImmutablePair<>("sm01_port_1", getAttrFuncData)),
1926 TestUtils.initPortConsolidationData(mainST, consolidationData);
1928 List<String> portNodeTemplateIds =
1929 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1",
1932 List<List<String>> nodesConnectedInIds =
1933 Arrays.asList(Collections.singletonList("node_in_1"),
1934 Collections.singletonList("node_in_1"), Collections.singletonList
1935 ("node_in_1"), Collections.singletonList("node_in_1"),
1936 Collections.singletonList("node_in_1"),
1937 Collections.singletonList("node_in_1"));
1938 List<List<String>> nodesConnectedOutIds =
1939 Arrays.asList(Collections.singletonList("node_out_1"),
1940 Collections.singletonList("node_out_1"), Collections.singletonList
1941 ("node_out_1"), Collections.singletonList("node_out_1"),
1942 Collections.singletonList("node_out_1"),
1943 Collections.singletonList("node_out_1"));
1944 List<List<String>> getAttrInIds =
1945 Arrays.asList(Collections.singletonList("get_attr_1"),
1946 Collections.singletonList("get_attr_2"), Collections.singletonList
1947 ("get_attr_3"), Collections.singletonList("get_attr_1"),
1948 Collections.singletonList("get_attr_2"),
1949 Collections.singletonList("get_attr_3"));
1950 List<List<String>> groupIds =
1951 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
1952 Arrays.asList("group_id_1",
1953 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
1954 Arrays.asList("group_id_1", "group_id_2"),
1955 Arrays.asList("group_id_1",
1956 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1957 List<List<Pair<String, GetAttrFuncData>>> getAttrOut =
1958 Arrays.asList(null, null, null, null,
1961 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
1962 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
1965 translationContext.setConsolidationData(consolidationData);
1966 List<UnifiedCompositionMode> expectedUnifiedModes =
1967 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
1968 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1972 public void testValidGetAttrOutFromPorts() throws IOException {
1973 ConsolidationData consolidationData = new ConsolidationData();
1974 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1975 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1976 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1980 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1982 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1983 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1984 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1985 TestUtils.updateComputeTemplateConsolidationData(
1987 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1988 Collections.singletonList
1989 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1990 Collections.singletonList("group_id_1"),
1991 Collections.singletonList("cm01_port_1"), null,
1995 portTypeToIdList = new ArrayList<>();
1996 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1997 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1998 TestUtils.updateComputeTemplateConsolidationData(
2000 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
2001 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
2002 Collections.singletonList("group_id_1"),
2003 Collections.singletonList("cm01_port_1"), null,
2007 portTypeToIdList = new ArrayList<>();
2008 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
2009 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
2010 TestUtils.updateComputeTemplateConsolidationData(
2012 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
2013 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
2014 Collections.singletonList("group_id_1"),
2015 Collections.singletonList("cm01_port_1"), null,
2019 TestUtils.initPortConsolidationData(mainST, consolidationData);
2021 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
2022 List<String> portNodeTemplateIds =
2023 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1",
2026 List<List<String>> nodesConnectedInIds =
2027 Arrays.asList(Collections.singletonList("node_in_1"),
2028 Collections.singletonList("node_in_1"), Collections.singletonList
2029 ("node_in_1"), Collections.singletonList("node_in_1"),
2030 Collections.singletonList("node_in_1"),
2031 Collections.singletonList("node_in_1"));
2032 List<List<String>> nodesConnectedOutIds =
2033 Arrays.asList(Collections.singletonList("node_out_1"),
2034 Collections.singletonList("node_out_1"), Collections.singletonList
2035 ("node_out_1"), Collections.singletonList("node_out_1"),
2036 Collections.singletonList("node_out_1"),
2037 Collections.singletonList("node_out_1"));
2038 List<List<String>> getAttrInIds =
2039 Arrays.asList(null, null, null, null, null, null);
2040 List<List<String>> groupIds =
2041 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
2042 Arrays.asList("group_id_1",
2043 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
2044 Arrays.asList("group_id_1", "group_id_2"),
2045 Arrays.asList("group_id_1",
2046 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
2047 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
2048 Collections.singletonList(
2049 new ImmutablePair<>("sm01_port_1", getAttrFuncData)),
2050 Collections.singletonList(
2051 new ImmutablePair<>("sm01_port_2", getAttrFuncData)),
2052 Collections.singletonList(
2053 new ImmutablePair<>("sm01_port_3", getAttrFuncData)),
2054 Collections.singletonList(
2055 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
2056 Collections.singletonList(
2057 new ImmutablePair<>("cm01_port_2", getAttrFuncData)),
2058 Collections.singletonList(
2059 new ImmutablePair<>("cm01_port_3", getAttrFuncData)));
2061 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
2062 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
2065 translationContext.setConsolidationData(consolidationData);
2066 List<UnifiedCompositionMode> expectedUnifiedModes =
2067 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
2068 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
2072 public void testInvalidGetAttrOutFromPorts() throws IOException {
2073 ConsolidationData consolidationData = new ConsolidationData();
2074 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2075 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2076 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
2080 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
2082 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
2083 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
2084 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
2085 TestUtils.updateComputeTemplateConsolidationData(
2087 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
2088 Collections.singletonList
2089 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
2090 Collections.singletonList("group_id_1"),
2091 Collections.singletonList("cm01_port_1"), null,
2095 portTypeToIdList = new ArrayList<>();
2096 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
2097 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
2098 TestUtils.updateComputeTemplateConsolidationData(
2100 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
2101 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
2102 Collections.singletonList("group_id_1"),
2103 Collections.singletonList("cm01_port_1"), null,
2107 portTypeToIdList = new ArrayList<>();
2108 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
2109 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
2110 TestUtils.updateComputeTemplateConsolidationData(
2112 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
2113 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
2114 Collections.singletonList("group_id_1"),
2115 Collections.singletonList("cm01_port_1"), null,
2119 TestUtils.initPortConsolidationData(mainST, consolidationData);
2121 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
2122 List<String> portNodeTemplateIds =
2123 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1",
2126 List<List<String>> nodesConnectedInIds =
2127 Arrays.asList(Collections.singletonList("node_in_1"),
2128 Collections.singletonList("node_in_1"), Collections.singletonList
2129 ("node_in_1"), Collections.singletonList("node_in_1"),
2130 Collections.singletonList("node_in_1"),
2131 Collections.singletonList("node_in_1"));
2132 List<List<String>> nodesConnectedOutIds =
2133 Arrays.asList(Collections.singletonList("node_out_1"),
2134 Collections.singletonList("node_out_1"), Collections.singletonList
2135 ("node_out_1"), Collections.singletonList("node_out_1"),
2136 Collections.singletonList("node_out_1"),
2137 Collections.singletonList("node_out_1"));
2138 List<List<String>> getAttrInIds =
2139 Arrays.asList(null, null, null, null, null, null);
2140 List<List<String>> groupIds =
2141 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
2142 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
2143 Arrays.asList("group_id_1", "group_id_2"),
2144 Arrays.asList("group_id_1",
2145 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
2146 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
2147 Collections.singletonList(
2148 new ImmutablePair<>("server_ps01", getAttrFuncData)),
2149 Collections.singletonList(
2150 new ImmutablePair<>("server_ps01", getAttrFuncData)),
2151 Collections.singletonList(
2152 new ImmutablePair<>("sm01_port_3", getAttrFuncData)),
2153 Collections.singletonList(
2154 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
2155 Collections.singletonList(
2156 new ImmutablePair<>("cm01_port_2", getAttrFuncData)),
2157 Collections.singletonList(
2158 new ImmutablePair<>("cm01_port_3", getAttrFuncData)));
2160 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
2161 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
2164 translationContext.setConsolidationData(consolidationData);
2165 List<UnifiedCompositionMode> expectedUnifiedModes =
2166 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
2167 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
2171 public void testSubstitutionConsolidationPreConditionTrue() throws IOException {
2172 translationContext = new TranslationContext();
2173 String mainSTName = "MainServiceTemplate.yaml";
2174 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2176 ConsolidationData consolidationData = new ConsolidationData();
2177 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_pcm_001"),
2179 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2180 "org.openecomp.resource.vfc.nodes.heat" +
2181 ".pcm_server", consolidationData);
2182 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2183 "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
2184 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2185 "org.openecomp.resource.vfc.nodes.heat" +
2186 ".pcm_server", consolidationData);
2187 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2188 "org.openecomp.resource.vfc.nodes" +
2189 ".heat.pcm_server", "pcm_server", consolidationData);
2191 translationContext.setConsolidationData(consolidationData);
2193 addMockServiceTemplateToContext(mainSTName, "Main");
2194 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2196 verifySubstitutionServiceTemplateConsolidation
2197 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2198 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2199 UnifiedCompositionMode.NestedSingleCompute);
2203 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeType()
2204 throws IOException {
2205 translationContext = new TranslationContext();
2206 String mainSTName = "MainServiceTemplate.yaml";
2207 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2209 ConsolidationData consolidationData = new ConsolidationData();
2210 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_pcm_001"),
2212 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2213 "org.openecomp.resource.vfc.nodes.heat" +
2214 ".pcm_server", consolidationData);
2215 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2216 "org.openecomp.resource.vfc.nodes" +
2217 ".heat.pcm_server", "server_pcm_001", consolidationData);
2218 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2219 "org.openecomp.resource.vfc.nodes.heat" +
2220 ".pcm_server", consolidationData);
2222 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_oam_001"),
2224 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2225 "org.openecomp.resource.vfc.nodes.heat" +
2226 ".oam_server", consolidationData);
2227 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2228 "org.openecomp.resource.vfc.nodes.heat.oam_server", "server_oam_001", consolidationData);
2229 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2230 "org.openecomp.resource.vfc.nodes.heat" +
2231 ".oam_server", consolidationData);
2233 translationContext.setConsolidationData(consolidationData);
2235 addMockServiceTemplateToContext(mainSTName, "Main");
2236 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2238 verifySubstitutionServiceTemplateConsolidation
2239 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2240 translationContext.getTranslatedServiceTemplates().get
2241 (nestedServiceTemplateName), UnifiedCompositionMode.SingleSubstitution);
2245 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeOfSameType()
2246 throws IOException {
2247 translationContext = new TranslationContext();
2248 String mainSTName = "MainServiceTemplate.yaml";
2249 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2251 ConsolidationData consolidationData = new ConsolidationData();
2252 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_pcm_001"),
2254 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2255 "org.openecomp.resource.vfc.nodes.heat" +
2256 ".pcm_server", consolidationData);
2257 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2258 "org.openecomp.resource.vfc.nodes.heat" +
2259 ".pcm_server", consolidationData);
2260 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2261 "org.openecomp.resource.vfc.nodes" +
2262 ".heat.pcm_server", "pcm_server_1", consolidationData);
2265 .updateNestedConsolidationData(nestedServiceTemplateName,
2266 Collections.singletonList("server_pcm_002"),
2268 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2269 "org.openecomp.resource.vfc.nodes" +
2270 ".heat.pcm_server", "pcm_server_2", consolidationData);
2272 translationContext.setConsolidationData(consolidationData);
2274 addMockServiceTemplateToContext(mainSTName, "Main");
2275 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2277 Mockito.doNothing().when(consolidationService).serviceTemplateConsolidation
2278 (translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2279 translationContext);
2280 verifySubstitutionServiceTemplateConsolidation
2281 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2282 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2283 UnifiedCompositionMode.SingleSubstitution);
2287 public void testSubstitutionConsolidationPreConditionFalseNestedInsideNested() {
2288 translationContext = new TranslationContext();
2289 String mainSTName = "MainServiceTemplate.yaml";
2290 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2292 ConsolidationData consolidationData = new ConsolidationData();
2293 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_pcm_001"),
2295 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2296 "org.openecomp.resource.vfc.nodes.heat" +
2297 ".pcm_server", consolidationData);
2298 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2299 "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
2300 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2301 "org.openecomp.resource.vfc.nodes.heat" +
2302 ".pcm_server", consolidationData);
2303 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2304 "org.openecomp.resource.vfc.nodes" +
2305 ".heat.pcm_server", "pcm_server", consolidationData);
2308 .updateNestedConsolidationData(nestedServiceTemplateName,
2309 Collections.singletonList("nested_resource"),
2312 translationContext.setConsolidationData(consolidationData);
2314 addMockServiceTemplateToContext(mainSTName, "Main");
2315 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2317 verifySubstitutionServiceTemplateConsolidation
2318 (0, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2319 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2320 UnifiedCompositionMode.SingleSubstitution);
2324 public void testConsolidationPreConditionFalseDiffSubportTypes() throws IOException {
2325 translationContext = new TranslationContext();
2326 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2327 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2328 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2331 ConsolidationData consolidationData = new ConsolidationData();
2332 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2335 .addPortSubInterface(
2336 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2337 "role_1", "interface_1", null, null, null, null, consolidationData));
2339 .addPortSubInterface(
2340 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested2.yaml", 2,
2341 "role_2", "interface_2", null, null, null, null, consolidationData));
2342 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.SingleSubstitution));
2345 private void generateComputeAndPortConsolidationData(String computeNodeTypeName,
2346 ConsolidationData consolidationData) {
2348 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
2350 updateComputeConsolidationData("server_ps01", computeNodeTypeName, "cm01_port",
2351 "cm01_port_1", consolidationData);
2353 updateComputeConsolidationData("server_ps02", computeNodeTypeName, "cm01_port",
2354 "cm01_port_2", consolidationData);
2356 TestUtils.initPortConsolidationData(mainST, consolidationData);
2357 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
2358 null, null, null, null, null,
2360 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
2361 null, null, null, null, null,
2366 public void testConsolidationPreConditionFalseDiffSubportNumber() throws IOException {
2367 translationContext = new TranslationContext();
2368 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2369 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2370 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2373 ConsolidationData consolidationData = new ConsolidationData();
2374 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2377 .addPortSubInterface(
2378 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2379 "role_1", "interface_1", null, null, null, null, consolidationData));
2381 .addPortSubInterface(
2382 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2383 "role_2", "interface_2", null, null, null, null, consolidationData));
2385 .addPortSubInterface(
2386 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2387 "role_3", "interface_3", null, null, null, null, consolidationData));
2389 testConsolidation(1, toscaServiceModel,
2390 consolidationData, Collections.singletonList(UnifiedCompositionMode.SingleSubstitution));
2394 public void testConsolidationRuleFalseDifferentCountInResourceGroup() throws IOException {
2395 translationContext = new TranslationContext();
2396 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2397 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2398 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2401 ConsolidationData consolidationData = new ConsolidationData();
2402 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2405 .addPortSubInterface(
2406 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2407 "role_1", "interface_1", null, null, null, null, consolidationData));
2409 .addPortSubInterface(
2410 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 3,
2411 "role_1", "interface_2", null, null, null, null, consolidationData));
2413 testConsolidation(1, toscaServiceModel,
2414 consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2418 public void testConsolidationRuleFalseDifferentNodesConnectedInToResourceGroup()
2419 throws IOException {
2420 translationContext = new TranslationContext();
2421 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2422 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2423 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2426 ConsolidationData consolidationData = new ConsolidationData();
2427 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2430 .addPortSubInterface(
2431 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2432 "role_1", "interface_1", Collections.singletonList("node_1"), null, null, null,
2433 consolidationData));
2435 .addPortSubInterface(
2436 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2437 "role_1", "interface_2", Collections.singletonList("node_2"), null, null, null,
2438 consolidationData));
2440 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2444 public void testConsolidationRuleFalseDifferentNodesConnectedOutFromResourceGroup()
2445 throws IOException {
2446 translationContext = new TranslationContext();
2447 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2448 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2449 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2452 ConsolidationData consolidationData = new ConsolidationData();
2453 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2456 .addPortSubInterface(
2457 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2458 "role_1", "interface_1", null, Collections.singletonList("node_1"), null, null,
2459 consolidationData));
2461 .addPortSubInterface(
2462 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2463 "role_1", "interface_2", null, Collections.singletonList("node_2"), null, null,
2464 consolidationData));
2466 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2470 public void testConsolidationRuleFalseGetAttrInBetweenSubInterfacesOfSameType()
2471 throws IOException {
2472 translationContext = new TranslationContext();
2473 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2474 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2475 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2478 ConsolidationData consolidationData = new ConsolidationData();
2479 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2482 .addPortSubInterface(
2483 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2484 "role_1", "interface_1", null, null, Collections.singletonList("in_node_1"), null,
2485 consolidationData));
2487 .addPortSubInterface(
2488 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2489 "role_1", "interface_2", null, null, Collections.singletonList("interface_1"), null,
2490 consolidationData));
2492 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2496 public void testConsolidationRuleFalseGetAttrOutBetweenSubInterfacesOfSameType()
2497 throws IOException {
2498 translationContext = new TranslationContext();
2499 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2500 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2501 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2504 ConsolidationData consolidationData = new ConsolidationData();
2506 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
2508 updateComputeConsolidationData("server_ps01", computeNodeTypeName, "cm01_port",
2509 "cm01_port_1", consolidationData);
2510 updateComputeConsolidationData("server_ps02", computeNodeTypeName, "cm01_port",
2511 "cm01_port_2", consolidationData);
2513 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
2514 Pair<String, GetAttrFuncData> getAttrOutInvalid1 =
2515 new ImmutablePair<>("interface_1", getAttrFuncData);
2516 Pair<String, GetAttrFuncData> getAttrOutInvalid2 =
2517 new ImmutablePair<>("interface_2", getAttrFuncData);
2519 TestUtils.initPortConsolidationData(mainST, consolidationData);
2520 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
2521 null, null, null, null, null,
2523 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
2524 null, null, null, null, null,
2528 .addPortSubInterface(
2529 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2530 "role_1", "interface_1", null, null, null,
2531 Collections.singletonList(getAttrOutInvalid1), consolidationData));
2533 .addPortSubInterface(
2534 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2535 "role_1", "interface_2", null, null, null,
2536 Collections.singletonList(getAttrOutInvalid2), consolidationData));
2538 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2542 public void testConsolidationRuleFalseDifferentRoleInResourceGroup() throws IOException {
2543 translationContext = new TranslationContext();
2544 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2545 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2546 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2549 ConsolidationData consolidationData = new ConsolidationData();
2550 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2553 .addPortSubInterface(
2554 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2555 "role_1", "interface_1", null, null, null, null, consolidationData));
2557 .addPortSubInterface(
2558 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2559 "role_2", "interface_2", null, null, null, null, consolidationData));
2561 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2565 public void testConsolidationRuleTrueForSubInterfaces() throws IOException {
2566 translationContext = new TranslationContext();
2567 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2568 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2569 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2572 ConsolidationData consolidationData = new ConsolidationData();
2573 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2576 .addPortSubInterface(
2577 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2578 "role_1", "interface_1", Collections.singletonList("node_1"),
2579 Collections.singletonList("node_1"), null, null, consolidationData));
2581 .addPortSubInterface(
2582 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2583 "role_1", "interface_2", Collections.singletonList("node_1"),
2584 Collections.singletonList("node_1"), null, null, consolidationData));
2586 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.ScalingInstances));
2589 private void testConsolidation(int times, ToscaServiceModel toscaServiceModel,
2590 ConsolidationData consolidationData,
2591 List<UnifiedCompositionMode> expectedUnifiedModes) {
2592 Mockito.doNothing().when(unifiedCompositionServiceMock).createUnifiedComposition(
2598 translationContext.setConsolidationData(consolidationData);
2599 verifyMainServiceTemplateConsolidation(times, expectedUnifiedModes, toscaServiceModel);
2602 private void updateComputeConsolidationData(String computeNodeTemplateId,
2603 String computeNodeTypeName,
2605 String portNodeTemplateId,
2606 ConsolidationData consolidationData) {
2607 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
2608 portTypeToIdList.add(new ImmutablePair<>(portType, portNodeTemplateId));
2610 TestUtils.updateComputeTemplateConsolidationData(
2612 computeNodeTypeName, computeNodeTemplateId,
2613 null, null, null, null, null, null,
2614 portTypeToIdList, consolidationData);
2618 private void verifyMainServiceTemplateConsolidation(int times,
2619 List<UnifiedCompositionMode> expectedUnifiedCompositionModes,
2620 ToscaServiceModel toscaServiceModel) {
2621 consolidationService
2622 .serviceTemplateConsolidation(toscaServiceModel.getServiceTemplates().get(mainST),
2623 translationContext);
2625 ServiceTemplate mainServiceTemplate = toscaServiceModel.getServiceTemplates().get(mainST);
2626 verify(unifiedCompositionServiceMock, times(times))
2627 .createUnifiedComposition(
2628 eq(mainServiceTemplate),
2630 unifiedModelListArg.capture(),
2631 unifiedCompositionModeArg.capture(),
2632 eq(translationContext));
2634 List<UnifiedCompositionMode> actualUnifiedCompositionModes =
2635 unifiedCompositionModeArg.getAllValues();
2636 Assert.assertEquals(expectedUnifiedCompositionModes, actualUnifiedCompositionModes);
2639 private void verifySubstitutionServiceTemplateConsolidation(int times,
2640 ServiceTemplate mainST,
2641 ServiceTemplate nestedST,
2642 UnifiedCompositionMode expectedMode) {
2643 consolidationService.substitutionServiceTemplateConsolidation(null, mainST,
2644 nestedST, translationContext);
2646 if (expectedMode.equals(UnifiedCompositionMode.NestedSingleCompute)) {
2647 verify(unifiedCompositionServiceMock, times(times)).
2648 createUnifiedComposition(
2651 unifiedModelListArg.capture(),
2652 unifiedCompositionModeArg.capture(),
2653 eq(translationContext));
2654 Assert.assertEquals(expectedMode, unifiedCompositionModeArg.getValue());
2659 private void addMockServiceTemplateToContext(String serviceTemplateFileName,
2660 String templateName) {
2661 ServiceTemplate serviceTemplate = new ServiceTemplate();
2662 Map<String, String> metadata = new HashMap<>();
2663 metadata.put(ToscaConstants.ST_METADATA_TEMPLATE_NAME, templateName);
2664 serviceTemplate.setMetadata(metadata);
2665 translationContext.getTranslatedServiceTemplates()
2666 .put(serviceTemplateFileName, serviceTemplate);