1 package org.openecomp.sdc.be.components.path;
3 import com.google.common.collect.Lists;
4 import org.junit.Before;
5 import org.openecomp.sdc.be.components.merge.instance.DataForMergeHolder;
6 import org.openecomp.sdc.be.datatypes.elements.ForwardingPathDataDefinition;
7 import org.openecomp.sdc.be.datatypes.elements.ForwardingPathElementDataDefinition;
8 import org.openecomp.sdc.be.datatypes.elements.ListDataDefinition;
9 import org.openecomp.sdc.be.impl.ForwardingPathUtils;
10 import org.openecomp.sdc.be.model.CapabilityDefinition;
11 import org.openecomp.sdc.be.model.Component;
12 import org.openecomp.sdc.be.model.ComponentInstance;
13 import org.openecomp.sdc.be.model.Resource;
14 import org.openecomp.sdc.be.model.Service;
16 import java.util.Arrays;
17 import java.util.HashMap;
18 import java.util.List;
21 public abstract class BaseForwardingPathVersionChangeTest {
22 protected Service service;
23 protected ComponentInstance nodeACI;
24 protected ComponentInstance newNodeACI;
25 protected Component newNodeAC;
26 protected Component newNodeWithoutCapability;
27 protected DataForMergeHolder dataHolder;
28 protected static final String nodeA = "nodeA";
29 protected static final String NODE_A_FORWARDER_CAPABILITY = "nodeA_FORWARDER_CAPABILITY";
30 protected static final String nodeB = "nodeB";
31 protected static final String newNodeA = "newNodeA";
32 protected static final String fpName = "fpName";
33 protected static final String FPId = "1122";
37 public void initService() {
38 service = new Service();
39 ForwardingPathDataDefinition forwardingPath = new ForwardingPathDataDefinition(fpName);
40 String protocol = "protocol";
41 forwardingPath.setProtocol(protocol);
42 forwardingPath.setDestinationPortNumber("DestinationPortNumber");
43 ListDataDefinition<ForwardingPathElementDataDefinition> forwardingPathElementListDataDefinition
44 = new ListDataDefinition<>();
46 forwardingPathElementListDataDefinition.add(
47 new ForwardingPathElementDataDefinition(nodeA, nodeB, NODE_A_FORWARDER_CAPABILITY, "nodeBcpType" , "nodeDcpName",
49 forwardingPath.setPathElements(forwardingPathElementListDataDefinition);
50 Map<String, ForwardingPathDataDefinition> forwardingPaths = new HashMap<>();
51 forwardingPaths.put(FPId, forwardingPath);
52 service.setForwardingPaths(forwardingPaths);
53 nodeACI = new ComponentInstance();
54 initComponentInstance(nodeACI, nodeA);
55 newNodeACI = new ComponentInstance();
56 initComponentInstance(newNodeACI, newNodeA);
57 newNodeAC = new Resource();
58 newNodeWithoutCapability=new Resource();
59 initComponent(newNodeAC, newNodeA);
60 service.setComponentInstances(Lists.newArrayList(newNodeACI));
61 initComponentWithoutForwarder(newNodeWithoutCapability,"newNodeC");
62 service.setComponentInstances(Lists.newArrayList(nodeACI));
64 dataHolder = new DataForMergeHolder();
65 dataHolder.setOrigComponentInstId(nodeA);
68 private void initComponent(Component component, String uniqueId) {
69 component.setUniqueId(uniqueId);
70 HashMap<String, List<CapabilityDefinition>> capabilities = initCapabilites();
71 component.setCapabilities(capabilities);
74 private void initComponentWithoutForwarder(Component component, String uniqueId) {
75 component.setUniqueId(uniqueId);
76 HashMap<String, List<CapabilityDefinition>> capabilities = initCapabilitesWithoutForwarder();
77 component.setCapabilities(capabilities);
80 private HashMap<String, List<CapabilityDefinition>> initCapabilites() {
81 HashMap<String, List<CapabilityDefinition>> capabilities = new HashMap<>();
82 CapabilityDefinition forwarder = new CapabilityDefinition();
83 forwarder.setType(ForwardingPathUtils.FORWARDER_CAPABILITY);
84 forwarder.setUniqueId(NODE_A_FORWARDER_CAPABILITY);
85 capabilities.put("bla bla", Arrays.asList(forwarder));
89 private HashMap<String, List<CapabilityDefinition>> initCapabilitesWithoutForwarder() {
90 HashMap<String, List<CapabilityDefinition>> capabilities = new HashMap<>();
91 CapabilityDefinition capabilityDefinition = new CapabilityDefinition();
92 capabilityDefinition.setType("tosca.capabilities.Node");
93 capabilityDefinition.setUniqueId("tosca capability");
94 capabilities.put("bla bla", Arrays.asList(capabilityDefinition));
98 private void initComponentInstance(ComponentInstance component, String uniqueId) {
99 component.setUniqueId(uniqueId);
100 HashMap<String, List<CapabilityDefinition>> capabilities = initCapabilites();
101 component.setCapabilities(capabilities);