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