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 org.apache.commons.lang3.tuple.ImmutablePair;
20 import org.apache.commons.lang3.tuple.Pair;
21 import org.junit.Assert;
22 import org.junit.Before;
23 import org.junit.Test;
25 import org.onap.sdc.tosca.datatypes.model.ServiceTemplate;
26 import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
27 import org.openecomp.sdc.tosca.services.ToscaConstants;
28 import org.openecomp.sdc.translator.SubInterfaceConsolidationDataTestInfo;
29 import org.openecomp.sdc.translator.TestUtils;
30 import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext;
31 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.UnifiedCompositionData;
32 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.UnifiedCompositionMode;
33 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.ConsolidationData;
34 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.GetAttrFuncData;
36 import java.io.IOException;
37 import java.net.URISyntaxException;
40 import static org.mockito.Matchers.any;
41 import static org.mockito.Matchers.eq;
42 import static org.mockito.Mockito.times;
43 import static org.mockito.Mockito.verify;
45 public class ConsolidationServiceTest {
49 private TranslationContext translationContext = new TranslationContext();
50 private static String mainST = "MainServiceTemplate.yaml";
53 private UnifiedCompositionService unifiedCompositionServiceMock;
56 private ArgumentCaptor<List<UnifiedCompositionData>> unifiedModelListArg;
58 private ArgumentCaptor<UnifiedCompositionMode> unifiedCompositionModeArg;
62 private ConsolidationService consolidationService;
65 public void setUp() throws Exception {
66 MockitoAnnotations.initMocks(this);
70 public void testConsolidationValidPreCondition() throws IOException, URISyntaxException {
72 ConsolidationData consolidationData = new ConsolidationData();
73 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
74 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel(
75 "/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/valid_pre_condition/",
79 TestUtils.initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName,
82 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
83 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
84 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
86 TestUtils.updateComputeTemplateConsolidationData(
88 computeNodeTypeName, "server_ps01",
89 null, null, null, null, null, null,
90 portTypeToIdList, consolidationData);
92 TestUtils.updateComputeTemplateConsolidationData(
94 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
95 portTypeToIdList, consolidationData);
97 TestUtils.initPortConsolidationData(mainST, consolidationData);
98 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
99 null, null, null, null, null,
101 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
102 null, null, null, null, null,
105 translationContext.setConsolidationData(consolidationData);
106 List<UnifiedCompositionMode> expectedUnifiedModes =
107 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
109 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
113 public void testConsolidationFalsePreConditionOneComputeNode() throws IOException, URISyntaxException {
114 ConsolidationData consolidationData = new ConsolidationData();
115 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
116 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
117 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/one_compute_node/",
121 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
123 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
124 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
125 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
127 TestUtils.updateComputeTemplateConsolidationData(
129 computeNodeTypeName, "server_ps01",
130 null, null, null, null, null, null,
131 portTypeToIdList, consolidationData);
133 TestUtils.initPortConsolidationData(mainST, consolidationData);
134 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
135 null, null, null, null, null,
137 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
138 null, null, null, null, null,
141 translationContext.setConsolidationData(consolidationData);
142 List<UnifiedCompositionMode> expectedUnifiedModes =
143 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
144 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
148 public void testConsolidationFalsePreConditionMoreThanOnePortPerType() throws IOException, URISyntaxException {
149 ConsolidationData consolidationData = new ConsolidationData();
150 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
151 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
152 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/more_than_one_port/",
156 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
158 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
159 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
160 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
162 TestUtils.updateComputeTemplateConsolidationData(
164 computeNodeTypeName, "server_ps01",
165 null, null, null, null, null, null,
166 portTypeToIdList, consolidationData);
168 TestUtils.updateComputeTemplateConsolidationData(
170 computeNodeTypeName, "server_ps02",
171 null, null, null, null, null, null,
172 portTypeToIdList, consolidationData);
175 TestUtils.initPortConsolidationData(mainST, consolidationData);
177 translationContext.setConsolidationData(consolidationData);
178 List<UnifiedCompositionMode> expectedUnifiedModes =
179 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
180 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
184 public void testConsolidationFalsePreConditionDifferentPortTypesBetweenComputes()
185 throws IOException, URISyntaxException {
186 ConsolidationData consolidationData = new ConsolidationData();
187 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
188 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
189 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_port_types",
193 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
195 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
196 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
198 TestUtils.updateComputeTemplateConsolidationData(
200 computeNodeTypeName, "server_ps01",
201 null, null, null, null, null, null,
202 portTypeToIdList, consolidationData);
204 portTypeToIdList = new ArrayList<>();
205 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
207 TestUtils.updateComputeTemplateConsolidationData(
209 computeNodeTypeName, "server_ps02",
210 null, null, null, null, null, null,
211 portTypeToIdList, consolidationData);
213 TestUtils.initPortConsolidationData(mainST, consolidationData);
214 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
215 null, null, null, null, null,
217 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
218 null, null, null, null, null,
221 translationContext.setConsolidationData(consolidationData);
222 List<UnifiedCompositionMode> expectedUnifiedModes =
223 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
224 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
229 public void testConsolidationResultTrueWithMoreThanTwoCompute() throws IOException, URISyntaxException {
230 ConsolidationData consolidationData = new ConsolidationData();
231 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
232 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
233 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
237 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
239 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
240 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
241 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
243 TestUtils.updateComputeTemplateConsolidationData(
245 computeNodeTypeName, "server_ps01",
246 null, null, null, null, null, null,
247 portTypeToIdList, consolidationData);
249 TestUtils.updateComputeTemplateConsolidationData(
251 computeNodeTypeName, "server_ps02",
252 null, null, null, null, null, null,
253 portTypeToIdList, consolidationData);
255 TestUtils.updateComputeTemplateConsolidationData(
257 computeNodeTypeName, "server_ps03",
258 null, null, null, null, null, null,
259 portTypeToIdList, consolidationData);
261 TestUtils.initPortConsolidationData(mainST, consolidationData);
262 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
263 null, null, null, null, null,
265 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
266 null, null, null, null, null,
269 translationContext.setConsolidationData(consolidationData);
271 List<UnifiedCompositionMode> expectedUnifiedModes =
272 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
273 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
277 public void testConsolidationResultFalseWithMoreThanTwoComputeOneIsDiff() throws IOException, URISyntaxException {
278 ConsolidationData consolidationData = new ConsolidationData();
279 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
280 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
281 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
285 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
287 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
288 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
289 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
291 TestUtils.updateComputeTemplateConsolidationData(
293 computeNodeTypeName, "server_ps01",
294 null, null, null, null, null, null,
295 portTypeToIdList, consolidationData);
297 TestUtils.updateComputeTemplateConsolidationData(
299 computeNodeTypeName, "server_ps02",
300 null, null, null, null, null, null,
301 portTypeToIdList, consolidationData);
303 portTypeToIdList = new ArrayList<>();
304 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
305 TestUtils.updateComputeTemplateConsolidationData(
307 computeNodeTypeName, "server_ps03",
308 null, null, null, null, null, null,
309 portTypeToIdList, consolidationData);
311 TestUtils.initPortConsolidationData(mainST, consolidationData);
312 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
313 null, null, null, null, null,
315 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
316 null, null, null, null, null,
319 translationContext.setConsolidationData(consolidationData);
320 List<UnifiedCompositionMode> expectedUnifiedModes =
321 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
322 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
326 public void testConsolidationResultFalseForTwoTypesOfComputeWithOneInstanceEach()
327 throws IOException, URISyntaxException {
328 ConsolidationData consolidationData = new ConsolidationData();
329 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
330 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.cmaui";
331 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
332 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_valid",
335 TestUtils.initComputeNodeTypeInConsolidationData
336 (mainST, computeNodeTypeName1, consolidationData);
337 TestUtils.initComputeNodeTypeInConsolidationData
338 (mainST, computeNodeTypeName2, consolidationData);
340 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
341 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
342 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
344 TestUtils.updateComputeTemplateConsolidationData(
346 computeNodeTypeName1, "server_ps01",
347 null, null, null, null, null, null,
348 portTypeToIdList, consolidationData);
350 TestUtils.updateComputeTemplateConsolidationData(
352 computeNodeTypeName2, "server_ps02",
353 null, null, null, null, null, null,
354 portTypeToIdList, consolidationData);
356 TestUtils.initPortConsolidationData(mainST, consolidationData);
357 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
358 null, null, null, null, null,
360 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
361 null, null, null, null, null,
364 translationContext.setConsolidationData(consolidationData);
366 List<UnifiedCompositionMode> expectedUnifiedModes =
367 Arrays.asList(UnifiedCompositionMode.SingleSubstitution,
368 UnifiedCompositionMode.SingleSubstitution);
369 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
373 public void testConsolidationValidForTwoSimilarComputeAndFalseForSingleCompute()
374 throws IOException, URISyntaxException {
375 ConsolidationData consolidationData = new ConsolidationData();
376 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
377 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.cmaui";
378 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
379 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/three_compute_two_similar_one_diff",
383 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName1, consolidationData);
385 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName2, consolidationData);
387 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
388 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
389 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
391 TestUtils.updateComputeTemplateConsolidationData(
393 computeNodeTypeName1, "server_ps01",
394 null, null, null, null, null, null,
395 portTypeToIdList, consolidationData);
397 TestUtils.updateComputeTemplateConsolidationData(
399 computeNodeTypeName1, "server_ps02",
400 null, null, null, null, null, null,
401 portTypeToIdList, consolidationData);
402 TestUtils.updateComputeTemplateConsolidationData(
404 computeNodeTypeName2, "server_ps03",
405 null, null, null, null, null, null,
406 portTypeToIdList, consolidationData);
408 TestUtils.initPortConsolidationData(mainST, consolidationData);
409 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
410 null, null, null, null, null,
412 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
413 null, null, null, null, null,
416 translationContext.setConsolidationData(consolidationData);
417 List<UnifiedCompositionMode> expectedUnifiedModes =
418 Arrays.asList(UnifiedCompositionMode.ScalingInstances,
419 UnifiedCompositionMode.SingleSubstitution);
420 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
424 public void testValidComputeAndPortConsolidation() throws IOException, URISyntaxException {
425 ConsolidationData consolidationData = new ConsolidationData();
426 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
427 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
428 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
432 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
434 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
435 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
436 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
438 TestUtils.updateComputeTemplateConsolidationData(
440 computeNodeTypeName, "server_ps01",
441 null, null, null, null, null, null,
442 portTypeToIdList, consolidationData);
444 TestUtils.updateComputeTemplateConsolidationData(
446 computeNodeTypeName, "server_ps02",
447 null, null, null, null, null, null,
448 portTypeToIdList, consolidationData);
450 TestUtils.updateComputeTemplateConsolidationData(
452 computeNodeTypeName, "server_ps03",
453 null, null, null, null, null, null,
454 portTypeToIdList, consolidationData);
456 TestUtils.initPortConsolidationData(mainST, consolidationData);
457 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
458 null, null, null, null, null,
460 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
461 null, null, null, null, null,
464 translationContext.setConsolidationData(consolidationData);
465 List<UnifiedCompositionMode> expectedUnifiedModes =
466 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
467 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
471 public void testFalseComputeConsolidationForTwoSimilarImageNamesAndOneDiff() throws IOException, URISyntaxException {
472 ConsolidationData consolidationData = new ConsolidationData();
473 String computeNodeTypeName1 = "org.openecomp.resource.vfc.nodes.heat.ps_server";
474 String computeNodeTypeName2 = "org.openecomp.resource.vfc.nodes.heat.pd_server";
475 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
476 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_image_name_diff",
479 TestUtils.initComputeNodeTypeInConsolidationData(
480 mainST, computeNodeTypeName1, consolidationData);
481 TestUtils.initComputeNodeTypeInConsolidationData(
482 mainST, computeNodeTypeName2, consolidationData);
484 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
485 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
486 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
488 TestUtils.updateComputeTemplateConsolidationData(
490 computeNodeTypeName1, "server_ps01",
491 null, null, null, null, null, null,
492 portTypeToIdList, consolidationData);
494 TestUtils.updateComputeTemplateConsolidationData(
496 computeNodeTypeName1, "server_ps02",
497 null, null, null, null, null, null,
498 portTypeToIdList, consolidationData);
500 TestUtils.updateComputeTemplateConsolidationData(
502 computeNodeTypeName1, "server_ps03",
503 null, null, null, null, null, null,
504 portTypeToIdList, consolidationData);
506 TestUtils.updateComputeTemplateConsolidationData(
508 computeNodeTypeName2, "server_pd01",
509 null, null, null, null, null, null,
510 portTypeToIdList, consolidationData);
512 TestUtils.updateComputeTemplateConsolidationData(
514 computeNodeTypeName2, "server_pd02",
515 null, null, null, null, null, null,
516 portTypeToIdList, consolidationData);
518 TestUtils.updateComputeTemplateConsolidationData(
520 computeNodeTypeName2, "server_pd03",
521 null, null, null, null, null, null,
522 portTypeToIdList, consolidationData);
524 TestUtils.initPortConsolidationData(mainST, consolidationData);
525 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
526 null, null, null, null, null,
528 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
529 null, null, null, null, null,
532 translationContext.setConsolidationData(consolidationData);
533 List<UnifiedCompositionMode> expectedUnifiedModes =
535 .asList(UnifiedCompositionMode.CatalogInstance, UnifiedCompositionMode.CatalogInstance);
536 verifyMainServiceTemplateConsolidation(2, expectedUnifiedModes, toscaServiceModel);
540 public void testFalseComputeConsolidationOneImageNameMissing() throws IOException, URISyntaxException {
541 ConsolidationData consolidationData = new ConsolidationData();
542 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.pd_server";
543 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
544 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_image_missing",
547 TestUtils.initComputeNodeTypeInConsolidationData(
548 mainST, computeNodeTypeName, consolidationData);
550 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
551 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
552 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
554 TestUtils.updateComputeTemplateConsolidationData(
556 computeNodeTypeName, "server_pd01",
557 null, null, null, null, null, null,
558 portTypeToIdList, consolidationData);
560 TestUtils.updateComputeTemplateConsolidationData(
562 computeNodeTypeName, "server_pd02",
563 null, null, null, null, null, null,
564 portTypeToIdList, consolidationData);
566 TestUtils.updateComputeTemplateConsolidationData(
568 computeNodeTypeName, "server_pd03",
569 null, null, null, null, null, null,
570 portTypeToIdList, consolidationData);
572 TestUtils.initPortConsolidationData(mainST, consolidationData);
573 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
574 null, null, null, null, null,
576 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
577 null, null, null, null, null,
580 translationContext.setConsolidationData(consolidationData);
581 List<UnifiedCompositionMode> expectedUnifiedModes =
582 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
583 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
587 public void testFalseComputeConsolidationForTwoSimilarFlavorNamesAndOneDiff() throws IOException, URISyntaxException {
588 ConsolidationData consolidationData = new ConsolidationData();
589 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
590 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
591 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_flavor_name_diff",
595 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
597 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
598 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
599 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
601 TestUtils.updateComputeTemplateConsolidationData(
603 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
604 portTypeToIdList, consolidationData);
606 TestUtils.updateComputeTemplateConsolidationData(
608 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
609 portTypeToIdList, consolidationData);
611 TestUtils.updateComputeTemplateConsolidationData(
613 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
614 portTypeToIdList, consolidationData);
616 TestUtils.initPortConsolidationData(mainST, consolidationData);
617 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
618 null, null, null, null, null,
620 TestUtils.updatePortConsolidationData(mainST, "sm01_port_1",
621 null, null, null, null, null,
624 translationContext.setConsolidationData(consolidationData);
625 List<UnifiedCompositionMode> expectedUnifiedModes =
626 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
627 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
631 public void testFalsePortConsolidationForOneDiffFixedIpsValue() throws IOException, URISyntaxException {
632 ConsolidationData consolidationData = new ConsolidationData();
633 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
634 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
635 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_exCP_naming_diff",
639 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
641 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
642 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
643 TestUtils.updateComputeTemplateConsolidationData(
645 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
646 portTypeToIdList, consolidationData);
648 portTypeToIdList = new ArrayList<>();
649 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
650 TestUtils.updateComputeTemplateConsolidationData(
652 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
653 portTypeToIdList, consolidationData);
655 portTypeToIdList = new ArrayList<>();
656 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
657 TestUtils.updateComputeTemplateConsolidationData(
659 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
660 portTypeToIdList, consolidationData);
662 TestUtils.initPortConsolidationData(mainST, consolidationData);
663 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
664 null, null, null, null, null,
667 translationContext.setConsolidationData(consolidationData);
668 List<UnifiedCompositionMode> expectedUnifiedModes =
669 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
670 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
674 public void testFalsePortConsolidationForOneDiffExpcNaming() {
679 public void testFalsePortConsolidationForTwoPortsWithFixedIpsAndOneWithout() throws IOException, URISyntaxException {
680 ConsolidationData consolidationData = new ConsolidationData();
681 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
682 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
683 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_fixed_ips",
687 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
689 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
690 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
691 TestUtils.updateComputeTemplateConsolidationData(
693 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
694 portTypeToIdList, consolidationData);
696 portTypeToIdList = new ArrayList<>();
697 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
698 TestUtils.updateComputeTemplateConsolidationData(
700 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
701 portTypeToIdList, consolidationData);
703 portTypeToIdList = new ArrayList<>();
704 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
705 TestUtils.updateComputeTemplateConsolidationData(
707 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
708 portTypeToIdList, consolidationData);
710 TestUtils.initPortConsolidationData(mainST, consolidationData);
711 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
712 null, null, null, null, null,
715 translationContext.setConsolidationData(consolidationData);
716 List<UnifiedCompositionMode> expectedUnifiedModes =
717 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
718 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
722 public void testFalsePortConsolidationForTwoPortsWithAddressPairsAndOneWithout()
723 throws IOException, URISyntaxException {
724 ConsolidationData consolidationData = new ConsolidationData();
725 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
726 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
727 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_allowed_address_pairs",
731 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
733 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
734 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
735 TestUtils.updateComputeTemplateConsolidationData(
737 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
738 portTypeToIdList, consolidationData);
739 portTypeToIdList = new ArrayList<>();
740 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
741 TestUtils.updateComputeTemplateConsolidationData(
743 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
744 portTypeToIdList, consolidationData);
746 portTypeToIdList = new ArrayList<>();
747 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
748 TestUtils.updateComputeTemplateConsolidationData(
750 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
751 portTypeToIdList, consolidationData);
753 TestUtils.initPortConsolidationData(mainST, consolidationData);
754 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
755 null, null, null, null, null,
758 translationContext.setConsolidationData(consolidationData);
759 List<UnifiedCompositionMode> expectedUnifiedModes =
760 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
761 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
765 public void testFalsePortConsolidationForTwoPortsWithMacAddressAndOneWithout()
766 throws IOException, URISyntaxException {
767 ConsolidationData consolidationData = new ConsolidationData();
768 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
769 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
770 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/one_port_without_mac_address",
774 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
776 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
777 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
778 TestUtils.updateComputeTemplateConsolidationData(
780 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
781 portTypeToIdList, consolidationData);
783 portTypeToIdList = new ArrayList<>();
784 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
785 TestUtils.updateComputeTemplateConsolidationData(
787 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
788 portTypeToIdList, consolidationData);
789 portTypeToIdList = new ArrayList<>();
790 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
791 TestUtils.updateComputeTemplateConsolidationData(
793 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
794 portTypeToIdList, consolidationData);
796 TestUtils.initPortConsolidationData(mainST, consolidationData);
797 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
798 null, null, null, null, null,
801 translationContext.setConsolidationData(consolidationData);
802 List<UnifiedCompositionMode> expectedUnifiedModes =
803 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
804 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
808 public void testValidPortConsolidationForPortsWithNoneOfTheCheckedProperties()
809 throws IOException, URISyntaxException {
810 ConsolidationData consolidationData = new ConsolidationData();
811 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
812 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
813 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/ports_with_none_of_the_properties",
817 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
819 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
820 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
821 TestUtils.updateComputeTemplateConsolidationData(
823 computeNodeTypeName, "server_ps01", null, null, null, null, null, null,
824 portTypeToIdList, consolidationData);
826 portTypeToIdList = new ArrayList<>();
827 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
828 TestUtils.updateComputeTemplateConsolidationData(
830 computeNodeTypeName, "server_ps02", null, null, null, null, null, null,
831 portTypeToIdList, consolidationData);
833 portTypeToIdList = new ArrayList<>();
834 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
835 TestUtils.updateComputeTemplateConsolidationData(
837 computeNodeTypeName, "server_ps03", null, null, null, null, null, null,
838 portTypeToIdList, consolidationData);
840 TestUtils.initPortConsolidationData(mainST, consolidationData);
841 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
842 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
843 Collections.singletonList("group_id_1"), null,
846 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
847 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
848 Collections.singletonList("group_id_1"), null,
851 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
852 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
853 Collections.singletonList("group_id_1"), null,
857 translationContext.setConsolidationData(consolidationData);
858 List<UnifiedCompositionMode> expectedUnifiedModes =
859 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
860 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
864 public void testComputeRelationsSimilarBetweenComputeNodes() throws IOException, URISyntaxException {
865 ConsolidationData consolidationData = new ConsolidationData();
866 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
867 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
868 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_with_same_relations",
872 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
874 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
875 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
876 TestUtils.updateComputeTemplateConsolidationData(
878 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
879 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
880 Collections.singletonList("group_id1"),
885 portTypeToIdList = new ArrayList<>();
886 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
887 TestUtils.updateComputeTemplateConsolidationData(
889 computeNodeTypeName, "server_ps02", 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_3"));
898 TestUtils.updateComputeTemplateConsolidationData(
900 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
901 Collections.singletonList("cmaui_volume"),
902 Collections.singletonList("cmaui_volume"), Collections.singletonList("group_id1"), null,
907 TestUtils.initPortConsolidationData(mainST, consolidationData);
908 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
909 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
910 Collections.singletonList("group_id_1"), null,
913 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
914 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
915 Collections.singletonList("group_id_1"), null,
918 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
919 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
920 Collections.singletonList("group_id_1"), null,
925 translationContext.setConsolidationData(consolidationData);
926 List<UnifiedCompositionMode> expectedUnifiedModes =
927 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
928 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
932 public void testNodesInRelationsDiffBetweenThreeComputes() throws IOException, URISyntaxException {
933 ConsolidationData consolidationData = new ConsolidationData();
934 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
935 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
936 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
940 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
942 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
943 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
944 TestUtils.updateComputeTemplateConsolidationData(
946 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
947 Collections.singletonList
948 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
949 Collections.singletonList("group_id1"), null, null,
953 portTypeToIdList = new ArrayList<>();
954 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
955 TestUtils.updateComputeTemplateConsolidationData(
957 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
958 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
959 Collections.singletonList("group_id1"),
964 portTypeToIdList = new ArrayList<>();
965 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
966 TestUtils.updateComputeTemplateConsolidationData(
968 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_2"),
969 Collections.singletonList
970 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
971 Collections.singletonList("group_id1"), null, null,
975 TestUtils.initPortConsolidationData(mainST, consolidationData);
976 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
980 translationContext.setConsolidationData(consolidationData);
981 List<UnifiedCompositionMode> expectedUnifiedModes =
982 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
983 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
987 public void testNodesOutRelationsDiffBetweenThreeComputes() throws IOException, URISyntaxException {
988 ConsolidationData consolidationData = new ConsolidationData();
989 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
990 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
991 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
995 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
997 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
998 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
999 TestUtils.updateComputeTemplateConsolidationData(
1001 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1002 Collections.singletonList
1003 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1004 Collections.singletonList("group_id1"), null, null,
1008 portTypeToIdList = new ArrayList<>();
1009 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1010 TestUtils.updateComputeTemplateConsolidationData(
1012 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1013 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1014 Collections.singletonList("group_id1"),
1019 portTypeToIdList = new ArrayList<>();
1020 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1021 TestUtils.updateComputeTemplateConsolidationData(
1023 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1024 Collections.singletonList("cmaui_volume_1"), Collections.singletonList("cmaui_volume"),
1025 Collections.singletonList("group_id1"),
1030 TestUtils.initPortConsolidationData(mainST, consolidationData);
1031 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1035 translationContext.setConsolidationData(consolidationData);
1036 List<UnifiedCompositionMode> expectedUnifiedModes =
1037 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1038 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1042 public void testVolumeRelationsDiffBetweenThreeComputes() throws IOException, URISyntaxException {
1043 ConsolidationData consolidationData = new ConsolidationData();
1044 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1045 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1046 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
1050 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1052 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1053 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1054 TestUtils.updateComputeTemplateConsolidationData(
1056 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1057 Collections.singletonList
1058 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1059 Collections.singletonList("group_id1"), null, null,
1063 portTypeToIdList = new ArrayList<>();
1064 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1065 TestUtils.updateComputeTemplateConsolidationData(
1067 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1068 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1069 Collections.singletonList("group_id1"),
1074 portTypeToIdList = new ArrayList<>();
1075 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1076 TestUtils.updateComputeTemplateConsolidationData(
1078 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1079 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume_1"),
1080 Collections.singletonList("group_id1"),
1085 TestUtils.initPortConsolidationData(mainST, consolidationData);
1086 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1090 translationContext.setConsolidationData(consolidationData);
1091 List<UnifiedCompositionMode> expectedUnifiedModes =
1092 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1093 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1097 public void testGroupRelationsDiffBetweenThreeComputes() throws IOException, URISyntaxException {
1098 ConsolidationData consolidationData = new ConsolidationData();
1099 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1100 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1101 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_compute_valid",
1105 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1107 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1108 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1109 TestUtils.updateComputeTemplateConsolidationData(
1111 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1112 Collections.singletonList
1113 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1114 Collections.singletonList("group_id_1"), null,
1119 portTypeToIdList = new ArrayList<>();
1120 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1121 TestUtils.updateComputeTemplateConsolidationData(
1123 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1124 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1125 Collections.singletonList("group_id_1"),
1130 portTypeToIdList = new ArrayList<>();
1131 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1132 TestUtils.updateComputeTemplateConsolidationData(
1134 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1135 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1136 Collections.singletonList("group_id_2"),
1141 TestUtils.initPortConsolidationData(mainST, consolidationData);
1142 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1", null, null, null, null, null,
1146 translationContext.setConsolidationData(consolidationData);
1147 List<UnifiedCompositionMode> expectedUnifiedModes =
1148 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1149 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1153 public void testPortConsolidationDataRelationsSimilar() throws IOException, URISyntaxException {
1154 ConsolidationData consolidationData = new ConsolidationData();
1155 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1156 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1157 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1161 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1163 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1164 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1165 TestUtils.updateComputeTemplateConsolidationData(
1167 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1168 Collections.singletonList
1169 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1170 Collections.singletonList("group_id_1"), null,
1175 portTypeToIdList = new ArrayList<>();
1176 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1177 TestUtils.updateComputeTemplateConsolidationData(
1179 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1180 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1181 Collections.singletonList("group_id_1"),
1186 portTypeToIdList = new ArrayList<>();
1187 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1188 TestUtils.updateComputeTemplateConsolidationData(
1190 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1191 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1192 Collections.singletonList("group_id_1"),
1197 TestUtils.initPortConsolidationData(mainST, consolidationData);
1198 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1199 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1200 Collections.singletonList("group_id_1"), null,
1203 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1204 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1205 Collections.singletonList("group_id_1"), null,
1208 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1209 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1210 Collections.singletonList("group_id_1"), null,
1214 translationContext.setConsolidationData(consolidationData);
1215 List<UnifiedCompositionMode> expectedUnifiedModes =
1216 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1217 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1221 public void testNodesInRelationsDiffBetweenThreePortConsolidationDatas() throws IOException, URISyntaxException {
1222 ConsolidationData consolidationData = new ConsolidationData();
1223 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1224 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1225 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1229 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1231 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1232 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1233 TestUtils.updateComputeTemplateConsolidationData(
1235 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1236 Collections.singletonList
1237 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1238 Collections.singletonList("group_id_1"), null,
1243 portTypeToIdList = new ArrayList<>();
1244 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1245 TestUtils.updateComputeTemplateConsolidationData(
1247 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1248 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1249 Collections.singletonList("group_id_1"),
1254 portTypeToIdList = new ArrayList<>();
1255 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1256 TestUtils.updateComputeTemplateConsolidationData(
1258 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1259 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1260 Collections.singletonList("group_id_1"),
1265 TestUtils.initPortConsolidationData(mainST, consolidationData);
1266 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1267 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1268 Collections.singletonList("group_id_1"), null,
1271 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1272 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1273 Collections.singletonList("group_id_1"), null,
1276 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1277 Collections.singletonList("node_in_2"), Collections.singletonList("net_id_1"),
1278 Collections.singletonList("group_id_1"), null,
1282 translationContext.setConsolidationData(consolidationData);
1283 List<UnifiedCompositionMode> expectedUnifiedModes =
1284 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1285 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1289 public void testNodesOutRelationsDiffBetweenThreePortConsolidationDatas() throws IOException, URISyntaxException {
1290 ConsolidationData consolidationData = new ConsolidationData();
1291 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1292 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1293 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1297 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1299 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1300 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1301 TestUtils.updateComputeTemplateConsolidationData(
1303 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1304 Collections.singletonList
1305 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1306 Collections.singletonList("group_id_1"), null,
1311 portTypeToIdList = new ArrayList<>();
1312 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1313 TestUtils.updateComputeTemplateConsolidationData(
1315 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1316 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1317 Collections.singletonList("group_id_1"),
1322 portTypeToIdList = new ArrayList<>();
1323 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1324 TestUtils.updateComputeTemplateConsolidationData(
1326 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1327 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1328 Collections.singletonList("group_id_1"),
1333 TestUtils.initPortConsolidationData(mainST, consolidationData);
1334 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1335 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1336 Collections.singletonList("group_id_1"), null,
1339 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1340 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1341 Collections.singletonList("group_id_1"), null,
1344 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1345 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_2"),
1346 Collections.singletonList("group_id_1"), null,
1350 translationContext.setConsolidationData(consolidationData);
1351 List<UnifiedCompositionMode> expectedUnifiedModes =
1352 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1353 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1357 public void testGroupIdsRelationsDiffBetweenThreePortConsolidationDatas() throws IOException, URISyntaxException {
1358 ConsolidationData consolidationData = new ConsolidationData();
1359 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1360 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1361 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1365 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1367 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1368 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1369 TestUtils.updateComputeTemplateConsolidationData(
1371 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1372 Collections.singletonList
1373 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1374 Collections.singletonList("group_id_1"), null,
1379 portTypeToIdList = new ArrayList<>();
1380 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1381 TestUtils.updateComputeTemplateConsolidationData(
1383 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1384 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1385 Collections.singletonList("group_id_1"),
1390 portTypeToIdList = new ArrayList<>();
1391 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1392 TestUtils.updateComputeTemplateConsolidationData(
1394 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1395 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1396 Collections.singletonList("group_id_1"),
1401 TestUtils.initPortConsolidationData(mainST, consolidationData);
1402 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1403 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1404 Arrays.asList("group_id_1", "group_id_2"), null, null,
1406 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1407 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1408 Arrays.asList("group_id_1", "group_id_2"), null, null,
1410 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1411 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1412 Arrays.asList("group_id_1", "group_id_3"), null, null,
1415 translationContext.setConsolidationData(consolidationData);
1416 List<UnifiedCompositionMode> expectedUnifiedModes =
1417 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1418 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1422 public void testValidConsolidationForComputesWithValidGetAttr() throws IOException, URISyntaxException {
1423 ConsolidationData consolidationData = new ConsolidationData();
1424 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1425 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1426 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1430 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1432 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1433 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1435 TestUtils.updateComputeTemplateConsolidationData(
1437 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1438 Collections.singletonList
1439 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1440 Collections.singletonList("group_id_1"),
1441 Collections.singletonList("node_1"), null,
1445 portTypeToIdList = new ArrayList<>();
1446 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1447 TestUtils.updateComputeTemplateConsolidationData(
1449 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1450 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1451 Collections.singletonList("group_id_1"),
1452 Collections.singletonList("node_2"), null,
1456 portTypeToIdList = new ArrayList<>();
1457 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1458 TestUtils.updateComputeTemplateConsolidationData(
1460 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1461 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1462 Collections.singletonList("group_id_1"),
1463 Collections.singletonList("node_3"), null,
1467 TestUtils.initPortConsolidationData(mainST, consolidationData);
1468 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1469 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1470 Arrays.asList("group_id_1", "group_id_2"), null, null,
1472 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1473 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1474 Arrays.asList("group_id_1", "group_id_2"), null, null,
1476 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1477 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1478 Arrays.asList("group_id_1", "group_id_2"), null, null,
1481 translationContext.setConsolidationData(consolidationData);
1482 List<UnifiedCompositionMode> expectedUnifiedModes =
1483 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1484 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1488 public void testInvalidConsolidationForComputesWithGetAttrForEachOther() throws IOException, URISyntaxException {
1489 ConsolidationData consolidationData = new ConsolidationData();
1490 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1491 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1492 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1496 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1498 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1499 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1501 TestUtils.updateComputeTemplateConsolidationData(
1503 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1504 Collections.singletonList
1505 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1506 Collections.singletonList("group_id_1"),
1507 Collections.singletonList("server_ps02"), null,
1511 portTypeToIdList = new ArrayList<>();
1512 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1513 TestUtils.updateComputeTemplateConsolidationData(
1515 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1516 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1517 Collections.singletonList("group_id_1"),
1518 Collections.singletonList("node_1"), null,
1522 portTypeToIdList = new ArrayList<>();
1523 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1524 TestUtils.updateComputeTemplateConsolidationData(
1526 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1527 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1528 Collections.singletonList("group_id_1"),
1529 Collections.singletonList("node_2"), null,
1533 TestUtils.initPortConsolidationData(mainST, consolidationData);
1534 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1535 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1536 Arrays.asList("group_id_1", "group_id_2"), null, null,
1538 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1539 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1540 Arrays.asList("group_id_1", "group_id_2"), null, null,
1542 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1543 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1544 Arrays.asList("group_id_1", "group_id_2"), null, null,
1547 translationContext.setConsolidationData(consolidationData);
1548 List<UnifiedCompositionMode> expectedUnifiedModes =
1549 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1550 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1554 public void testValidConsolidationForPortsWithValidGetAttr() throws IOException, URISyntaxException {
1555 ConsolidationData consolidationData = new ConsolidationData();
1556 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1557 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1558 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1562 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1564 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1565 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1567 TestUtils.updateComputeTemplateConsolidationData(
1569 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1570 Collections.singletonList
1571 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1572 Collections.singletonList("group_id_1"), null,
1577 portTypeToIdList = new ArrayList<>();
1578 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1579 TestUtils.updateComputeTemplateConsolidationData(
1581 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1582 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1583 Collections.singletonList("group_id_1"),
1588 portTypeToIdList = new ArrayList<>();
1589 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1590 TestUtils.updateComputeTemplateConsolidationData(
1592 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1593 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1594 Collections.singletonList("group_id_1"),
1599 TestUtils.initPortConsolidationData(mainST, consolidationData);
1600 List<String> portNodeTemplateIds =
1601 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1602 List<List<String>> nodesConnectedInIds =
1603 Arrays.asList(Collections.singletonList("node_in_1"),
1604 Collections.singletonList("node_in_1"),
1605 Collections.singletonList("node_in_1"));
1606 List<List<String>> nodesConnectedOutIds =
1607 Arrays.asList(Collections.singletonList("node_out_1"),
1608 Collections.singletonList("node_out_1"),
1609 Collections.singletonList("node_out_1"));
1610 List<List<String>> getAttrInIds =
1611 Arrays.asList(Collections.singletonList("get_attr_1"),
1612 Collections.singletonList("get_attr_2"),
1613 Collections.singletonList("get_attr_3"));
1614 List<List<String>> groupIds =
1615 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
1616 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1617 List<List<Pair<String, GetAttrFuncData>>> getAttrOut =
1618 Arrays.asList(null, null, null);
1620 TestUtils.updateMultiplePortConsolidationDatas(
1621 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1622 getAttrInIds, getAttrOut, consolidationData);
1624 translationContext.setConsolidationData(consolidationData);
1625 List<UnifiedCompositionMode> expectedUnifiedModes =
1626 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1627 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1631 public void testInvalidConsolidationForPortsWithGetAttrInForEachOther() throws IOException, URISyntaxException {
1632 ConsolidationData consolidationData = new ConsolidationData();
1633 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1634 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1635 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation" +
1636 "/three_ports_similar_relations",
1640 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1642 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1643 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1645 TestUtils.updateComputeTemplateConsolidationData(
1647 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1648 Collections.singletonList
1649 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1650 Collections.singletonList("group_id_1"),
1651 Collections.singletonList("node_1"), null,
1655 portTypeToIdList = new ArrayList<>();
1656 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1657 TestUtils.updateComputeTemplateConsolidationData(
1659 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1660 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1661 Collections.singletonList("group_id_1"),
1662 Collections.singletonList("node_2"), null,
1666 portTypeToIdList = new ArrayList<>();
1667 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1668 TestUtils.updateComputeTemplateConsolidationData(
1670 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1671 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1672 Collections.singletonList("group_id_1"),
1673 Collections.singletonList("node_3"), null,
1677 TestUtils.initPortConsolidationData(mainST, consolidationData);
1678 List<String> portNodeTemplateIds =
1679 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1680 List<List<String>> nodesConnectedInIds =
1681 Arrays.asList(Collections.singletonList("node_in_1"),
1682 Collections.singletonList("node_in_1"),
1683 Collections.singletonList("node_in_1"));
1684 List<List<String>> nodesConnectedOutIds =
1685 Arrays.asList(Collections.singletonList("node_out_1"),
1686 Collections.singletonList("node_out_1"),
1687 Collections.singletonList("node_out_1"));
1688 List<List<String>> getAttrInIds =
1689 Arrays.asList(Collections.singletonList("get_attr_1"),
1690 Collections.singletonList("get_attr_2"),
1691 Collections.singletonList("cm01_port_1"));
1692 List<List<String>> groupIds =
1693 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
1694 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1695 List<List<Pair<String, GetAttrFuncData>>> getAttrOut =
1696 Arrays.asList(null, null, null);
1698 TestUtils.updateMultiplePortConsolidationDatas(
1699 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1700 getAttrInIds, getAttrOut, consolidationData);
1702 translationContext.setConsolidationData(consolidationData);
1703 List<UnifiedCompositionMode> expectedUnifiedModes =
1704 Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
1705 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1709 public void testValidConsolidationForComputesWithSamePortTypesPointingByGetAttrIn() throws
1710 IOException, URISyntaxException {
1711 ConsolidationData consolidationData = new ConsolidationData();
1712 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1713 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1714 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1718 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1720 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1721 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1723 TestUtils.updateComputeTemplateConsolidationData(
1725 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1726 Collections.singletonList
1727 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1728 Collections.singletonList("group_id_1"),
1729 Collections.singletonList("cm01_port_1"), null,
1733 portTypeToIdList = new ArrayList<>();
1734 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1735 TestUtils.updateComputeTemplateConsolidationData(
1737 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1738 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1739 Collections.singletonList("group_id_1"),
1740 Collections.singletonList("cm01_port_2"), null,
1744 portTypeToIdList = new ArrayList<>();
1745 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1746 TestUtils.updateComputeTemplateConsolidationData(
1748 computeNodeTypeName, "server_ps03", 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_3"), null,
1755 TestUtils.initPortConsolidationData(mainST, consolidationData);
1756 List<String> portNodeTemplateIds =
1757 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3");
1758 List<List<String>> nodesConnectedInIds =
1759 Arrays.asList(Collections.singletonList("node_in_1"),
1760 Collections.singletonList("node_in_1"),
1761 Collections.singletonList("node_in_1"));
1762 List<List<String>> nodesConnectedOutIds =
1763 Arrays.asList(Collections.singletonList("node_out_1"),
1764 Collections.singletonList("node_out_1"),
1765 Collections.singletonList("node_out_1"));
1766 List<List<String>> getAttrInIds =
1767 Arrays.asList(Collections.singletonList("get_attr_1"),
1768 Collections.singletonList("get_attr_2"),
1769 Collections.singletonList("get_attr_3"));
1770 List<List<String>> groupIds =
1771 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
1772 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1773 List<List<Pair<String, GetAttrFuncData>>> getAttrOut =
1774 Arrays.asList(null, null, null);
1776 TestUtils.updateMultiplePortConsolidationDatas(
1777 mainST, portNodeTemplateIds, nodesConnectedInIds, nodesConnectedOutIds, groupIds,
1778 getAttrInIds, getAttrOut, consolidationData);
1780 translationContext.setConsolidationData(consolidationData);
1781 List<UnifiedCompositionMode> expectedUnifiedModes =
1782 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1783 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1787 public void testValidGetAttrOutFromComputes() throws IOException, URISyntaxException {
1788 ConsolidationData consolidationData = new ConsolidationData();
1789 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1790 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1791 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1795 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1797 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1798 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1799 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1800 TestUtils.updateComputeTemplateConsolidationData(
1802 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1803 Collections.singletonList
1804 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1805 Collections.singletonList("group_id_1"),
1806 Collections.singletonList("cm01_port_1"),
1807 Collections.singletonList(
1808 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1812 portTypeToIdList = new ArrayList<>();
1813 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1814 TestUtils.updateComputeTemplateConsolidationData(
1816 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1817 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1818 Collections.singletonList("group_id_1"),
1819 Collections.singletonList("cm01_port_1"),
1820 Collections.singletonList(
1821 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1825 portTypeToIdList = new ArrayList<>();
1826 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1827 TestUtils.updateComputeTemplateConsolidationData(
1829 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1830 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1831 Collections.singletonList("group_id_1"),
1832 Collections.singletonList("cm01_port_1"),
1833 Collections.singletonList(
1834 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1838 TestUtils.initPortConsolidationData(mainST, consolidationData);
1839 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
1840 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1841 Arrays.asList("group_id_1", "group_id_2"),
1842 Collections.singletonList("sm01_port_2"), null,
1844 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
1845 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1846 Arrays.asList("group_id_1", "group_id_2"),
1847 Collections.singletonList("sm01_port_1"), null,
1849 TestUtils.updatePortConsolidationData(mainST, "cm01_port_3",
1850 Collections.singletonList("node_in_1"), Collections.singletonList("net_id_1"),
1851 Arrays.asList("group_id_1", "group_id_2"),
1852 Collections.singletonList("rm01_port_1"), null,
1855 translationContext.setConsolidationData(consolidationData);
1856 List<UnifiedCompositionMode> expectedUnifiedModes =
1857 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
1858 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1862 public void testInValidGetAttrOutFromComputesPortTypeDifferent() throws IOException, URISyntaxException {
1863 ConsolidationData consolidationData = new ConsolidationData();
1864 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1865 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1866 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1870 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1872 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
1873 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1874 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1875 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1876 TestUtils.updateComputeTemplateConsolidationData(
1878 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1879 Collections.singletonList
1880 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1881 Collections.singletonList("group_id_1"),
1882 Collections.singletonList("cm01_port_1"),
1883 Collections.singletonList(
1884 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1888 portTypeToIdList = new ArrayList<>();
1889 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1890 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1891 TestUtils.updateComputeTemplateConsolidationData(
1893 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1894 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1895 Collections.singletonList("group_id_1"),
1896 Collections.singletonList("cm01_port_1"),
1897 Collections.singletonList(
1898 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
1902 portTypeToIdList = new ArrayList<>();
1903 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1904 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
1905 TestUtils.updateComputeTemplateConsolidationData(
1907 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
1908 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1909 Collections.singletonList("group_id_1"),
1910 Collections.singletonList("cm01_port_1"),
1911 Collections.singletonList(
1912 new ImmutablePair<>("sm01_port_1", getAttrFuncData)),
1916 TestUtils.initPortConsolidationData(mainST, consolidationData);
1918 List<String> portNodeTemplateIds =
1919 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1",
1922 List<List<String>> nodesConnectedInIds =
1923 Arrays.asList(Collections.singletonList("node_in_1"),
1924 Collections.singletonList("node_in_1"), Collections.singletonList
1925 ("node_in_1"), Collections.singletonList("node_in_1"),
1926 Collections.singletonList("node_in_1"),
1927 Collections.singletonList("node_in_1"));
1928 List<List<String>> nodesConnectedOutIds =
1929 Arrays.asList(Collections.singletonList("node_out_1"),
1930 Collections.singletonList("node_out_1"), Collections.singletonList
1931 ("node_out_1"), Collections.singletonList("node_out_1"),
1932 Collections.singletonList("node_out_1"),
1933 Collections.singletonList("node_out_1"));
1934 List<List<String>> getAttrInIds =
1935 Arrays.asList(Collections.singletonList("get_attr_1"),
1936 Collections.singletonList("get_attr_2"), Collections.singletonList
1937 ("get_attr_3"), Collections.singletonList("get_attr_1"),
1938 Collections.singletonList("get_attr_2"),
1939 Collections.singletonList("get_attr_3"));
1940 List<List<String>> groupIds =
1941 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
1942 Arrays.asList("group_id_1",
1943 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
1944 Arrays.asList("group_id_1", "group_id_2"),
1945 Arrays.asList("group_id_1",
1946 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
1947 List<List<Pair<String, GetAttrFuncData>>> getAttrOut =
1948 Arrays.asList(null, null, null, null,
1951 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
1952 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
1955 translationContext.setConsolidationData(consolidationData);
1956 List<UnifiedCompositionMode> expectedUnifiedModes =
1957 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
1958 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
1962 public void testValidGetAttrOutFromPorts() throws IOException, URISyntaxException {
1963 ConsolidationData consolidationData = new ConsolidationData();
1964 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
1965 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
1966 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
1970 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
1972 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
1973 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
1974 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
1975 TestUtils.updateComputeTemplateConsolidationData(
1977 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
1978 Collections.singletonList
1979 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1980 Collections.singletonList("group_id_1"),
1981 Collections.singletonList("cm01_port_1"), null,
1985 portTypeToIdList = new ArrayList<>();
1986 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
1987 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
1988 TestUtils.updateComputeTemplateConsolidationData(
1990 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
1991 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
1992 Collections.singletonList("group_id_1"),
1993 Collections.singletonList("cm01_port_1"), null,
1997 portTypeToIdList = new ArrayList<>();
1998 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
1999 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
2000 TestUtils.updateComputeTemplateConsolidationData(
2002 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
2003 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
2004 Collections.singletonList("group_id_1"),
2005 Collections.singletonList("cm01_port_1"), null,
2009 TestUtils.initPortConsolidationData(mainST, consolidationData);
2011 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
2012 List<String> portNodeTemplateIds =
2013 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1",
2016 List<List<String>> nodesConnectedInIds =
2017 Arrays.asList(Collections.singletonList("node_in_1"),
2018 Collections.singletonList("node_in_1"), Collections.singletonList
2019 ("node_in_1"), Collections.singletonList("node_in_1"),
2020 Collections.singletonList("node_in_1"),
2021 Collections.singletonList("node_in_1"));
2022 List<List<String>> nodesConnectedOutIds =
2023 Arrays.asList(Collections.singletonList("node_out_1"),
2024 Collections.singletonList("node_out_1"), Collections.singletonList
2025 ("node_out_1"), Collections.singletonList("node_out_1"),
2026 Collections.singletonList("node_out_1"),
2027 Collections.singletonList("node_out_1"));
2028 List<List<String>> getAttrInIds =
2029 Arrays.asList(null, null, null, null, null, null);
2030 List<List<String>> groupIds =
2031 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
2032 Arrays.asList("group_id_1",
2033 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
2034 Arrays.asList("group_id_1", "group_id_2"),
2035 Arrays.asList("group_id_1",
2036 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
2037 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
2038 Collections.singletonList(
2039 new ImmutablePair<>("sm01_port_1", getAttrFuncData)),
2040 Collections.singletonList(
2041 new ImmutablePair<>("sm01_port_2", getAttrFuncData)),
2042 Collections.singletonList(
2043 new ImmutablePair<>("sm01_port_3", getAttrFuncData)),
2044 Collections.singletonList(
2045 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
2046 Collections.singletonList(
2047 new ImmutablePair<>("cm01_port_2", getAttrFuncData)),
2048 Collections.singletonList(
2049 new ImmutablePair<>("cm01_port_3", getAttrFuncData)));
2051 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
2052 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
2055 translationContext.setConsolidationData(consolidationData);
2056 List<UnifiedCompositionMode> expectedUnifiedModes =
2057 Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
2058 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
2062 public void testInvalidGetAttrOutFromPorts() throws IOException, URISyntaxException {
2063 ConsolidationData consolidationData = new ConsolidationData();
2064 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2065 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2066 ("/mock/services/heattotosca/consolidation/translatedfiles/computeportconsolidation/three_ports_similar_relations",
2070 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
2072 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
2073 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_1"));
2074 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_1"));
2075 TestUtils.updateComputeTemplateConsolidationData(
2077 computeNodeTypeName, "server_ps01", Collections.singletonList("cm01_port_1"),
2078 Collections.singletonList
2079 ("cmaui_volume"), Collections.singletonList("cmaui_volume"),
2080 Collections.singletonList("group_id_1"),
2081 Collections.singletonList("cm01_port_1"), null,
2085 portTypeToIdList = new ArrayList<>();
2086 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_2"));
2087 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_2"));
2088 TestUtils.updateComputeTemplateConsolidationData(
2090 computeNodeTypeName, "server_ps02", Collections.singletonList("cm01_port_1"),
2091 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
2092 Collections.singletonList("group_id_1"),
2093 Collections.singletonList("cm01_port_1"), null,
2097 portTypeToIdList = new ArrayList<>();
2098 portTypeToIdList.add(new ImmutablePair<>("cm01_port", "cm01_port_3"));
2099 portTypeToIdList.add(new ImmutablePair<>("sm01_port", "sm01_port_3"));
2100 TestUtils.updateComputeTemplateConsolidationData(
2102 computeNodeTypeName, "server_ps03", Collections.singletonList("cm01_port_1"),
2103 Collections.singletonList("cmaui_volume"), Collections.singletonList("cmaui_volume"),
2104 Collections.singletonList("group_id_1"),
2105 Collections.singletonList("cm01_port_1"), null,
2109 TestUtils.initPortConsolidationData(mainST, consolidationData);
2111 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "s1_name");
2112 List<String> portNodeTemplateIds =
2113 Arrays.asList("cm01_port_1", "cm01_port_2", "cm01_port_3", "sm01_port_1",
2116 List<List<String>> nodesConnectedInIds =
2117 Arrays.asList(Collections.singletonList("node_in_1"),
2118 Collections.singletonList("node_in_1"), Collections.singletonList
2119 ("node_in_1"), Collections.singletonList("node_in_1"),
2120 Collections.singletonList("node_in_1"),
2121 Collections.singletonList("node_in_1"));
2122 List<List<String>> nodesConnectedOutIds =
2123 Arrays.asList(Collections.singletonList("node_out_1"),
2124 Collections.singletonList("node_out_1"), Collections.singletonList
2125 ("node_out_1"), Collections.singletonList("node_out_1"),
2126 Collections.singletonList("node_out_1"),
2127 Collections.singletonList("node_out_1"));
2128 List<List<String>> getAttrInIds =
2129 Arrays.asList(null, null, null, null, null, null);
2130 List<List<String>> groupIds =
2131 Arrays.asList(Arrays.asList("group_id_1", "group_id_2"),
2132 Arrays.asList("group_id_1", "group_id_2"), Arrays.asList("group_id_1", "group_id_2"),
2133 Arrays.asList("group_id_1", "group_id_2"),
2134 Arrays.asList("group_id_1",
2135 "group_id_2"), Arrays.asList("group_id_1", "group_id_2"));
2136 List<List<Pair<String, GetAttrFuncData>>> getAttrOut = Arrays.asList(
2137 Collections.singletonList(
2138 new ImmutablePair<>("server_ps01", getAttrFuncData)),
2139 Collections.singletonList(
2140 new ImmutablePair<>("server_ps01", getAttrFuncData)),
2141 Collections.singletonList(
2142 new ImmutablePair<>("sm01_port_3", getAttrFuncData)),
2143 Collections.singletonList(
2144 new ImmutablePair<>("cm01_port_1", getAttrFuncData)),
2145 Collections.singletonList(
2146 new ImmutablePair<>("cm01_port_2", getAttrFuncData)),
2147 Collections.singletonList(
2148 new ImmutablePair<>("cm01_port_3", getAttrFuncData)));
2150 TestUtils.updateMultiplePortConsolidationDatas(mainST, portNodeTemplateIds,
2151 nodesConnectedInIds, nodesConnectedOutIds, groupIds, getAttrInIds, getAttrOut,
2154 translationContext.setConsolidationData(consolidationData);
2155 List<UnifiedCompositionMode> expectedUnifiedModes =
2156 Collections.singletonList(UnifiedCompositionMode.SingleSubstitution);
2157 verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
2161 public void testSubstitutionConsolidationPreConditionTrue() throws IOException, URISyntaxException {
2162 translationContext = new TranslationContext();
2163 String mainSTName = "MainServiceTemplate.yaml";
2164 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2166 ConsolidationData consolidationData = new ConsolidationData();
2167 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_pcm_001"),
2169 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2170 "org.openecomp.resource.vfc.nodes.heat" +
2171 ".pcm_server", consolidationData);
2172 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2173 "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
2174 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2175 "org.openecomp.resource.vfc.nodes.heat" +
2176 ".pcm_server", consolidationData);
2177 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2178 "org.openecomp.resource.vfc.nodes" +
2179 ".heat.pcm_server", "pcm_server", consolidationData);
2181 translationContext.setConsolidationData(consolidationData);
2183 addMockServiceTemplateToContext(mainSTName, "Main");
2184 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2186 verifySubstitutionServiceTemplateConsolidation
2187 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2188 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2189 UnifiedCompositionMode.NestedSingleCompute);
2193 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeType()
2194 throws IOException, URISyntaxException {
2195 translationContext = new TranslationContext();
2196 String mainSTName = "MainServiceTemplate.yaml";
2197 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2199 ConsolidationData consolidationData = new ConsolidationData();
2200 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_pcm_001"),
2202 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2203 "org.openecomp.resource.vfc.nodes.heat" +
2204 ".pcm_server", consolidationData);
2205 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2206 "org.openecomp.resource.vfc.nodes" +
2207 ".heat.pcm_server", "server_pcm_001", consolidationData);
2208 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2209 "org.openecomp.resource.vfc.nodes.heat" +
2210 ".pcm_server", consolidationData);
2212 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_oam_001"),
2214 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2215 "org.openecomp.resource.vfc.nodes.heat" +
2216 ".oam_server", consolidationData);
2217 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2218 "org.openecomp.resource.vfc.nodes.heat.oam_server", "server_oam_001", consolidationData);
2219 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2220 "org.openecomp.resource.vfc.nodes.heat" +
2221 ".oam_server", consolidationData);
2223 translationContext.setConsolidationData(consolidationData);
2225 addMockServiceTemplateToContext(mainSTName, "Main");
2226 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2228 verifySubstitutionServiceTemplateConsolidation
2229 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2230 translationContext.getTranslatedServiceTemplates().get
2231 (nestedServiceTemplateName), UnifiedCompositionMode.SingleSubstitution);
2235 public void testSubstitutionConsolidationPreConditionFalseMoreThanOneComputeOfSameType()
2236 throws IOException, URISyntaxException {
2237 translationContext = new TranslationContext();
2238 String mainSTName = "MainServiceTemplate.yaml";
2239 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2241 ConsolidationData consolidationData = new ConsolidationData();
2242 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_pcm_001"),
2244 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2245 "org.openecomp.resource.vfc.nodes.heat" +
2246 ".pcm_server", consolidationData);
2247 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2248 "org.openecomp.resource.vfc.nodes.heat" +
2249 ".pcm_server", consolidationData);
2250 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2251 "org.openecomp.resource.vfc.nodes" +
2252 ".heat.pcm_server", "pcm_server_1", consolidationData);
2255 .updateNestedConsolidationData(nestedServiceTemplateName,
2256 Collections.singletonList("server_pcm_002"),
2258 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2259 "org.openecomp.resource.vfc.nodes" +
2260 ".heat.pcm_server", "pcm_server_2", consolidationData);
2262 translationContext.setConsolidationData(consolidationData);
2264 addMockServiceTemplateToContext(mainSTName, "Main");
2265 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2267 Mockito.doNothing().when(consolidationService).serviceTemplateConsolidation
2268 (translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2269 translationContext);
2270 verifySubstitutionServiceTemplateConsolidation
2271 (1, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2272 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2273 UnifiedCompositionMode.SingleSubstitution);
2277 public void testSubstitutionConsolidationPreConditionFalseNestedInsideNested() {
2278 translationContext = new TranslationContext();
2279 String mainSTName = "MainServiceTemplate.yaml";
2280 String nestedServiceTemplateName = "nested-pcm_v0.1ServiceTemplate.yaml";
2282 ConsolidationData consolidationData = new ConsolidationData();
2283 TestUtils.updateNestedConsolidationData(mainSTName, Collections.singletonList("server_pcm_001"),
2285 TestUtils.initComputeNodeTypeInConsolidationData(mainSTName,
2286 "org.openecomp.resource.vfc.nodes.heat" +
2287 ".pcm_server", consolidationData);
2288 TestUtils.initComputeNodeTemplateIdInConsolidationData(mainSTName,
2289 "org.openecomp.resource.vfc.nodes.heat.pcm_server", "server_pcm_001", consolidationData);
2290 TestUtils.initComputeNodeTypeInConsolidationData(nestedServiceTemplateName,
2291 "org.openecomp.resource.vfc.nodes.heat" +
2292 ".pcm_server", consolidationData);
2293 TestUtils.initComputeNodeTemplateIdInConsolidationData(nestedServiceTemplateName,
2294 "org.openecomp.resource.vfc.nodes" +
2295 ".heat.pcm_server", "pcm_server", consolidationData);
2298 .updateNestedConsolidationData(nestedServiceTemplateName,
2299 Collections.singletonList("nested_resource"),
2302 translationContext.setConsolidationData(consolidationData);
2304 addMockServiceTemplateToContext(mainSTName, "Main");
2305 addMockServiceTemplateToContext(nestedServiceTemplateName, "nested-pcm_v0.1");
2307 verifySubstitutionServiceTemplateConsolidation
2308 (0, translationContext.getTranslatedServiceTemplates().get(mainSTName),
2309 translationContext.getTranslatedServiceTemplates().get(nestedServiceTemplateName),
2310 UnifiedCompositionMode.SingleSubstitution);
2314 public void testConsolidationPreConditionFalseDiffSubportTypes() throws IOException, URISyntaxException {
2315 translationContext = new TranslationContext();
2316 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2317 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2318 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2321 ConsolidationData consolidationData = new ConsolidationData();
2322 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2325 .addPortSubInterface(
2326 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2327 "role_1", "interface_1", null, null, null, null, consolidationData));
2329 .addPortSubInterface(
2330 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested2.yaml", 2,
2331 "role_2", "interface_2", null, null, null, null, consolidationData));
2332 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.SingleSubstitution));
2335 private void generateComputeAndPortConsolidationData(String computeNodeTypeName,
2336 ConsolidationData consolidationData) {
2338 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
2340 updateComputeConsolidationData("server_ps01", computeNodeTypeName, "cm01_port",
2341 "cm01_port_1", consolidationData);
2343 updateComputeConsolidationData("server_ps02", computeNodeTypeName, "cm01_port",
2344 "cm01_port_2", consolidationData);
2346 TestUtils.initPortConsolidationData(mainST, consolidationData);
2347 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
2348 null, null, null, null, null,
2350 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
2351 null, null, null, null, null,
2356 public void testConsolidationPreConditionFalseDiffSubportNumber() throws IOException, URISyntaxException {
2357 translationContext = new TranslationContext();
2358 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2359 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2360 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2363 ConsolidationData consolidationData = new ConsolidationData();
2364 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2367 .addPortSubInterface(
2368 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2369 "role_1", "interface_1", null, null, null, null, consolidationData));
2371 .addPortSubInterface(
2372 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2373 "role_2", "interface_2", null, null, null, null, consolidationData));
2375 .addPortSubInterface(
2376 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2377 "role_3", "interface_3", null, null, null, null, consolidationData));
2379 testConsolidation(1, toscaServiceModel,
2380 consolidationData, Collections.singletonList(UnifiedCompositionMode.SingleSubstitution));
2384 public void testConsolidationRuleFalseDifferentCountInResourceGroup() throws IOException, URISyntaxException {
2385 translationContext = new TranslationContext();
2386 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2387 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2388 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2391 ConsolidationData consolidationData = new ConsolidationData();
2392 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2395 .addPortSubInterface(
2396 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2397 "role_1", "interface_1", null, null, null, null, consolidationData));
2399 .addPortSubInterface(
2400 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 3,
2401 "role_1", "interface_2", null, null, null, null, consolidationData));
2403 testConsolidation(1, toscaServiceModel,
2404 consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2408 public void testConsolidationRuleFalseDifferentNodesConnectedInToResourceGroup()
2409 throws IOException, URISyntaxException {
2410 translationContext = new TranslationContext();
2411 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2412 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2413 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2416 ConsolidationData consolidationData = new ConsolidationData();
2417 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2420 .addPortSubInterface(
2421 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2422 "role_1", "interface_1", Collections.singletonList("node_1"), null, null, null,
2423 consolidationData));
2425 .addPortSubInterface(
2426 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2427 "role_1", "interface_2", Collections.singletonList("node_2"), null, null, null,
2428 consolidationData));
2430 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2434 public void testConsolidationRuleFalseDifferentNodesConnectedOutFromResourceGroup()
2435 throws IOException, URISyntaxException {
2436 translationContext = new TranslationContext();
2437 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2438 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2439 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2442 ConsolidationData consolidationData = new ConsolidationData();
2443 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2446 .addPortSubInterface(
2447 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2448 "role_1", "interface_1", null, Collections.singletonList("node_1"), null, null,
2449 consolidationData));
2451 .addPortSubInterface(
2452 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2453 "role_1", "interface_2", null, Collections.singletonList("node_2"), null, null,
2454 consolidationData));
2456 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2460 public void testConsolidationRuleFalseGetAttrInBetweenSubInterfacesOfSameType()
2461 throws IOException, URISyntaxException {
2462 translationContext = new TranslationContext();
2463 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2464 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2465 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2468 ConsolidationData consolidationData = new ConsolidationData();
2469 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2472 .addPortSubInterface(
2473 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2474 "role_1", "interface_1", null, null, Collections.singletonList("in_node_1"), null,
2475 consolidationData));
2477 .addPortSubInterface(
2478 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2479 "role_1", "interface_2", null, null, Collections.singletonList("interface_1"), null,
2480 consolidationData));
2482 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2486 public void testConsolidationRuleFalseGetAttrOutBetweenSubInterfacesOfSameType()
2487 throws IOException, URISyntaxException {
2488 translationContext = new TranslationContext();
2489 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2490 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2491 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2494 ConsolidationData consolidationData = new ConsolidationData();
2496 .initComputeNodeTypeInConsolidationData(mainST, computeNodeTypeName, consolidationData);
2498 updateComputeConsolidationData("server_ps01", computeNodeTypeName, "cm01_port",
2499 "cm01_port_1", consolidationData);
2500 updateComputeConsolidationData("server_ps02", computeNodeTypeName, "cm01_port",
2501 "cm01_port_2", consolidationData);
2503 GetAttrFuncData getAttrFuncData = new GetAttrFuncData("name", "c1_name");
2504 Pair<String, GetAttrFuncData> getAttrOutInvalid1 =
2505 new ImmutablePair<>("interface_1", getAttrFuncData);
2506 Pair<String, GetAttrFuncData> getAttrOutInvalid2 =
2507 new ImmutablePair<>("interface_2", getAttrFuncData);
2509 TestUtils.initPortConsolidationData(mainST, consolidationData);
2510 TestUtils.updatePortConsolidationData(mainST, "cm01_port_1",
2511 null, null, null, null, null,
2513 TestUtils.updatePortConsolidationData(mainST, "cm01_port_2",
2514 null, null, null, null, null,
2518 .addPortSubInterface(
2519 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2520 "role_1", "interface_1", null, null, null,
2521 Collections.singletonList(getAttrOutInvalid1), consolidationData));
2523 .addPortSubInterface(
2524 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2525 "role_1", "interface_2", null, null, null,
2526 Collections.singletonList(getAttrOutInvalid2), consolidationData));
2528 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2532 public void testConsolidationRuleFalseDifferentRoleInResourceGroup() throws IOException, URISyntaxException {
2533 translationContext = new TranslationContext();
2534 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2535 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2536 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2539 ConsolidationData consolidationData = new ConsolidationData();
2540 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2543 .addPortSubInterface(
2544 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2545 "role_1", "interface_1", null, null, null, null, consolidationData));
2547 .addPortSubInterface(
2548 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2549 "role_2", "interface_2", null, null, null, null, consolidationData));
2551 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
2555 public void testConsolidationRuleTrueForSubInterfaces() throws IOException, URISyntaxException {
2556 translationContext = new TranslationContext();
2557 String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.ps_server";
2558 ToscaServiceModel toscaServiceModel = TestUtils.loadToscaServiceModel
2559 ("/mock/services/heattotosca/consolidation/translatedfiles/pre_condition/different_subinterface_types",
2562 ConsolidationData consolidationData = new ConsolidationData();
2563 generateComputeAndPortConsolidationData(computeNodeTypeName, consolidationData);
2566 .addPortSubInterface(
2567 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_1", "nested1.yaml", 2,
2568 "role_1", "interface_1", Collections.singletonList("node_1"),
2569 Collections.singletonList("node_1"), null, null, consolidationData));
2571 .addPortSubInterface(
2572 new SubInterfaceConsolidationDataTestInfo(mainST, "cm01_port_2", "nested1.yaml", 2,
2573 "role_1", "interface_2", Collections.singletonList("node_1"),
2574 Collections.singletonList("node_1"), null, null, consolidationData));
2576 testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.ScalingInstances));
2579 private void testConsolidation(int times, ToscaServiceModel toscaServiceModel,
2580 ConsolidationData consolidationData,
2581 List<UnifiedCompositionMode> expectedUnifiedModes) {
2582 Mockito.doNothing().when(unifiedCompositionServiceMock).createUnifiedComposition(
2588 translationContext.setConsolidationData(consolidationData);
2589 verifyMainServiceTemplateConsolidation(times, expectedUnifiedModes, toscaServiceModel);
2592 private void updateComputeConsolidationData(String computeNodeTemplateId,
2593 String computeNodeTypeName,
2595 String portNodeTemplateId,
2596 ConsolidationData consolidationData) {
2597 List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
2598 portTypeToIdList.add(new ImmutablePair<>(portType, portNodeTemplateId));
2600 TestUtils.updateComputeTemplateConsolidationData(
2602 computeNodeTypeName, computeNodeTemplateId,
2603 null, null, null, null, null, null,
2604 portTypeToIdList, consolidationData);
2608 private void verifyMainServiceTemplateConsolidation(int times,
2609 List<UnifiedCompositionMode> expectedUnifiedCompositionModes,
2610 ToscaServiceModel toscaServiceModel) {
2611 consolidationService
2612 .serviceTemplateConsolidation(toscaServiceModel.getServiceTemplates().get(mainST),
2613 translationContext);
2615 ServiceTemplate mainServiceTemplate = toscaServiceModel.getServiceTemplates().get(mainST);
2616 verify(unifiedCompositionServiceMock, times(times))
2617 .createUnifiedComposition(
2618 eq(mainServiceTemplate),
2620 unifiedModelListArg.capture(),
2621 unifiedCompositionModeArg.capture(),
2622 eq(translationContext));
2624 List<UnifiedCompositionMode> actualUnifiedCompositionModes =
2625 unifiedCompositionModeArg.getAllValues();
2626 Assert.assertEquals(expectedUnifiedCompositionModes, actualUnifiedCompositionModes);
2629 private void verifySubstitutionServiceTemplateConsolidation(int times,
2630 ServiceTemplate mainST,
2631 ServiceTemplate nestedST,
2632 UnifiedCompositionMode expectedMode) {
2633 consolidationService.substitutionServiceTemplateConsolidation(null, mainST,
2634 nestedST, translationContext);
2636 if (expectedMode.equals(UnifiedCompositionMode.NestedSingleCompute)) {
2637 verify(unifiedCompositionServiceMock, times(times)).
2638 createUnifiedComposition(
2641 unifiedModelListArg.capture(),
2642 unifiedCompositionModeArg.capture(),
2643 eq(translationContext));
2644 Assert.assertEquals(expectedMode, unifiedCompositionModeArg.getValue());
2649 private void addMockServiceTemplateToContext(String serviceTemplateFileName,
2650 String templateName) {
2651 ServiceTemplate serviceTemplate = new ServiceTemplate();
2652 Map<String, String> metadata = new HashMap<>();
2653 metadata.put(ToscaConstants.ST_METADATA_TEMPLATE_NAME, templateName);
2654 serviceTemplate.setMetadata(metadata);
2655 translationContext.getTranslatedServiceTemplates()
2656 .put(serviceTemplateFileName, serviceTemplate);