2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.sdc.be.components.path;
23 import com.google.common.collect.Lists;
24 import java.util.Arrays;
25 import java.util.HashMap;
26 import java.util.List;
28 import org.junit.jupiter.api.BeforeEach;
29 import org.openecomp.sdc.be.components.merge.instance.DataForMergeHolder;
30 import org.openecomp.sdc.be.datatypes.elements.ForwardingPathDataDefinition;
31 import org.openecomp.sdc.be.datatypes.elements.ForwardingPathElementDataDefinition;
32 import org.openecomp.sdc.be.datatypes.elements.ListDataDefinition;
33 import org.openecomp.sdc.be.impl.ForwardingPathUtils;
34 import org.openecomp.sdc.be.model.CapabilityDefinition;
35 import org.openecomp.sdc.be.model.Component;
36 import org.openecomp.sdc.be.model.ComponentInstance;
37 import org.openecomp.sdc.be.model.Resource;
38 import org.openecomp.sdc.be.model.Service;
40 public abstract class BaseForwardingPathVersionChangeTest {
42 protected static final String nodeA = "nodeA";
43 protected static final String NODE_A_FORWARDER_CAPABILITY = "nodeA_FORWARDER_CAPABILITY";
44 protected static final String nodeB = "nodeB";
45 protected static final String newNodeA = "newNodeA";
46 protected static final String fpName = "fpName";
47 protected static final String FPId = "1122";
48 protected Service service;
49 protected ComponentInstance nodeACI;
50 protected ComponentInstance newNodeACI;
51 protected Component newNodeAC;
52 protected Component newNodeWithoutCapability;
53 protected DataForMergeHolder dataHolder;
56 public void initService() {
57 service = new Service();
58 ForwardingPathDataDefinition forwardingPath = new ForwardingPathDataDefinition(fpName);
59 String protocol = "protocol";
60 forwardingPath.setProtocol(protocol);
61 forwardingPath.setDestinationPortNumber("DestinationPortNumber");
62 ListDataDefinition<ForwardingPathElementDataDefinition> forwardingPathElementListDataDefinition
63 = new ListDataDefinition<>();
65 forwardingPathElementListDataDefinition.add(
66 new ForwardingPathElementDataDefinition(nodeA, nodeB, NODE_A_FORWARDER_CAPABILITY, "nodeBcpType", "nodeDcpName",
68 forwardingPath.setPathElements(forwardingPathElementListDataDefinition);
69 Map<String, ForwardingPathDataDefinition> forwardingPaths = new HashMap<>();
70 forwardingPaths.put(FPId, forwardingPath);
71 service.setForwardingPaths(forwardingPaths);
72 nodeACI = new ComponentInstance();
73 initComponentInstance(nodeACI, nodeA);
74 newNodeACI = new ComponentInstance();
75 initComponentInstance(newNodeACI, newNodeA);
76 newNodeAC = new Resource();
77 newNodeWithoutCapability = new Resource();
78 initComponent(newNodeAC, newNodeA);
79 service.setComponentInstances(Lists.newArrayList(newNodeACI));
80 initComponentWithoutForwarder(newNodeWithoutCapability, "newNodeC");
81 service.setComponentInstances(Lists.newArrayList(nodeACI));
83 dataHolder = new DataForMergeHolder();
84 dataHolder.setOrigComponentInstId(nodeA);
87 private void initComponent(Component component, String uniqueId) {
88 component.setUniqueId(uniqueId);
89 HashMap<String, List<CapabilityDefinition>> capabilities = initCapabilites();
90 component.setCapabilities(capabilities);
93 private void initComponentWithoutForwarder(Component component, String uniqueId) {
94 component.setUniqueId(uniqueId);
95 HashMap<String, List<CapabilityDefinition>> capabilities = initCapabilitesWithoutForwarder();
96 component.setCapabilities(capabilities);
99 private HashMap<String, List<CapabilityDefinition>> initCapabilites() {
100 HashMap<String, List<CapabilityDefinition>> capabilities = new HashMap<>();
101 CapabilityDefinition forwarder = new CapabilityDefinition();
102 forwarder.setType(ForwardingPathUtils.FORWARDER_CAPABILITY);
103 forwarder.setUniqueId(NODE_A_FORWARDER_CAPABILITY);
104 forwarder.setName(NODE_A_FORWARDER_CAPABILITY);
105 capabilities.put("bla bla", Arrays.asList(forwarder));
109 private HashMap<String, List<CapabilityDefinition>> initCapabilitesWithoutForwarder() {
110 HashMap<String, List<CapabilityDefinition>> capabilities = new HashMap<>();
111 CapabilityDefinition capabilityDefinition = new CapabilityDefinition();
112 capabilityDefinition.setType("tosca.capabilities.Node");
113 capabilityDefinition.setUniqueId("tosca capability");
114 capabilityDefinition.setName("tosca capability");
115 capabilities.put("bla bla", Arrays.asList(capabilityDefinition));
119 private void initComponentInstance(ComponentInstance component, String uniqueId) {
120 component.setUniqueId(uniqueId);
121 component.setName(uniqueId);
122 HashMap<String, List<CapabilityDefinition>> capabilities = initCapabilites();
123 component.setCapabilities(capabilities);