5eca2b35a4ebd2600fe049cd2748fd715d10804d
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / components / path / BaseForwardingPathVersionChangeTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.openecomp.sdc.be.components.path;
22
23 import com.google.common.collect.Lists;
24 import org.junit.Before;
25 import org.openecomp.sdc.be.components.merge.instance.DataForMergeHolder;
26 import org.openecomp.sdc.be.datatypes.elements.ForwardingPathDataDefinition;
27 import org.openecomp.sdc.be.datatypes.elements.ForwardingPathElementDataDefinition;
28 import org.openecomp.sdc.be.datatypes.elements.ListDataDefinition;
29 import org.openecomp.sdc.be.impl.ForwardingPathUtils;
30 import org.openecomp.sdc.be.model.CapabilityDefinition;
31 import org.openecomp.sdc.be.model.Component;
32 import org.openecomp.sdc.be.model.ComponentInstance;
33 import org.openecomp.sdc.be.model.Resource;
34 import org.openecomp.sdc.be.model.Service;
35
36 import java.util.Arrays;
37 import java.util.HashMap;
38 import java.util.List;
39 import java.util.Map;
40
41 public abstract class BaseForwardingPathVersionChangeTest {
42     protected Service service;
43     protected ComponentInstance nodeACI;
44     protected ComponentInstance newNodeACI;
45     protected Component newNodeAC;
46     protected Component newNodeWithoutCapability;
47     protected DataForMergeHolder dataHolder;
48     protected static final String nodeA = "nodeA";
49     protected static final String NODE_A_FORWARDER_CAPABILITY = "nodeA_FORWARDER_CAPABILITY";
50     protected static final String nodeB = "nodeB";
51     protected static final String newNodeA = "newNodeA";
52     protected static final String fpName = "fpName";
53     protected static final String FPId = "1122";
54
55
56     @Before
57     public void initService() {
58         service = new Service();
59         ForwardingPathDataDefinition forwardingPath = new ForwardingPathDataDefinition(fpName);
60         String protocol = "protocol";
61         forwardingPath.setProtocol(protocol);
62         forwardingPath.setDestinationPortNumber("DestinationPortNumber");
63         ListDataDefinition<ForwardingPathElementDataDefinition> forwardingPathElementListDataDefinition
64             = new ListDataDefinition<>();
65
66         forwardingPathElementListDataDefinition.add(
67             new ForwardingPathElementDataDefinition(nodeA, nodeB, NODE_A_FORWARDER_CAPABILITY, "nodeBcpType" , "nodeDcpName",
68                 "nodeBcpName"));
69         forwardingPath.setPathElements(forwardingPathElementListDataDefinition);
70         Map<String, ForwardingPathDataDefinition> forwardingPaths = new HashMap<>();
71         forwardingPaths.put(FPId, forwardingPath);
72         service.setForwardingPaths(forwardingPaths);
73         nodeACI = new ComponentInstance();
74         initComponentInstance(nodeACI, nodeA);
75         newNodeACI = new ComponentInstance();
76         initComponentInstance(newNodeACI, newNodeA);
77         newNodeAC = new Resource();
78         newNodeWithoutCapability=new Resource();
79         initComponent(newNodeAC, newNodeA);
80         service.setComponentInstances(Lists.newArrayList(newNodeACI));
81         initComponentWithoutForwarder(newNodeWithoutCapability,"newNodeC");
82         service.setComponentInstances(Lists.newArrayList(nodeACI));
83
84         dataHolder = new DataForMergeHolder();
85         dataHolder.setOrigComponentInstId(nodeA);
86     }
87
88     private void initComponent(Component component, String uniqueId) {
89         component.setUniqueId(uniqueId);
90         HashMap<String, List<CapabilityDefinition>> capabilities = initCapabilites();
91         component.setCapabilities(capabilities);
92     }
93
94     private void initComponentWithoutForwarder(Component component, String uniqueId) {
95         component.setUniqueId(uniqueId);
96         HashMap<String, List<CapabilityDefinition>> capabilities = initCapabilitesWithoutForwarder();
97         component.setCapabilities(capabilities);
98     }
99
100     private HashMap<String, List<CapabilityDefinition>> initCapabilites() {
101         HashMap<String, List<CapabilityDefinition>> capabilities = new HashMap<>();
102         CapabilityDefinition forwarder = new CapabilityDefinition();
103         forwarder.setType(ForwardingPathUtils.FORWARDER_CAPABILITY);
104         forwarder.setUniqueId(NODE_A_FORWARDER_CAPABILITY);
105         forwarder.setName(NODE_A_FORWARDER_CAPABILITY);
106         capabilities.put("bla bla", Arrays.asList(forwarder));
107         return capabilities;
108     }
109
110     private HashMap<String, List<CapabilityDefinition>> initCapabilitesWithoutForwarder() {
111         HashMap<String, List<CapabilityDefinition>> capabilities = new HashMap<>();
112         CapabilityDefinition capabilityDefinition = new CapabilityDefinition();
113         capabilityDefinition.setType("tosca.capabilities.Node");
114         capabilityDefinition.setUniqueId("tosca capability");
115         capabilityDefinition.setName("tosca capability");
116         capabilities.put("bla bla", Arrays.asList(capabilityDefinition));
117         return capabilities;
118     }
119
120     private void initComponentInstance(ComponentInstance component, String uniqueId) {
121         component.setUniqueId(uniqueId);
122         component.setName(uniqueId);
123         HashMap<String, List<CapabilityDefinition>> capabilities = initCapabilites();
124         component.setCapabilities(capabilities);
125     }
126
127 }