Sync Integ to Master
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / components / path / BaseForwardingPathVersionChangeTest.java
1 package org.openecomp.sdc.be.components.path;
2
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;
15
16 import java.util.Arrays;
17 import java.util.HashMap;
18 import java.util.List;
19 import java.util.Map;
20
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";
34
35
36     @Before
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<>();
45
46         forwardingPathElementListDataDefinition.add(
47             new ForwardingPathElementDataDefinition(nodeA, nodeB, NODE_A_FORWARDER_CAPABILITY, "nodeBcpType" , "nodeDcpName",
48                 "nodeBcpName"));
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));
63
64         dataHolder = new DataForMergeHolder();
65         dataHolder.setOrigComponentInstId(nodeA);
66     }
67
68     private void initComponent(Component component, String uniqueId) {
69         component.setUniqueId(uniqueId);
70         HashMap<String, List<CapabilityDefinition>> capabilities = initCapabilites();
71         component.setCapabilities(capabilities);
72     }
73
74     private void initComponentWithoutForwarder(Component component, String uniqueId) {
75         component.setUniqueId(uniqueId);
76         HashMap<String, List<CapabilityDefinition>> capabilities = initCapabilitesWithoutForwarder();
77         component.setCapabilities(capabilities);
78     }
79
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));
86         return capabilities;
87     }
88
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));
95         return capabilities;
96     }
97
98     private void initComponentInstance(ComponentInstance component, String uniqueId) {
99         component.setUniqueId(uniqueId);
100         HashMap<String, List<CapabilityDefinition>> capabilities = initCapabilites();
101         component.setCapabilities(capabilities);
102     }
103
104 }