2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.openecomp.sdc.be.components.path;
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;
36 import java.util.Arrays;
37 import java.util.HashMap;
38 import java.util.List;
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";
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<>();
66 forwardingPathElementListDataDefinition.add(
67 new ForwardingPathElementDataDefinition(nodeA, nodeB, NODE_A_FORWARDER_CAPABILITY, "nodeBcpType" , "nodeDcpName",
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));
84 dataHolder = new DataForMergeHolder();
85 dataHolder.setOrigComponentInstId(nodeA);
88 private void initComponent(Component component, String uniqueId) {
89 component.setUniqueId(uniqueId);
90 HashMap<String, List<CapabilityDefinition>> capabilities = initCapabilites();
91 component.setCapabilities(capabilities);
94 private void initComponentWithoutForwarder(Component component, String uniqueId) {
95 component.setUniqueId(uniqueId);
96 HashMap<String, List<CapabilityDefinition>> capabilities = initCapabilitesWithoutForwarder();
97 component.setCapabilities(capabilities);
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));
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));
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);