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.net.URISyntaxException;
49 import java.util.ArrayList;
50 import java.util.Arrays;
51 import java.util.Collections;
52 import java.util.HashMap;
53 import java.util.List;
56 public class ConsolidationServiceTest {
60 private TranslationContext translationContext = new TranslationContext();
61 private static String mainST = "MainServiceTemplate.yaml";
64 private UnifiedCompositionService unifiedCompositionServiceMock;
67 private ArgumentCaptor<List<UnifiedCompositionData>> unifiedModelListArg;
69 private ArgumentCaptor<UnifiedCompositionMode> unifiedCompositionModeArg;
73 private ConsolidationService consolidationService;
76 public void setUp() throws Exception {
77 MockitoAnnotations.initMocks(this);
81 public void testConsolidationValidPreCondition() throws IOException, URISyntaxException {
83 ConsolidationData consolidationData = new ConsolidationData();
84 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
85 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel(
86 "/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/valid_pre_condition/",
90 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName,
93 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
94 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
95 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
97 TestUtils.updateComputeTemplateConsolidationData(
99 computeNodeTypeName, "server_ps01",
100 null, null, null, null, null, null,
101 portTypeToIdList, consolidationData);
103 TestUtils.updateComputeTemplateConsolidationData(
105 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
106 portTypeToIdList, consolidationData);
108 TestUtils.initPortConsolidationData(mainST, consolidationData);
109 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
110 null, null, null, null, null,
112 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
113 null, null, null, null, null,
116 translationContext.setConsolidationData(consolidationData);
117 List<UnifiedCompositionMode> expectedUnifiedModes =
118 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
120 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
124 public void testConsolidationFalsePreConditionOneComputeNode() throws IOException, URISyntaxException {
125 ConsolidationData consolidationData = new ConsolidationData();
126 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
127 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
128 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/one_compute_node/",
132 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
134 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
135 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
136 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
138 TestUtils.updateComputeTemplateConsolidationData(
140 computeNodeTypeName, "server_ps01",
141 null, null, null, null, null, null,
142 portTypeToIdList, consolidationData);
144 TestUtils.initPortConsolidationData(mainST, consolidationData);
145 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
146 null, null, null, null, null,
148 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
149 null, null, null, null, null,
152 translationContext.setConsolidationData(consolidationData);
153 List<UnifiedCompositionMode> expectedUnifiedModes =
154 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
155 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
159 public void testConsolidationFalsePreConditionMoreThanOnePortPerType() throws IOException, URISyntaxException {
160 ConsolidationData consolidationData = new ConsolidationData();
161 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
162 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
163 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/more_than_one_port/",
167 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
169 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
170 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
171 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
173 TestUtils.updateComputeTemplateConsolidationData(
175 computeNodeTypeName, "server_ps01",
176 null, null, null, null, null, null,
177 portTypeToIdList, consolidationData);
179 TestUtils.updateComputeTemplateConsolidationData(
181 computeNodeTypeName, "server_ps02",
182 null, null, null, null, null, null,
183 portTypeToIdList, consolidationData);
186 TestUtils.initPortConsolidationData(mainST, consolidationData);
188 translationContext.setConsolidationData(consolidationData);
189 List<UnifiedCompositionMode> expectedUnifiedModes =
190 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
191 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
195 public void testConsolidationFalsePreConditionDifferentPortTypesBetweenComputes()
196 throws IOException, URISyntaxException {
197 ConsolidationData consolidationData = new ConsolidationData();
198 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
199 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
200 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_port_types",
204 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
206 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
207 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
209 TestUtils.updateComputeTemplateConsolidationData(
211 computeNodeTypeName, "server_ps01",
212 null, null, null, null, null, null,
213 portTypeToIdList, consolidationData);
215 portTypeToIdList = new ArrayList<>();
216 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
218 TestUtils.updateComputeTemplateConsolidationData(
220 computeNodeTypeName, "server_ps02",
221 null, null, null, null, null, null,
222 portTypeToIdList, consolidationData);
224 TestUtils.initPortConsolidationData(mainST, consolidationData);
225 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
226 null, null, null, null, null,
228 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
229 null, null, null, null, null,
232 translationContext.setConsolidationData(consolidationData);
233 List<UnifiedCompositionMode> expectedUnifiedModes =
234 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
235 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
240 public void testConsolidationResultTrueWithMoreThanTwoCompute() throws IOException, URISyntaxException {
241 ConsolidationData consolidationData = new ConsolidationData();
242 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
243 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
244 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
248 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
250 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
251 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
252 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
254 TestUtils.updateComputeTemplateConsolidationData(
256 computeNodeTypeName, "server_ps01",
257 null, null, null, null, null, null,
258 portTypeToIdList, consolidationData);
260 TestUtils.updateComputeTemplateConsolidationData(
262 computeNodeTypeName, "server_ps02",
263 null, null, null, null, null, null,
264 portTypeToIdList, consolidationData);
266 TestUtils.updateComputeTemplateConsolidationData(
268 computeNodeTypeName, "server_ps03",
269 null, null, null, null, null, null,
270 portTypeToIdList, consolidationData);
272 TestUtils.initPortConsolidationData(mainST, consolidationData);
273 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
274 null, null, null, null, null,
276 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
277 null, null, null, null, null,
280 translationContext.setConsolidationData(consolidationData);
282 List<UnifiedCompositionMode> expectedUnifiedModes =
283 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
284 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
288 public void testConsolidationResultFalseWithMoreThanTwoComputeOneIsDiff() throws IOException, URISyntaxException {
289 ConsolidationData consolidationData = new ConsolidationData();
290 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
291 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
292 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
296 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
298 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
299 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
300 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
302 TestUtils.updateComputeTemplateConsolidationData(
304 computeNodeTypeName, "server_ps01",
305 null, null, null, null, null, null,
306 portTypeToIdList, consolidationData);
308 TestUtils.updateComputeTemplateConsolidationData(
310 computeNodeTypeName, "server_ps02",
311 null, null, null, null, null, null,
312 portTypeToIdList, consolidationData);
314 portTypeToIdList = new ArrayList<>();
315 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
316 TestUtils.updateComputeTemplateConsolidationData(
318 computeNodeTypeName, "server_ps03",
319 null, null, null, null, null, null,
320 portTypeToIdList, consolidationData);
322 TestUtils.initPortConsolidationData(mainST, consolidationData);
323 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
324 null, null, null, null, null,
326 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
327 null, null, null, null, null,
330 translationContext.setConsolidationData(consolidationData);
331 List<UnifiedCompositionMode> expectedUnifiedModes =
332 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
333 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
337 public void testConsolidationResultFalseForTwoTypesOfComputeWithOneInstanceEach()
338 throws IOException, URISyntaxException {
339 ConsolidationData consolidationData = new ConsolidationData();
340 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
341 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.cmaui";
342 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
343 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
346 TestUtils.initComputeNodeTypeInConsolidationData
347 (mainST, computeNodeTypeName1, consolidationData);
348 TestUtils.initComputeNodeTypeInConsolidationData
349 (mainST, computeNodeTypeName2, consolidationData);
351 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
352 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
353 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
355 TestUtils.updateComputeTemplateConsolidationData(
357 computeNodeTypeName1, "server_ps01",
358 null, null, null, null, null, null,
359 portTypeToIdList, consolidationData);
361 TestUtils.updateComputeTemplateConsolidationData(
363 computeNodeTypeName2, "server_ps02",
364 null, null, null, null, null, null,
365 portTypeToIdList, consolidationData);
367 TestUtils.initPortConsolidationData(mainST, consolidationData);
368 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
369 null, null, null, null, null,
371 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
372 null, null, null, null, null,
375 translationContext.setConsolidationData(consolidationData);
377 List<UnifiedCompositionMode> expectedUnifiedModes =
378 Arrays.asList(UnifiedCompositionMode.SingleSubstitution,
379 UnifiedCompositionMode.SingleSubstitution);
380 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
384 public void testConsolidationValidForTwoSimilarComputeAndFalseForSingleCompute()
385 throws IOException, URISyntaxException {
386 ConsolidationData consolidationData = new ConsolidationData();
387 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
388 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.cmaui";
389 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
390 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_two_similar_one_diff",
394 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName1, consolidationData);
396 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName2, consolidationData);
398 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
399 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
400 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
402 TestUtils.updateComputeTemplateConsolidationData(
404 computeNodeTypeName1, "server_ps01",
405 null, null, null, null, null, null,
406 portTypeToIdList, consolidationData);
408 TestUtils.updateComputeTemplateConsolidationData(
410 computeNodeTypeName1, "server_ps02",
411 null, null, null, null, null, null,
412 portTypeToIdList, consolidationData);
413 TestUtils.updateComputeTemplateConsolidationData(
415 computeNodeTypeName2, "server_ps03",
416 null, null, null, null, null, null,
417 portTypeToIdList, consolidationData);
419 TestUtils.initPortConsolidationData(mainST, consolidationData);
420 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
421 null, null, null, null, null,
423 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
424 null, null, null, null, null,
427 translationContext.setConsolidationData(consolidationData);
428 List<UnifiedCompositionMode> expectedUnifiedModes =
429 Arrays.asList(UnifiedCompositionMode.ScalingInstances,
430 UnifiedCompositionMode.SingleSubstitution);
431 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
435 public void testValidComputeAndPortConsolidation() throws IOException, URISyntaxException {
436 ConsolidationData consolidationData = new ConsolidationData();
437 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
438 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
439 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
443 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
445 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
446 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
447 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
449 TestUtils.updateComputeTemplateConsolidationData(
451 computeNodeTypeName, "server_ps01",
452 null, null, null, null, null, null,
453 portTypeToIdList, consolidationData);
455 TestUtils.updateComputeTemplateConsolidationData(
457 computeNodeTypeName, "server_ps02",
458 null, null, null, null, null, null,
459 portTypeToIdList, consolidationData);
461 TestUtils.updateComputeTemplateConsolidationData(
463 computeNodeTypeName, "server_ps03",
464 null, null, null, null, null, null,
465 portTypeToIdList, consolidationData);
467 TestUtils.initPortConsolidationData(mainST, consolidationData);
468 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
469 null, null, null, null, null,
471 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
472 null, null, null, null, null,
475 translationContext.setConsolidationData(consolidationData);
476 List<UnifiedCompositionMode> expectedUnifiedModes =
477 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
478 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
482 public void testFalseComputeConsolidationForTwoSimilarImageNamesAndOneDiff() throws IOException, URISyntaxException {
483 ConsolidationData consolidationData = new ConsolidationData();
484 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
485 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.pd_server";
486 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
487 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_image_name_diff",
490 TestUtils.initComputeNodeTypeInConsolidationData(
491 mainST, computeNodeTypeName1, consolidationData);
492 TestUtils.initComputeNodeTypeInConsolidationData(
493 mainST, computeNodeTypeName2, consolidationData);
495 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
496 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
497 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
499 TestUtils.updateComputeTemplateConsolidationData(
501 computeNodeTypeName1, "server_ps01",
502 null, null, null, null, null, null,
503 portTypeToIdList, consolidationData);
505 TestUtils.updateComputeTemplateConsolidationData(
507 computeNodeTypeName1, "server_ps02",
508 null, null, null, null, null, null,
509 portTypeToIdList, consolidationData);
511 TestUtils.updateComputeTemplateConsolidationData(
513 computeNodeTypeName1, "server_ps03",
514 null, null, null, null, null, null,
515 portTypeToIdList, consolidationData);
517 TestUtils.updateComputeTemplateConsolidationData(
519 computeNodeTypeName2, "server_pd01",
520 null, null, null, null, null, null,
521 portTypeToIdList, consolidationData);
523 TestUtils.updateComputeTemplateConsolidationData(
525 computeNodeTypeName2, "server_pd02",
526 null, null, null, null, null, null,
527 portTypeToIdList, consolidationData);
529 TestUtils.updateComputeTemplateConsolidationData(
531 computeNodeTypeName2, "server_pd03",
532 null, null, null, null, null, null,
533 portTypeToIdList, consolidationData);
535 TestUtils.initPortConsolidationData(mainST, consolidationData);
536 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
537 null, null, null, null, null,
539 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
540 null, null, null, null, null,
543 translationContext.setConsolidationData(consolidationData);
544 List<UnifiedCompositionMode> expectedUnifiedModes =
546 .asList(UnifiedCompositionMode.CatalogInstance, UnifiedCompositionMode.CatalogInstance);
547 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
551 public void testFalseComputeConsolidationOneImageNameMissing() throws IOException, URISyntaxException {
552 ConsolidationData consolidationData = new ConsolidationData();
553 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.pd_server";
554 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
555 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_image_missing",
558 TestUtils.initComputeNodeTypeInConsolidationData(
559 mainST, computeNodeTypeName, consolidationData);
561 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
562 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
563 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
565 TestUtils.updateComputeTemplateConsolidationData(
567 computeNodeTypeName, "server_pd01",
568 null, null, null, null, null, null,
569 portTypeToIdList, consolidationData);
571 TestUtils.updateComputeTemplateConsolidationData(
573 computeNodeTypeName, "server_pd02",
574 null, null, null, null, null, null,
575 portTypeToIdList, consolidationData);
577 TestUtils.updateComputeTemplateConsolidationData(
579 computeNodeTypeName, "server_pd03",
580 null, null, null, null, null, null,
581 portTypeToIdList, consolidationData);
583 TestUtils.initPortConsolidationData(mainST, consolidationData);
584 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
585 null, null, null, null, null,
587 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
588 null, null, null, null, null,
591 translationContext.setConsolidationData(consolidationData);
592 List<UnifiedCompositionMode> expectedUnifiedModes =
593 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
594 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
598 public void testFalseComputeConsolidationForTwoSimilarFlavorNamesAndOneDiff() throws IOException, URISyntaxException {
599 ConsolidationData consolidationData = new ConsolidationData();
600 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
601 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
602 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_flavor_name_diff",
606 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
608 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
609 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
610 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
612 TestUtils.updateComputeTemplateConsolidationData(
614 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
615 portTypeToIdList, consolidationData);
617 TestUtils.updateComputeTemplateConsolidationData(
619 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
620 portTypeToIdList, consolidationData);
622 TestUtils.updateComputeTemplateConsolidationData(
624 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
625 portTypeToIdList, consolidationData);
627 TestUtils.initPortConsolidationData(mainST, consolidationData);
628 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
629 null, null, null, null, null,
631 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
632 null, null, null, null, null,
635 translationContext.setConsolidationData(consolidationData);
636 List<UnifiedCompositionMode> expectedUnifiedModes =
637 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
638 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
642 public void testFalsePortConsolidationForOneDiffFixedIpsValue() throws IOException, URISyntaxException {
643 ConsolidationData consolidationData = new ConsolidationData();
644 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
645 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
646 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_exCP_naming_diff",
650 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
652 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
653 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
654 TestUtils.updateComputeTemplateConsolidationData(
656 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
657 portTypeToIdList, consolidationData);
659 portTypeToIdList = new ArrayList<>();
660 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
661 TestUtils.updateComputeTemplateConsolidationData(
663 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
664 portTypeToIdList, consolidationData);
666 portTypeToIdList = new ArrayList<>();
667 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
668 TestUtils.updateComputeTemplateConsolidationData(
670 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
671 portTypeToIdList, consolidationData);
673 TestUtils.initPortConsolidationData(mainST, consolidationData);
674 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
675 null, null, null, null, null,
678 translationContext.setConsolidationData(consolidationData);
679 List<UnifiedCompositionMode> expectedUnifiedModes =
680 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
681 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
685 public void testFalsePortConsolidationForOneDiffExpcNaming() {
690 public void testFalsePortConsolidationForTwoPortsWithFixedIpsAndOneWithout() throws IOException, URISyntaxException {
691 ConsolidationData consolidationData = new ConsolidationData();
692 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
693 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
694 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_fixed_ips",
698 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
700 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
701 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
702 TestUtils.updateComputeTemplateConsolidationData(
704 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
705 portTypeToIdList, consolidationData);
707 portTypeToIdList = new ArrayList<>();
708 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
709 TestUtils.updateComputeTemplateConsolidationData(
711 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
712 portTypeToIdList, consolidationData);
714 portTypeToIdList = new ArrayList<>();
715 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
716 TestUtils.updateComputeTemplateConsolidationData(
718 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
719 portTypeToIdList, consolidationData);
721 TestUtils.initPortConsolidationData(mainST, consolidationData);
722 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
723 null, null, null, null, null,
726 translationContext.setConsolidationData(consolidationData);
727 List<UnifiedCompositionMode> expectedUnifiedModes =
728 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
729 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
733 public void testFalsePortConsolidationForTwoPortsWithAddressPairsAndOneWithout()
734 throws IOException, URISyntaxException {
735 ConsolidationData consolidationData = new ConsolidationData();
736 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
737 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
738 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_allowed_address_pairs",
742 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
744 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
745 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
746 TestUtils.updateComputeTemplateConsolidationData(
748 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
749 portTypeToIdList, consolidationData);
750 portTypeToIdList = new ArrayList<>();
751 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
752 TestUtils.updateComputeTemplateConsolidationData(
754 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
755 portTypeToIdList, consolidationData);
757 portTypeToIdList = new ArrayList<>();
758 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
759 TestUtils.updateComputeTemplateConsolidationData(
761 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
762 portTypeToIdList, consolidationData);
764 TestUtils.initPortConsolidationData(mainST, consolidationData);
765 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
766 null, null, null, null, null,
769 translationContext.setConsolidationData(consolidationData);
770 List<UnifiedCompositionMode> expectedUnifiedModes =
771 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
772 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
776 public void testFalsePortConsolidationForTwoPortsWithMacAddressAndOneWithout()
777 throws IOException, URISyntaxException {
778 ConsolidationData consolidationData = new ConsolidationData();
779 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
780 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
781 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_mac_address",
785 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
787 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
788 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
789 TestUtils.updateComputeTemplateConsolidationData(
791 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
792 portTypeToIdList, consolidationData);
794 portTypeToIdList = new ArrayList<>();
795 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
796 TestUtils.updateComputeTemplateConsolidationData(
798 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
799 portTypeToIdList, consolidationData);
800 portTypeToIdList = new ArrayList<>();
801 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
802 TestUtils.updateComputeTemplateConsolidationData(
804 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
805 portTypeToIdList, consolidationData);
807 TestUtils.initPortConsolidationData(mainST, consolidationData);
808 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
809 null, null, null, null, null,
812 translationContext.setConsolidationData(consolidationData);
813 List<UnifiedCompositionMode> expectedUnifiedModes =
814 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
815 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
819 public void testValidPortConsolidationForPortsWithNoneOfTheCheckedProperties()
820 throws IOException, URISyntaxException {
821 ConsolidationData consolidationData = new ConsolidationData();
822 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
823 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
824 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/ports_with_none_of_the_properties",
828 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
830 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
831 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
832 TestUtils.updateComputeTemplateConsolidationData(
834 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
835 portTypeToIdList, consolidationData);
837 portTypeToIdList = new ArrayList<>();
838 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
839 TestUtils.updateComputeTemplateConsolidationData(
841 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
842 portTypeToIdList, consolidationData);
844 portTypeToIdList = new ArrayList<>();
845 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
846 TestUtils.updateComputeTemplateConsolidationData(
848 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
849 portTypeToIdList, consolidationData);
851 TestUtils.initPortConsolidationData(mainST, consolidationData);
852 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
853 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
854 Collections.singletonList("group_id_1"), null,
857 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
858 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
859 Collections.singletonList("group_id_1"), null,
862 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
863 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
864 Collections.singletonList("group_id_1"), null,
868 translationContext.setConsolidationData(consolidationData);
869 List<UnifiedCompositionMode> expectedUnifiedModes =
870 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
871 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
875 public void testComputeRelationsSimilarBetweenComputeNodes() throws IOException, URISyntaxException {
876 ConsolidationData consolidationData = new ConsolidationData();
877 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
878 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
879 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_with_same_relations",
883 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
885 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
886 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
887 TestUtils.updateComputeTemplateConsolidationData(
889 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
890 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
891 Collections.singletonList("group_id1"),
896 portTypeToIdList = new ArrayList<>();
897 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
898 TestUtils.updateComputeTemplateConsolidationData(
900 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
901 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
902 Collections.singletonList("group_id1"),
907 portTypeToIdList = new ArrayList<>();
908 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
909 TestUtils.updateComputeTemplateConsolidationData(
911 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
912 Collections.singletonList("cmaui_volume"),
913 Collections.singletonList("cmaui_volume"), Collections.singletonList("group_id1"), null,
918 TestUtils.initPortConsolidationData(mainST, consolidationData);
919 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
920 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
921 Collections.singletonList("group_id_1"), null,
924 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
925 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
926 Collections.singletonList("group_id_1"), null,
929 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
930 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
931 Collections.singletonList("group_id_1"), null,
936 translationContext.setConsolidationData(consolidationData);
937 List<UnifiedCompositionMode> expectedUnifiedModes =
938 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
939 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
943 public void testNodesInRelationsDiffBetweenThreeComputes() throws IOException, URISyntaxException {
944 ConsolidationData consolidationData = new ConsolidationData();
945 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
946 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
947 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
951 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
953 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
954 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
955 TestUtils.updateComputeTemplateConsolidationData(
957 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
958 Collections.singletonList
959 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
960 Collections.singletonList("group_id1"), null, null,
964 portTypeToIdList = new ArrayList<>();
965 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
966 TestUtils.updateComputeTemplateConsolidationData(
968 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
969 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
970 Collections.singletonList("group_id1"),
975 portTypeToIdList = new ArrayList<>();
976 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
977 TestUtils.updateComputeTemplateConsolidationData(
979 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_2"),
980 Collections.singletonList
981 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
982 Collections.singletonList("group_id1"), null, null,
986 TestUtils.initPortConsolidationData(mainST, consolidationData);
987 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
991 translationContext.setConsolidationData(consolidationData);
992 List<UnifiedCompositionMode> expectedUnifiedModes =
993 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
994 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
998 public void testNodesOutRelationsDiffBetweenThreeComputes() throws IOException, URISyntaxException {
999 ConsolidationData consolidationData = new ConsolidationData();
1000 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1001 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1002 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1006 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1008 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1009 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1010 TestUtils.updateComputeTemplateConsolidationData(
1012 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1013 Collections.singletonList
1014 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1015 Collections.singletonList("group_id1"), null, null,
1019 portTypeToIdList = new ArrayList<>();
1020 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1021 TestUtils.updateComputeTemplateConsolidationData(
1023 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1024 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1025 Collections.singletonList("group_id1"),
1030 portTypeToIdList = new ArrayList<>();
1031 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1032 TestUtils.updateComputeTemplateConsolidationData(
1034 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1035 Collections.singletonList("cmaui_volume_1"), Collections.singletonList("cmaui_volume"),
1036 Collections.singletonList("group_id1"),
1041 TestUtils.initPortConsolidationData(mainST, consolidationData);
1042 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1046 translationContext.setConsolidationData(consolidationData);
1047 List<UnifiedCompositionMode> expectedUnifiedModes =
1048 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1049 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1053 public void testVolumeRelationsDiffBetweenThreeComputes() throws IOException, URISyntaxException {
1054 ConsolidationData consolidationData = new ConsolidationData();
1055 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1056 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1057 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
1061 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1063 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1064 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1065 TestUtils.updateComputeTemplateConsolidationData(
1067 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1068 Collections.singletonList
1069 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1070 Collections.singletonList("group_id1"), null, null,
1074 portTypeToIdList = new ArrayList<>();
1075 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1076 TestUtils.updateComputeTemplateConsolidationData(
1078 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1079 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1080 Collections.singletonList("group_id1"),
1085 portTypeToIdList = new ArrayList<>();
1086 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1087 TestUtils.updateComputeTemplateConsolidationData(
1089 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1090 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume_1"),
1091 Collections.singletonList("group_id1"),
1096 TestUtils.initPortConsolidationData(mainST, consolidationData);
1097 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1101 translationContext.setConsolidationData(consolidationData);
1102 List<UnifiedCompositionMode> expectedUnifiedModes =
1103 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1104 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1108 public void testGroupRelationsDiffBetweenThreeComputes() throws IOException, URISyntaxException {
1109 ConsolidationData consolidationData = new ConsolidationData();
1110 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1111 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1112 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
1116 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1118 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1119 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1120 TestUtils.updateComputeTemplateConsolidationData(
1122 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1123 Collections.singletonList
1124 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1125 Collections.singletonList("group_id_1"), null,
1130 portTypeToIdList = new ArrayList<>();
1131 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1132 TestUtils.updateComputeTemplateConsolidationData(
1134 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1135 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1136 Collections.singletonList("group_id_1"),
1141 portTypeToIdList = new ArrayList<>();
1142 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1143 TestUtils.updateComputeTemplateConsolidationData(
1145 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1146 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1147 Collections.singletonList("group_id_2"),
1152 TestUtils.initPortConsolidationData(mainST, consolidationData);
1153 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1157 translationContext.setConsolidationData(consolidationData);
1158 List<UnifiedCompositionMode> expectedUnifiedModes =
1159 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1160 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1164 public void testPortConsolidationDataRelationsSimilar() throws IOException, URISyntaxException {
1165 ConsolidationData consolidationData = new ConsolidationData();
1166 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1167 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1168 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1172 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1174 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1175 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1176 TestUtils.updateComputeTemplateConsolidationData(
1178 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1179 Collections.singletonList
1180 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1181 Collections.singletonList("group_id_1"), null,
1186 portTypeToIdList = new ArrayList<>();
1187 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1188 TestUtils.updateComputeTemplateConsolidationData(
1190 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1191 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1192 Collections.singletonList("group_id_1"),
1197 portTypeToIdList = new ArrayList<>();
1198 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1199 TestUtils.updateComputeTemplateConsolidationData(
1201 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1202 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1203 Collections.singletonList("group_id_1"),
1208 TestUtils.initPortConsolidationData(mainST, consolidationData);
1209 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1210 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1211 Collections.singletonList("group_id_1"), null,
1214 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1215 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1216 Collections.singletonList("group_id_1"), null,
1219 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1220 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1221 Collections.singletonList("group_id_1"), null,
1225 translationContext.setConsolidationData(consolidationData);
1226 List<UnifiedCompositionMode> expectedUnifiedModes =
1227 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1228 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1232 public void testNodesInRelationsDiffBetweenThreePortConsolidationDatas() throws IOException, URISyntaxException {
1233 ConsolidationData consolidationData = new ConsolidationData();
1234 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1235 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1236 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1240 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1242 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1243 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1244 TestUtils.updateComputeTemplateConsolidationData(
1246 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1247 Collections.singletonList
1248 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1249 Collections.singletonList("group_id_1"), null,
1254 portTypeToIdList = new ArrayList<>();
1255 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1256 TestUtils.updateComputeTemplateConsolidationData(
1258 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1259 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1260 Collections.singletonList("group_id_1"),
1265 portTypeToIdList = new ArrayList<>();
1266 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1267 TestUtils.updateComputeTemplateConsolidationData(
1269 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1270 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1271 Collections.singletonList("group_id_1"),
1276 TestUtils.initPortConsolidationData(mainST, consolidationData);
1277 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1278 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1279 Collections.singletonList("group_id_1"), null,
1282 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1283 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1284 Collections.singletonList("group_id_1"), null,
1287 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1288 Collections.singletonList("node_in_2"), Collections.singletonList("net_id_1"),
1289 Collections.singletonList("group_id_1"), null,
1293 translationContext.setConsolidationData(consolidationData);
1294 List<UnifiedCompositionMode> expectedUnifiedModes =
1295 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1296 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1300 public void testNodesOutRelationsDiffBetweenThreePortConsolidationDatas() throws IOException, URISyntaxException {
1301 ConsolidationData consolidationData = new ConsolidationData();
1302 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1303 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1304 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1308 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1310 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1311 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1312 TestUtils.updateComputeTemplateConsolidationData(
1314 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1315 Collections.singletonList
1316 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1317 Collections.singletonList("group_id_1"), null,
1322 portTypeToIdList = new ArrayList<>();
1323 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1324 TestUtils.updateComputeTemplateConsolidationData(
1326 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1327 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1328 Collections.singletonList("group_id_1"),
1333 portTypeToIdList = new ArrayList<>();
1334 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1335 TestUtils.updateComputeTemplateConsolidationData(
1337 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1338 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1339 Collections.singletonList("group_id_1"),
1344 TestUtils.initPortConsolidationData(mainST, consolidationData);
1345 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1346 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1347 Collections.singletonList("group_id_1"), null,
1350 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1351 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1352 Collections.singletonList("group_id_1"), null,
1355 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1356 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_2"),
1357 Collections.singletonList("group_id_1"), null,
1361 translationContext.setConsolidationData(consolidationData);
1362 List<UnifiedCompositionMode> expectedUnifiedModes =
1363 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1364 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1368 public void testGroupIdsRelationsDiffBetweenThreePortConsolidationDatas() throws IOException, URISyntaxException {
1369 ConsolidationData consolidationData = new ConsolidationData();
1370 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1371 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1372 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1376 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1378 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1379 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1380 TestUtils.updateComputeTemplateConsolidationData(
1382 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1383 Collections.singletonList
1384 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1385 Collections.singletonList("group_id_1"), null,
1390 portTypeToIdList = new ArrayList<>();
1391 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1392 TestUtils.updateComputeTemplateConsolidationData(
1394 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1395 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1396 Collections.singletonList("group_id_1"),
1401 portTypeToIdList = new ArrayList<>();
1402 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1403 TestUtils.updateComputeTemplateConsolidationData(
1405 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1406 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1407 Collections.singletonList("group_id_1"),
1412 TestUtils.initPortConsolidationData(mainST, consolidationData);
1413 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1414 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1415 Arrays.asList("group_id_1", "group_id_2"), null, null,
1417 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1418 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1419 Arrays.asList("group_id_1", "group_id_2"), null, null,
1421 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1422 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1423 Arrays.asList("group_id_1", "group_id_3"), null, null,
1426 translationContext.setConsolidationData(consolidationData);
1427 List<UnifiedCompositionMode> expectedUnifiedModes =
1428 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1429 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1433 public void testValidConsolidationForComputesWithValidGetAttr() throws IOException, URISyntaxException {
1434 ConsolidationData consolidationData = new ConsolidationData();
1435 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1436 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1437 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1441 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1443 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1444 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1446 TestUtils.updateComputeTemplateConsolidationData(
1448 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1449 Collections.singletonList
1450 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1451 Collections.singletonList("group_id_1"),
1452 Collections.singletonList("node_1"), null,
1456 portTypeToIdList = new ArrayList<>();
1457 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1458 TestUtils.updateComputeTemplateConsolidationData(
1460 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1461 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1462 Collections.singletonList("group_id_1"),
1463 Collections.singletonList("node_2"), null,
1467 portTypeToIdList = new ArrayList<>();
1468 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1469 TestUtils.updateComputeTemplateConsolidationData(
1471 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1472 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1473 Collections.singletonList("group_id_1"),
1474 Collections.singletonList("node_3"), null,
1478 TestUtils.initPortConsolidationData(mainST, consolidationData);
1479 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1480 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1481 Arrays.asList("group_id_1", "group_id_2"), null, null,
1483 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1484 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1485 Arrays.asList("group_id_1", "group_id_2"), null, null,
1487 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1488 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1489 Arrays.asList("group_id_1", "group_id_2"), null, null,
1492 translationContext.setConsolidationData(consolidationData);
1493 List<UnifiedCompositionMode> expectedUnifiedModes =
1494 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1495 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1499 public void testInvalidConsolidationForComputesWithGetAttrForEachOther() throws IOException, URISyntaxException {
1500 ConsolidationData consolidationData = new ConsolidationData();
1501 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1502 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1503 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1507 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1509 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1510 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1512 TestUtils.updateComputeTemplateConsolidationData(
1514 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1515 Collections.singletonList
1516 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1517 Collections.singletonList("group_id_1"),
1518 Collections.singletonList("server_ps02"), null,
1522 portTypeToIdList = new ArrayList<>();
1523 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1524 TestUtils.updateComputeTemplateConsolidationData(
1526 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1527 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1528 Collections.singletonList("group_id_1"),
1529 Collections.singletonList("node_1"), null,
1533 portTypeToIdList = new ArrayList<>();
1534 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1535 TestUtils.updateComputeTemplateConsolidationData(
1537 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1538 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1539 Collections.singletonList("group_id_1"),
1540 Collections.singletonList("node_2"), null,
1544 TestUtils.initPortConsolidationData(mainST, consolidationData);
1545 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1546 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1547 Arrays.asList("group_id_1", "group_id_2"), null, null,
1549 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1550 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1551 Arrays.asList("group_id_1", "group_id_2"), null, null,
1553 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1554 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1555 Arrays.asList("group_id_1", "group_id_2"), null, null,
1558 translationContext.setConsolidationData(consolidationData);
1559 List<UnifiedCompositionMode> expectedUnifiedModes =
1560 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1561 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1565 public void testValidConsolidationForPortsWithValidGetAttr() throws IOException, URISyntaxException {
1566 ConsolidationData consolidationData = new ConsolidationData();
1567 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1568 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1569 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1573 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1575 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1576 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1578 TestUtils.updateComputeTemplateConsolidationData(
1580 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1581 Collections.singletonList
1582 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1583 Collections.singletonList("group_id_1"), null,
1588 portTypeToIdList = new ArrayList<>();
1589 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1590 TestUtils.updateComputeTemplateConsolidationData(
1592 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1593 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1594 Collections.singletonList("group_id_1"),
1599 portTypeToIdList = new ArrayList<>();
1600 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1601 TestUtils.updateComputeTemplateConsolidationData(
1603 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1604 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1605 Collections.singletonList("group_id_1"),
1610 TestUtils.initPortConsolidationData(mainST, consolidationData);
1611 List<String> portNodeTemplateIds =
1612 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1613 List<List<String>> nodesConnectedInIds =
1614 Arrays.asList(Collections.singletonList("node_in_1"),
1615 Collections.singletonList("node_in_1"),
1616 Collections.singletonList("node_in_1"));
1617 List<List<String>> nodesConnectedOutIds =
1618 Arrays.asList(Collections.singletonList("node_out_1"),
1619 Collections.singletonList("node_out_1"),
1620 Collections.singletonList("node_out_1"));
1621 List<List<String>> getAttrInIds =
1622 Arrays.asList(Collections.singletonList("get_attr_1"),
1623 Collections.singletonList("get_attr_2"),
1624 Collections.singletonList("get_attr_3"));
1625 List<List<String>> groupIds =
1626 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
1627 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1628 List<List<Pair<String, GetAttrFuncData>>> getAttrOut =
1629 Arrays.asList(null, null, null);
1631 TestUtils.updateMultiplePortConsolidationDatas(
1632 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1633 getAttrInIds, getAttrOut, consolidationData);
1635 translationContext.setConsolidationData(consolidationData);
1636 List<UnifiedCompositionMode> expectedUnifiedModes =
1637 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1638 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1642 public void testInvalidConsolidationForPortsWithGetAttrInForEachOther() throws IOException, URISyntaxException {
1643 ConsolidationData consolidationData = new ConsolidationData();
1644 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1645 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1646 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation" +
1647 "/three_ports_similar_relations",
1651 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1653 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1654 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1656 TestUtils.updateComputeTemplateConsolidationData(
1658 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1659 Collections.singletonList
1660 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1661 Collections.singletonList("group_id_1"),
1662 Collections.singletonList("node_1"), null,
1666 portTypeToIdList = new ArrayList<>();
1667 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1668 TestUtils.updateComputeTemplateConsolidationData(
1670 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1671 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1672 Collections.singletonList("group_id_1"),
1673 Collections.singletonList("node_2"), null,
1677 portTypeToIdList = new ArrayList<>();
1678 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1679 TestUtils.updateComputeTemplateConsolidationData(
1681 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1682 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1683 Collections.singletonList("group_id_1"),
1684 Collections.singletonList("node_3"), null,
1688 TestUtils.initPortConsolidationData(mainST, consolidationData);
1689 List<String> portNodeTemplateIds =
1690 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1691 List<List<String>> nodesConnectedInIds =
1692 Arrays.asList(Collections.singletonList("node_in_1"),
1693 Collections.singletonList("node_in_1"),
1694 Collections.singletonList("node_in_1"));
1695 List<List<String>> nodesConnectedOutIds =
1696 Arrays.asList(Collections.singletonList("node_out_1"),
1697 Collections.singletonList("node_out_1"),
1698 Collections.singletonList("node_out_1"));
1699 List<List<String>> getAttrInIds =
1700 Arrays.asList(Collections.singletonList("get_attr_1"),
1701 Collections.singletonList("get_attr_2"),
1702 Collections.singletonList("cm01_port_1"));
1703 List<List<String>> groupIds =
1704 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
1705 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1706 List<List<Pair<String, GetAttrFuncData>>> getAttrOut =
1707 Arrays.asList(null, null, null);
1709 TestUtils.updateMultiplePortConsolidationDatas(
1710 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1711 getAttrInIds, getAttrOut, consolidationData);
1713 translationContext.setConsolidationData(consolidationData);
1714 List<UnifiedCompositionMode> expectedUnifiedModes =
1715 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1716 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1720 public void testValidConsolidationForComputesWithSamePortTypesPointingByGetAttrIn() throws
1721 IOException, URISyntaxException {
1722 ConsolidationData consolidationData = new ConsolidationData();
1723 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1724 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1725 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1729 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1731 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1732 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1734 TestUtils.updateComputeTemplateConsolidationData(
1736 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1737 Collections.singletonList
1738 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1739 Collections.singletonList("group_id_1"),
1740 Collections.singletonList("cm01_port_1"), null,
1744 portTypeToIdList = new ArrayList<>();
1745 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1746 TestUtils.updateComputeTemplateConsolidationData(
1748 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1749 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1750 Collections.singletonList("group_id_1"),
1751 Collections.singletonList("cm01_port_2"), null,
1755 portTypeToIdList = new ArrayList<>();
1756 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1757 TestUtils.updateComputeTemplateConsolidationData(
1759 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1760 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1761 Collections.singletonList("group_id_1"),
1762 Collections.singletonList("cm01_port_3"), null,
1766 TestUtils.initPortConsolidationData(mainST, consolidationData);
1767 List<String> portNodeTemplateIds =
1768 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1769 List<List<String>> nodesConnectedInIds =
1770 Arrays.asList(Collections.singletonList("node_in_1"),
1771 Collections.singletonList("node_in_1"),
1772 Collections.singletonList("node_in_1"));
1773 List<List<String>> nodesConnectedOutIds =
1774 Arrays.asList(Collections.singletonList("node_out_1"),
1775 Collections.singletonList("node_out_1"),
1776 Collections.singletonList("node_out_1"));
1777 List<List<String>> getAttrInIds =
1778 Arrays.asList(Collections.singletonList("get_attr_1"),
1779 Collections.singletonList("get_attr_2"),
1780 Collections.singletonList("get_attr_3"));
1781 List<List<String>> groupIds =
1782 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
1783 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1784 List<List<Pair<String, GetAttrFuncData>>> getAttrOut =
1785 Arrays.asList(null, null, null);
1787 TestUtils.updateMultiplePortConsolidationDatas(
1788 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1789 getAttrInIds, getAttrOut, consolidationData);
1791 translationContext.setConsolidationData(consolidationData);
1792 List<UnifiedCompositionMode> expectedUnifiedModes =
1793 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1794 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1798 public void testValidGetAttrOutFromComputes() throws IOException, URISyntaxException {
1799 ConsolidationData consolidationData = new ConsolidationData();
1800 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1801 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1802 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1806 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1808 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1809 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1810 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1811 TestUtils.updateComputeTemplateConsolidationData(
1813 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1814 Collections.singletonList
1815 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1816 Collections.singletonList("group_id_1"),
1817 Collections.singletonList("cm01_port_1"),
1818 Collections.singletonList(
1819 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1823 portTypeToIdList = new ArrayList<>();
1824 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1825 TestUtils.updateComputeTemplateConsolidationData(
1827 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1828 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1829 Collections.singletonList("group_id_1"),
1830 Collections.singletonList("cm01_port_1"),
1831 Collections.singletonList(
1832 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1836 portTypeToIdList = new ArrayList<>();
1837 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1838 TestUtils.updateComputeTemplateConsolidationData(
1840 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1841 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1842 Collections.singletonList("group_id_1"),
1843 Collections.singletonList("cm01_port_1"),
1844 Collections.singletonList(
1845 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1849 TestUtils.initPortConsolidationData(mainST, consolidationData);
1850 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1851 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1852 Arrays.asList("group_id_1", "group_id_2"),
1853 Collections.singletonList("sm01_port_2"), null,
1855 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1856 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1857 Arrays.asList("group_id_1", "group_id_2"),
1858 Collections.singletonList("sm01_port_1"), null,
1860 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1861 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1862 Arrays.asList("group_id_1", "group_id_2"),
1863 Collections.singletonList("rm01_port_1"), null,
1866 translationContext.setConsolidationData(consolidationData);
1867 List<UnifiedCompositionMode> expectedUnifiedModes =
1868 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1869 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1873 public void testInValidGetAttrOutFromComputesPortTypeDifferent() throws IOException, URISyntaxException {
1874 ConsolidationData consolidationData = new ConsolidationData();
1875 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1876 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1877 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1881 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1883 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1884 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1885 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1886 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1887 TestUtils.updateComputeTemplateConsolidationData(
1889 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1890 Collections.singletonList
1891 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1892 Collections.singletonList("group_id_1"),
1893 Collections.singletonList("cm01_port_1"),
1894 Collections.singletonList(
1895 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1899 portTypeToIdList = new ArrayList<>();
1900 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1901 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1902 TestUtils.updateComputeTemplateConsolidationData(
1904 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1905 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1906 Collections.singletonList("group_id_1"),
1907 Collections.singletonList("cm01_port_1"),
1908 Collections.singletonList(
1909 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1913 portTypeToIdList = new ArrayList<>();
1914 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1915 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1916 TestUtils.updateComputeTemplateConsolidationData(
1918 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1919 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1920 Collections.singletonList("group_id_1"),
1921 Collections.singletonList("cm01_port_1"),
1922 Collections.singletonList(
1923 new ImmutablePair<>("sm01_port_1", getAttrFuncData)),
1927 TestUtils.initPortConsolidationData(mainST, consolidationData);
1929 List<String> portNodeTemplateIds =
1930 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1",
1933 List<List<String>> nodesConnectedInIds =
1934 Arrays.asList(Collections.singletonList("node_in_1"),
1935 Collections.singletonList("node_in_1"), Collections.singletonList
1936 ("node_in_1"), Collections.singletonList("node_in_1"),
1937 Collections.singletonList("node_in_1"),
1938 Collections.singletonList("node_in_1"));
1939 List<List<String>> nodesConnectedOutIds =
1940 Arrays.asList(Collections.singletonList("node_out_1"),
1941 Collections.singletonList("node_out_1"), Collections.singletonList
1942 ("node_out_1"), Collections.singletonList("node_out_1"),
1943 Collections.singletonList("node_out_1"),
1944 Collections.singletonList("node_out_1"));
1945 List<List<String>> getAttrInIds =
1946 Arrays.asList(Collections.singletonList("get_attr_1"),
1947 Collections.singletonList("get_attr_2"), Collections.singletonList
1948 ("get_attr_3"), Collections.singletonList("get_attr_1"),
1949 Collections.singletonList("get_attr_2"),
1950 Collections.singletonList("get_attr_3"));
1951 List<List<String>> groupIds =
1952 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
1953 Arrays.asList("group_id_1",
1954 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
1955 Arrays.asList("group_id_1", "group_id_2"),
1956 Arrays.asList("group_id_1",
1957 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1958 List<List<Pair<String, GetAttrFuncData>>> getAttrOut =
1959 Arrays.asList(null, null, null, null,
1962 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
1963 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
1966 translationContext.setConsolidationData(consolidationData);
1967 List<UnifiedCompositionMode> expectedUnifiedModes =
1968 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
1969 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1973 public void testValidGetAttrOutFromPorts() throws IOException, URISyntaxException {
1974 ConsolidationData consolidationData = new ConsolidationData();
1975 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1976 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1977 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1981 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1983 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1984 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1985 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1986 TestUtils.updateComputeTemplateConsolidationData(
1988 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1989 Collections.singletonList
1990 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1991 Collections.singletonList("group_id_1"),
1992 Collections.singletonList("cm01_port_1"), null,
1996 portTypeToIdList = new ArrayList<>();
1997 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1998 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1999 TestUtils.updateComputeTemplateConsolidationData(
2001 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
2002 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
2003 Collections.singletonList("group_id_1"),
2004 Collections.singletonList("cm01_port_1"), null,
2008 portTypeToIdList = new ArrayList<>();
2009 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
2010 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
2011 TestUtils.updateComputeTemplateConsolidationData(
2013 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
2014 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
2015 Collections.singletonList("group_id_1"),
2016 Collections.singletonList("cm01_port_1"), null,
2020 TestUtils.initPortConsolidationData(mainST, consolidationData);
2022 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
2023 List<String> portNodeTemplateIds =
2024 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1",
2027 List<List<String>> nodesConnectedInIds =
2028 Arrays.asList(Collections.singletonList("node_in_1"),
2029 Collections.singletonList("node_in_1"), Collections.singletonList
2030 ("node_in_1"), Collections.singletonList("node_in_1"),
2031 Collections.singletonList("node_in_1"),
2032 Collections.singletonList("node_in_1"));
2033 List<List<String>> nodesConnectedOutIds =
2034 Arrays.asList(Collections.singletonList("node_out_1"),
2035 Collections.singletonList("node_out_1"), Collections.singletonList
2036 ("node_out_1"), Collections.singletonList("node_out_1"),
2037 Collections.singletonList("node_out_1"),
2038 Collections.singletonList("node_out_1"));
2039 List<List<String>> getAttrInIds =
2040 Arrays.asList(null, null, null, null, null, null);
2041 List<List<String>> groupIds =
2042 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
2043 Arrays.asList("group_id_1",
2044 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
2045 Arrays.asList("group_id_1", "group_id_2"),
2046 Arrays.asList("group_id_1",
2047 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
2048 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
2049 Collections.singletonList(
2050 new ImmutablePair<>("sm01_port_1", getAttrFuncData)),
2051 Collections.singletonList(
2052 new ImmutablePair<>("sm01_port_2", getAttrFuncData)),
2053 Collections.singletonList(
2054 new ImmutablePair<>("sm01_port_3", getAttrFuncData)),
2055 Collections.singletonList(
2056 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
2057 Collections.singletonList(
2058 new ImmutablePair<>("cm01_port_2", getAttrFuncData)),
2059 Collections.singletonList(
2060 new ImmutablePair<>("cm01_port_3", getAttrFuncData)));
2062 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
2063 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
2066 translationContext.setConsolidationData(consolidationData);
2067 List<UnifiedCompositionMode> expectedUnifiedModes =
2068 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
2069 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
2073 public void testInvalidGetAttrOutFromPorts() throws IOException, URISyntaxException {
2074 ConsolidationData consolidationData = new ConsolidationData();
2075 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2076 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2077 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
2081 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
2083 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
2084 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
2085 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
2086 TestUtils.updateComputeTemplateConsolidationData(
2088 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
2089 Collections.singletonList
2090 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
2091 Collections.singletonList("group_id_1"),
2092 Collections.singletonList("cm01_port_1"), null,
2096 portTypeToIdList = new ArrayList<>();
2097 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
2098 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
2099 TestUtils.updateComputeTemplateConsolidationData(
2101 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
2102 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
2103 Collections.singletonList("group_id_1"),
2104 Collections.singletonList("cm01_port_1"), null,
2108 portTypeToIdList = new ArrayList<>();
2109 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
2110 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
2111 TestUtils.updateComputeTemplateConsolidationData(
2113 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
2114 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
2115 Collections.singletonList("group_id_1"),
2116 Collections.singletonList("cm01_port_1"), null,
2120 TestUtils.initPortConsolidationData(mainST, consolidationData);
2122 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
2123 List<String> portNodeTemplateIds =
2124 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1",
2127 List<List<String>> nodesConnectedInIds =
2128 Arrays.asList(Collections.singletonList("node_in_1"),
2129 Collections.singletonList("node_in_1"), Collections.singletonList
2130 ("node_in_1"), Collections.singletonList("node_in_1"),
2131 Collections.singletonList("node_in_1"),
2132 Collections.singletonList("node_in_1"));
2133 List<List<String>> nodesConnectedOutIds =
2134 Arrays.asList(Collections.singletonList("node_out_1"),
2135 Collections.singletonList("node_out_1"), Collections.singletonList
2136 ("node_out_1"), Collections.singletonList("node_out_1"),
2137 Collections.singletonList("node_out_1"),
2138 Collections.singletonList("node_out_1"));
2139 List<List<String>> getAttrInIds =
2140 Arrays.asList(null, null, null, null, null, null);
2141 List<List<String>> groupIds =
2142 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
2143 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
2144 Arrays.asList("group_id_1", "group_id_2"),
2145 Arrays.asList("group_id_1",
2146 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
2147 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
2148 Collections.singletonList(
2149 new ImmutablePair<>("server_ps01", getAttrFuncData)),
2150 Collections.singletonList(
2151 new ImmutablePair<>("server_ps01", getAttrFuncData)),
2152 Collections.singletonList(
2153 new ImmutablePair<>("sm01_port_3", getAttrFuncData)),
2154 Collections.singletonList(
2155 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
2156 Collections.singletonList(
2157 new ImmutablePair<>("cm01_port_2", getAttrFuncData)),
2158 Collections.singletonList(
2159 new ImmutablePair<>("cm01_port_3", getAttrFuncData)));
2161 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
2162 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
2165 translationContext.setConsolidationData(consolidationData);
2166 List<UnifiedCompositionMode> expectedUnifiedModes =
2167 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
2168 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
2172 public void testSubstitutionConsolidationPreConditionTrue() throws IOException, URISyntaxException {
2173 translationContext = new TranslationContext();
2174 String mainSTName = "MainServiceTemplate.yaml";
2175 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2177 ConsolidationData consolidationData = new ConsolidationData();
2178 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_pcm_001"),
2180 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2181 "org.openecomp.resource.vfc.nodes.heat" +
2182 ".pcm_server", consolidationData);
2183 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2184 "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
2185 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2186 "org.openecomp.resource.vfc.nodes.heat" +
2187 ".pcm_server", consolidationData);
2188 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2189 "org.openecomp.resource.vfc.nodes" +
2190 ".heat.pcm_server", "pcm_server", consolidationData);
2192 translationContext.setConsolidationData(consolidationData);
2194 addMockServiceTemplateToContext(mainSTName, "Main");
2195 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2197 verifySubstitutionServiceTemplateConsolidation
2198 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2199 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2200 UnifiedCompositionMode.NestedSingleCompute);
2204 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeType()
2205 throws IOException, URISyntaxException {
2206 translationContext = new TranslationContext();
2207 String mainSTName = "MainServiceTemplate.yaml";
2208 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2210 ConsolidationData consolidationData = new ConsolidationData();
2211 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_pcm_001"),
2213 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2214 "org.openecomp.resource.vfc.nodes.heat" +
2215 ".pcm_server", consolidationData);
2216 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2217 "org.openecomp.resource.vfc.nodes" +
2218 ".heat.pcm_server", "server_pcm_001", consolidationData);
2219 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2220 "org.openecomp.resource.vfc.nodes.heat" +
2221 ".pcm_server", consolidationData);
2223 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_oam_001"),
2225 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2226 "org.openecomp.resource.vfc.nodes.heat" +
2227 ".oam_server", consolidationData);
2228 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2229 "org.openecomp.resource.vfc.nodes.heat.oam_server", "server_oam_001", consolidationData);
2230 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2231 "org.openecomp.resource.vfc.nodes.heat" +
2232 ".oam_server", consolidationData);
2234 translationContext.setConsolidationData(consolidationData);
2236 addMockServiceTemplateToContext(mainSTName, "Main");
2237 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2239 verifySubstitutionServiceTemplateConsolidation
2240 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2241 translationContext.getTranslatedServiceTemplates().get
2242 (nestedServiceTemplateName), UnifiedCompositionMode.SingleSubstitution);
2246 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeOfSameType()
2247 throws IOException, URISyntaxException {
2248 translationContext = new TranslationContext();
2249 String mainSTName = "MainServiceTemplate.yaml";
2250 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2252 ConsolidationData consolidationData = new ConsolidationData();
2253 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_pcm_001"),
2255 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2256 "org.openecomp.resource.vfc.nodes.heat" +
2257 ".pcm_server", consolidationData);
2258 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2259 "org.openecomp.resource.vfc.nodes.heat" +
2260 ".pcm_server", consolidationData);
2261 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2262 "org.openecomp.resource.vfc.nodes" +
2263 ".heat.pcm_server", "pcm_server_1", consolidationData);
2266 .updateNestedConsolidationData(nestedServiceTemplateName,
2267 Collections.singletonList("server_pcm_002"),
2269 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2270 "org.openecomp.resource.vfc.nodes" +
2271 ".heat.pcm_server", "pcm_server_2", consolidationData);
2273 translationContext.setConsolidationData(consolidationData);
2275 addMockServiceTemplateToContext(mainSTName, "Main");
2276 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2278 Mockito.doNothing().when(consolidationService).serviceTemplateConsolidation
2279 (translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2280 translationContext);
2281 verifySubstitutionServiceTemplateConsolidation
2282 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2283 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2284 UnifiedCompositionMode.SingleSubstitution);
2288 public void testSubstitutionConsolidationPreConditionFalseNestedInsideNested() {
2289 translationContext = new TranslationContext();
2290 String mainSTName = "MainServiceTemplate.yaml";
2291 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2293 ConsolidationData consolidationData = new ConsolidationData();
2294 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_pcm_001"),
2296 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2297 "org.openecomp.resource.vfc.nodes.heat" +
2298 ".pcm_server", consolidationData);
2299 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2300 "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
2301 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2302 "org.openecomp.resource.vfc.nodes.heat" +
2303 ".pcm_server", consolidationData);
2304 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2305 "org.openecomp.resource.vfc.nodes" +
2306 ".heat.pcm_server", "pcm_server", consolidationData);
2309 .updateNestedConsolidationData(nestedServiceTemplateName,
2310 Collections.singletonList("nested_resource"),
2313 translationContext.setConsolidationData(consolidationData);
2315 addMockServiceTemplateToContext(mainSTName, "Main");
2316 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2318 verifySubstitutionServiceTemplateConsolidation
2319 (0, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2320 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2321 UnifiedCompositionMode.SingleSubstitution);
2325 public void testConsolidationPreConditionFalseDiffSubportTypes() throws IOException, URISyntaxException {
2326 translationContext = new TranslationContext();
2327 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2328 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2329 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2332 ConsolidationData consolidationData = new ConsolidationData();
2333 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2336 .addPortSubInterface(
2337 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2338 "role_1", "interface_1", null, null, null, null, consolidationData));
2340 .addPortSubInterface(
2341 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested2.yaml", 2,
2342 "role_2", "interface_2", null, null, null, null, consolidationData));
2343 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.SingleSubstitution));
2346 private void generateComputeAndPortConsolidationData(String computeNodeTypeName,
2347 ConsolidationData consolidationData) {
2349 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
2351 updateComputeConsolidationData("server_ps01", computeNodeTypeName, "cm01_port",
2352 "cm01_port_1", consolidationData);
2354 updateComputeConsolidationData("server_ps02", computeNodeTypeName, "cm01_port",
2355 "cm01_port_2", consolidationData);
2357 TestUtils.initPortConsolidationData(mainST, consolidationData);
2358 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
2359 null, null, null, null, null,
2361 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
2362 null, null, null, null, null,
2367 public void testConsolidationPreConditionFalseDiffSubportNumber() throws IOException, URISyntaxException {
2368 translationContext = new TranslationContext();
2369 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2370 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2371 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2374 ConsolidationData consolidationData = new ConsolidationData();
2375 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2378 .addPortSubInterface(
2379 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2380 "role_1", "interface_1", null, null, null, null, consolidationData));
2382 .addPortSubInterface(
2383 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2384 "role_2", "interface_2", null, null, null, null, consolidationData));
2386 .addPortSubInterface(
2387 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2388 "role_3", "interface_3", null, null, null, null, consolidationData));
2390 testConsolidation(1, toscaServiceModel,
2391 consolidationData, Collections.singletonList(UnifiedCompositionMode.SingleSubstitution));
2395 public void testConsolidationRuleFalseDifferentCountInResourceGroup() throws IOException, URISyntaxException {
2396 translationContext = new TranslationContext();
2397 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2398 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2399 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2402 ConsolidationData consolidationData = new ConsolidationData();
2403 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2406 .addPortSubInterface(
2407 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2408 "role_1", "interface_1", null, null, null, null, consolidationData));
2410 .addPortSubInterface(
2411 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 3,
2412 "role_1", "interface_2", null, null, null, null, consolidationData));
2414 testConsolidation(1, toscaServiceModel,
2415 consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2419 public void testConsolidationRuleFalseDifferentNodesConnectedInToResourceGroup()
2420 throws IOException, URISyntaxException {
2421 translationContext = new TranslationContext();
2422 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2423 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2424 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2427 ConsolidationData consolidationData = new ConsolidationData();
2428 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2431 .addPortSubInterface(
2432 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2433 "role_1", "interface_1", Collections.singletonList("node_1"), null, null, null,
2434 consolidationData));
2436 .addPortSubInterface(
2437 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2438 "role_1", "interface_2", Collections.singletonList("node_2"), null, null, null,
2439 consolidationData));
2441 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2445 public void testConsolidationRuleFalseDifferentNodesConnectedOutFromResourceGroup()
2446 throws IOException, URISyntaxException {
2447 translationContext = new TranslationContext();
2448 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2449 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2450 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2453 ConsolidationData consolidationData = new ConsolidationData();
2454 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2457 .addPortSubInterface(
2458 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2459 "role_1", "interface_1", null, Collections.singletonList("node_1"), null, null,
2460 consolidationData));
2462 .addPortSubInterface(
2463 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2464 "role_1", "interface_2", null, Collections.singletonList("node_2"), null, null,
2465 consolidationData));
2467 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2471 public void testConsolidationRuleFalseGetAttrInBetweenSubInterfacesOfSameType()
2472 throws IOException, URISyntaxException {
2473 translationContext = new TranslationContext();
2474 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2475 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2476 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2479 ConsolidationData consolidationData = new ConsolidationData();
2480 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2483 .addPortSubInterface(
2484 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2485 "role_1", "interface_1", null, null, Collections.singletonList("in_node_1"), null,
2486 consolidationData));
2488 .addPortSubInterface(
2489 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2490 "role_1", "interface_2", null, null, Collections.singletonList("interface_1"), null,
2491 consolidationData));
2493 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2497 public void testConsolidationRuleFalseGetAttrOutBetweenSubInterfacesOfSameType()
2498 throws IOException, URISyntaxException {
2499 translationContext = new TranslationContext();
2500 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2501 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2502 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2505 ConsolidationData consolidationData = new ConsolidationData();
2507 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
2509 updateComputeConsolidationData("server_ps01", computeNodeTypeName, "cm01_port",
2510 "cm01_port_1", consolidationData);
2511 updateComputeConsolidationData("server_ps02", computeNodeTypeName, "cm01_port",
2512 "cm01_port_2", consolidationData);
2514 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
2515 Pair<String, GetAttrFuncData> getAttrOutInvalid1 =
2516 new ImmutablePair<>("interface_1", getAttrFuncData);
2517 Pair<String, GetAttrFuncData> getAttrOutInvalid2 =
2518 new ImmutablePair<>("interface_2", getAttrFuncData);
2520 TestUtils.initPortConsolidationData(mainST, consolidationData);
2521 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
2522 null, null, null, null, null,
2524 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
2525 null, null, null, null, null,
2529 .addPortSubInterface(
2530 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2531 "role_1", "interface_1", null, null, null,
2532 Collections.singletonList(getAttrOutInvalid1), consolidationData));
2534 .addPortSubInterface(
2535 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2536 "role_1", "interface_2", null, null, null,
2537 Collections.singletonList(getAttrOutInvalid2), consolidationData));
2539 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2543 public void testConsolidationRuleFalseDifferentRoleInResourceGroup() throws IOException, URISyntaxException {
2544 translationContext = new TranslationContext();
2545 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2546 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2547 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2550 ConsolidationData consolidationData = new ConsolidationData();
2551 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2554 .addPortSubInterface(
2555 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2556 "role_1", "interface_1", null, null, null, null, consolidationData));
2558 .addPortSubInterface(
2559 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2560 "role_2", "interface_2", null, null, null, null, consolidationData));
2562 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2566 public void testConsolidationRuleTrueForSubInterfaces() throws IOException, URISyntaxException {
2567 translationContext = new TranslationContext();
2568 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2569 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2570 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2573 ConsolidationData consolidationData = new ConsolidationData();
2574 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2577 .addPortSubInterface(
2578 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2579 "role_1", "interface_1", Collections.singletonList("node_1"),
2580 Collections.singletonList("node_1"), null, null, consolidationData));
2582 .addPortSubInterface(
2583 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2584 "role_1", "interface_2", Collections.singletonList("node_1"),
2585 Collections.singletonList("node_1"), null, null, consolidationData));
2587 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.ScalingInstances));
2590 private void testConsolidation(int times, ToscaServiceModel toscaServiceModel,
2591 ConsolidationData consolidationData,
2592 List<UnifiedCompositionMode> expectedUnifiedModes) {
2593 Mockito.doNothing().when(unifiedCompositionServiceMock).createUnifiedComposition(
2599 translationContext.setConsolidationData(consolidationData);
2600 verifyMainServiceTemplateConsolidation(times, expectedUnifiedModes, toscaServiceModel);
2603 private void updateComputeConsolidationData(String computeNodeTemplateId,
2604 String computeNodeTypeName,
2606 String portNodeTemplateId,
2607 ConsolidationData consolidationData) {
2608 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
2609 portTypeToIdList.add(new ImmutablePair<>(portType, portNodeTemplateId));
2611 TestUtils.updateComputeTemplateConsolidationData(
2613 computeNodeTypeName, computeNodeTemplateId,
2614 null, null, null, null, null, null,
2615 portTypeToIdList, consolidationData);
2619 private void verifyMainServiceTemplateConsolidation(int times,
2620 List<UnifiedCompositionMode> expectedUnifiedCompositionModes,
2621 ToscaServiceModel toscaServiceModel) {
2622 consolidationService
2623 .serviceTemplateConsolidation(toscaServiceModel.getServiceTemplates().get(mainST),
2624 translationContext);
2626 ServiceTemplate mainServiceTemplate = toscaServiceModel.getServiceTemplates().get(mainST);
2627 verify(unifiedCompositionServiceMock, times(times))
2628 .createUnifiedComposition(
2629 eq(mainServiceTemplate),
2631 unifiedModelListArg.capture(),
2632 unifiedCompositionModeArg.capture(),
2633 eq(translationContext));
2635 List<UnifiedCompositionMode> actualUnifiedCompositionModes =
2636 unifiedCompositionModeArg.getAllValues();
2637 Assert.assertEquals(expectedUnifiedCompositionModes, actualUnifiedCompositionModes);
2640 private void verifySubstitutionServiceTemplateConsolidation(int times,
2641 ServiceTemplate mainST,
2642 ServiceTemplate nestedST,
2643 UnifiedCompositionMode expectedMode) {
2644 consolidationService.substitutionServiceTemplateConsolidation(null, mainST,
2645 nestedST, translationContext);
2647 if (expectedMode.equals(UnifiedCompositionMode.NestedSingleCompute)) {
2648 verify(unifiedCompositionServiceMock, times(times)).
2649 createUnifiedComposition(
2652 unifiedModelListArg.capture(),
2653 unifiedCompositionModeArg.capture(),
2654 eq(translationContext));
2655 Assert.assertEquals(expectedMode, unifiedCompositionModeArg.getValue());
2660 private void addMockServiceTemplateToContext(String serviceTemplateFileName,
2661 String templateName) {
2662 ServiceTemplate serviceTemplate = new ServiceTemplate();
2663 Map<String, String> metadata = new HashMap<>();
2664 metadata.put(ToscaConstants.ST_METADATA_TEMPLATE_NAME, templateName);
2665 serviceTemplate.setMetadata(metadata);
2666 translationContext.getTranslatedServiceTemplates()
2667 .put(serviceTemplateFileName, serviceTemplate);