4ead6bd9e02b20740d105c883eaf51d2e680b1b4
[sdc.git] /
1 package org.openecomp.sdc.be.components.property;
2
3 import java.util.HashMap;
4 import java.util.Iterator;
5 import java.util.LinkedList;
6 import java.util.List;
7 import java.util.Map;
8
9 import org.junit.Before;
10 import org.junit.Test;
11 import org.mockito.InjectMocks;
12 import org.mockito.Mock;
13 import org.mockito.Mockito;
14 import org.mockito.MockitoAnnotations;
15 import org.openecomp.sdc.be.model.Component;
16 import org.openecomp.sdc.be.model.ComponentInstInputsMap;
17 import org.openecomp.sdc.be.model.ComponentInstancePropInput;
18 import org.openecomp.sdc.be.model.InputDefinition;
19 import org.openecomp.sdc.be.model.Resource;
20 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
21 import org.openecomp.sdc.test.utils.TestUtilsSdc;
22 import org.slf4j.LoggerFactory;
23
24 import fj.data.Either;
25 import mockit.Deencapsulation;
26
27 public class PropertyDecelerationOrchestratorTest {
28
29         @InjectMocks
30         PropertyDecelerationOrchestrator testSubject;
31
32         @Mock
33         List<PropertyDecelerator> propertyDeceleratorsMock;
34         
35         @Mock
36         private ComponentInstanceInputPropertyDecelerator componentInstanceInputPropertyDecelerator;
37         @Mock
38         private ComponentInstancePropertyDecelerator componentInstancePropertyDecelerator;
39         @Mock
40         private PolicyPropertyDecelerator policyPropertyDecelerator;
41
42         @Before
43         public void setUp() throws Exception {
44
45                 MockitoAnnotations.initMocks(this);
46                 
47                 TestUtilsSdc.setFinalStatic(testSubject.getClass(), "log", LoggerFactory.getLogger(testSubject.getClass()));
48         }
49
50         @Test(expected = IllegalStateException.class)
51         public void testDeclarePropertiesToInputs() throws Exception {
52                 Component component = new Resource();
53                 ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap();
54                 Either<List<InputDefinition>, StorageOperationStatus> result;
55
56                 // default test
57                 result = testSubject.declarePropertiesToInputs(component, componentInstInputsMap);
58         }
59
60         @Test
61         public void testUnDeclarePropertiesAsInputs() throws Exception {
62                 Component component = new Resource();
63                 InputDefinition inputToDelete = new InputDefinition();
64                 StorageOperationStatus result;
65
66                 Iterator<PropertyDecelerator> mockIter = Mockito.mock(Iterator.class);
67                 Mockito.when(propertyDeceleratorsMock.iterator()).thenReturn(mockIter);
68                 Mockito.when(mockIter.hasNext()).thenReturn(false);
69                 
70                 // default test
71                 result = testSubject.unDeclarePropertiesAsInputs(component, inputToDelete);
72         }
73
74         @Test(expected = IllegalStateException.class)
75         public void testGetPropertyDecelerator() throws Exception {
76                 ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap();
77                 PropertyDecelerator result;
78
79                 // default test
80                 result = Deencapsulation.invoke(testSubject, "getPropertyDecelerator", componentInstInputsMap);
81         }
82
83         @Test
84         public void testGetPropertyDeceleratorWithInputsMap() throws Exception {
85                 ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap();
86                 Map<String, List<ComponentInstancePropInput>> componentInstanceInputsMap = new HashMap<>();
87                 List<ComponentInstancePropInput> value = new LinkedList<>();
88                 componentInstanceInputsMap.put("mock", value);
89                 componentInstInputsMap.setComponentInstanceInputsMap(componentInstanceInputsMap);
90                 PropertyDecelerator result;
91
92                 // default test
93                 result = Deencapsulation.invoke(testSubject, "getPropertyDecelerator", componentInstInputsMap);
94         }
95
96         @Test
97         public void testGetPropertyDeceleratorWithCIProperties() throws Exception {
98                 ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap();
99                 Map<String, List<ComponentInstancePropInput>> componentInstanceProperties = new HashMap<>();
100                 List<ComponentInstancePropInput> value = new LinkedList<>();
101                 componentInstanceProperties.put("mock", value);
102                 componentInstInputsMap.setComponentInstancePropInput(componentInstanceProperties);
103                 PropertyDecelerator result;
104
105                 // default test
106                 result = Deencapsulation.invoke(testSubject, "getPropertyDecelerator", componentInstInputsMap);
107         }
108
109         @Test
110         public void testGetPropertyDeceleratorWithCIPolicy() throws Exception {
111                 ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap();
112                 Map<String, List<ComponentInstancePropInput>> policyProperties = new HashMap<>();
113                 List<ComponentInstancePropInput> value = new LinkedList<>();
114                 policyProperties.put("mock", value);
115                 componentInstInputsMap.setPolicyProperties(policyProperties);
116                 PropertyDecelerator result;
117
118                 // default test
119                 result = Deencapsulation.invoke(testSubject, "getPropertyDecelerator", componentInstInputsMap);
120         }
121 }