Added oparent to sdc main
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / components / merge / instance / ComponentCapabilitiesPropertiesMergeBLTest.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.merge.instance;
22
23 import fj.data.Either;
24 import org.junit.Before;
25 import org.junit.Test;
26 import org.mockito.InjectMocks;
27 import org.mockito.Mock;
28 import org.mockito.Mockito;
29 import org.mockito.MockitoAnnotations;
30 import org.openecomp.sdc.be.components.merge.capability.CapabilityResolver;
31 import org.openecomp.sdc.be.components.merge.property.DataDefinitionsValuesMergingBusinessLogic;
32 import org.openecomp.sdc.be.components.utils.ObjectGenerator;
33 import org.openecomp.sdc.be.dao.api.ActionStatus;
34 import org.openecomp.sdc.be.impl.ComponentsUtils;
35 import org.openecomp.sdc.be.impl.ForwardingPathUtils;
36 import org.openecomp.sdc.be.model.CapabilityDefinition;
37 import org.openecomp.sdc.be.model.Component;
38 import org.openecomp.sdc.be.model.ComponentParametersView;
39 import org.openecomp.sdc.be.model.Resource;
40 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
41
42 import java.util.Arrays;
43 import java.util.List;
44
45 import static org.mockito.Mockito.when;
46
47 public class ComponentCapabilitiesPropertiesMergeBLTest {
48
49         @InjectMocks
50         ComponentCapabilitiesPropertiesMergeBL testSubject;
51
52         @Mock
53         DataDefinitionsValuesMergingBusinessLogic dataDefinitionsValuesMergingBusinessLogicMock;
54
55         @Mock
56         private ToscaOperationFacade toscaOperationFacadeMock;
57
58         @Mock
59         ComponentsUtils componentsUtilsMock;
60
61         @Mock
62         CapabilityResolver capabilityResolverMock;
63
64         private Resource buildBasicResource;
65
66         @Before
67         public void setUp() {
68                 MockitoAnnotations.initMocks(this);
69         }
70
71         @Test
72         public void testDescription() throws Exception {
73                 String result;
74
75                 result = testSubject.description();
76         }
77
78         @Test
79         public void testMergeComponents() throws Exception {
80                 Component prevComponent = ObjectGenerator.buildResourceWithComponentInstance("mock3");
81                 Component currentComponent = ObjectGenerator.buildResourceWithComponentInstance("mock1", "mock2");
82                 currentComponent.setUniqueId("mock");
83                 ActionStatus result;
84                 buildBasicResource = ObjectGenerator.buildBasicResource();
85                 when(toscaOperationFacadeMock.getToscaElement(Mockito.anyString(), Mockito.any(ComponentParametersView.class)))
86                                 .thenReturn(Either.left(buildBasicResource));
87                 ;
88                 result = testSubject.mergeComponents(prevComponent, currentComponent);
89         }
90
91         @Test
92         public void testMergeComponentInstanceCapabilities() throws Exception {
93                 Component currentComponent = null;
94                 Component origInstanceCmpt = null;
95                 String instanceId = "";
96
97                 List<CapabilityDefinition> prevInstanceCapabilities = null;
98                 ActionStatus result;
99
100                 result = testSubject.mergeComponentInstanceCapabilities(currentComponent, origInstanceCmpt, instanceId,
101                                 prevInstanceCapabilities);
102
103                 prevInstanceCapabilities = initCapabilites();
104
105                 result = testSubject.mergeComponentInstanceCapabilities(currentComponent, origInstanceCmpt, instanceId,
106                                 prevInstanceCapabilities);
107         }
108
109         private List<CapabilityDefinition> initCapabilites() {
110                 final String NODE_A_FORWARDER_CAPABILITY = "nodeA_FORWARDER_CAPABILITY";
111
112                 CapabilityDefinition forwarder = new CapabilityDefinition();
113                 forwarder.setType(ForwardingPathUtils.FORWARDER_CAPABILITY);
114                 forwarder.setUniqueId(NODE_A_FORWARDER_CAPABILITY);
115                 return Arrays.asList(forwarder);
116         }
117 }