Fix test cases failing incorrectly
[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 java.util.Arrays;
25 import java.util.HashMap;
26 import java.util.List;
27 import java.util.Map;
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;
39
40 public abstract class BaseForwardingPathVersionChangeTest {
41
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;
54
55     @BeforeEach
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<>();
64
65         forwardingPathElementListDataDefinition.add(
66             new ForwardingPathElementDataDefinition(nodeA, nodeB, NODE_A_FORWARDER_CAPABILITY, "nodeBcpType", "nodeDcpName",
67                 "nodeBcpName"));
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));
82
83         dataHolder = new DataForMergeHolder();
84         dataHolder.setOrigComponentInstId(nodeA);
85     }
86
87     private void initComponent(Component component, String uniqueId) {
88         component.setUniqueId(uniqueId);
89         HashMap<String, List<CapabilityDefinition>> capabilities = initCapabilites();
90         component.setCapabilities(capabilities);
91     }
92
93     private void initComponentWithoutForwarder(Component component, String uniqueId) {
94         component.setUniqueId(uniqueId);
95         HashMap<String, List<CapabilityDefinition>> capabilities = initCapabilitesWithoutForwarder();
96         component.setCapabilities(capabilities);
97     }
98
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));
106         return capabilities;
107     }
108
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));
116         return capabilities;
117     }
118
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);
124     }
125
126 }