Catalog alignment
[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                 // ComponentCapabilitiesPropertiesMergeBL testSubject;
74                 String result;
75
76                 // default test
77                 // testSubject = createTestSubject();
78                 result = testSubject.description();
79         }
80
81         @Test
82         public void testMergeComponents() throws Exception {
83                 // ComponentCapabilitiesPropertiesMergeBL testSubject;
84                 Component prevComponent = ObjectGenerator.buildResourceWithComponentInstance("mock3");
85                 Component currentComponent = ObjectGenerator.buildResourceWithComponentInstance("mock1", "mock2");
86                 currentComponent.setUniqueId("mock");
87                 ActionStatus result;
88                 buildBasicResource = ObjectGenerator.buildBasicResource();
89                 when(toscaOperationFacadeMock.getToscaElement(Mockito.anyString(), Mockito.any(ComponentParametersView.class)))
90                                 .thenReturn(Either.left(buildBasicResource));
91                 ;
92                 result = testSubject.mergeComponents(prevComponent, currentComponent);
93         }
94
95         @Test
96         public void testMergeComponentInstanceCapabilities() throws Exception {
97                 // ComponentCapabilitiesPropertiesMergeBL testSubject;
98                 Component currentComponent = null;
99                 Component origInstanceCmpt = null;
100                 String instanceId = "";
101
102                 List<CapabilityDefinition> prevInstanceCapabilities = null;
103                 ActionStatus result;
104
105                 // default test
106                 // testSubject = createTestSubject();
107                 result = testSubject.mergeComponentInstanceCapabilities(currentComponent, origInstanceCmpt, instanceId,
108                                 prevInstanceCapabilities);
109
110                 prevInstanceCapabilities = initCapabilites();
111
112                 result = testSubject.mergeComponentInstanceCapabilities(currentComponent, origInstanceCmpt, instanceId,
113                                 prevInstanceCapabilities);
114         }
115
116         private List<CapabilityDefinition> initCapabilites() {
117                 final String NODE_A_FORWARDER_CAPABILITY = "nodeA_FORWARDER_CAPABILITY";
118
119                 CapabilityDefinition forwarder = new CapabilityDefinition();
120                 forwarder.setType(ForwardingPathUtils.FORWARDER_CAPABILITY);
121                 forwarder.setUniqueId(NODE_A_FORWARDER_CAPABILITY);
122                 return Arrays.asList(forwarder);
123         }
124 }