Change to enable SDC list type input
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / components / property / PropertyDecelerationOrchestratorTest.java
1 package org.openecomp.sdc.be.components.property;
2
3 import fj.data.Either;
4 import mockit.Deencapsulation;
5 import org.junit.Before;
6 import org.junit.Test;
7 import org.mockito.Answers;
8 import org.mockito.InjectMocks;
9 import org.mockito.Mock;
10 import org.mockito.Mockito;
11 import org.mockito.MockitoAnnotations;
12 import org.openecomp.sdc.be.model.Component;
13 import org.openecomp.sdc.be.model.ComponentInstInputsMap;
14 import org.openecomp.sdc.be.model.ComponentInstancePropInput;
15 import org.openecomp.sdc.be.model.InputDefinition;
16 import org.openecomp.sdc.be.model.Resource;
17 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
18
19 import java.util.HashMap;
20 import java.util.Iterator;
21 import java.util.LinkedList;
22 import java.util.List;
23 import java.util.Map;
24
25 public class PropertyDecelerationOrchestratorTest {
26
27         @InjectMocks
28         PropertyDeclarationOrchestrator testSubject;
29
30         @Mock(answer = Answers.CALLS_REAL_METHODS)
31         List<PropertyDeclarator> propertyDeceleratorsMock;
32
33         @Mock
34         private ComponentInstanceInputPropertyDeclarator componentInstanceInputPropertyDecelerator;
35         @Mock
36         private ComponentInstancePropertyDeclarator componentInstancePropertyDecelerator;
37         @Mock
38         private PolicyPropertyDeclarator policyPropertyDecelerator;
39
40         @Before
41         public void setUp() throws Exception {
42
43                 MockitoAnnotations.initMocks(this);
44         }
45
46         @Test(expected = IllegalStateException.class)
47         public void testDeclarePropertiesToInputs() throws Exception {
48                 Component component = new Resource();
49                 ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap();
50                 Either<List<InputDefinition>, StorageOperationStatus> result;
51
52                 // default test
53                 result = testSubject.declarePropertiesToInputs(component, componentInstInputsMap);
54         }
55
56         @Test
57         public void testDeclarePropertiesToListInputs() throws Exception {
58                 Component component = new Resource();
59                 ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap();
60                 Map<String, List<ComponentInstancePropInput>> componentInstanceInputsMap = new HashMap<>();
61                 List<ComponentInstancePropInput> value = new LinkedList<>();
62                 componentInstanceInputsMap.put("mock", value);
63                 componentInstInputsMap.setComponentInstanceInputsMap(componentInstanceInputsMap);
64                 InputDefinition input = new InputDefinition();
65                 Either<InputDefinition, StorageOperationStatus> result;
66
67                 // default test
68                 result = testSubject.declarePropertiesToListInput(component, componentInstInputsMap, input);
69         }
70
71         @Test
72         public void testUnDeclarePropertiesAsInputs() throws Exception {
73                 Component component = new Resource();
74                 InputDefinition inputToDelete = new InputDefinition();
75                 StorageOperationStatus result;
76
77                 Iterator<PropertyDeclarator> mockIter = Mockito.mock(Iterator.class);
78                 Mockito.when(propertyDeceleratorsMock.iterator()).thenReturn(mockIter);
79                 Mockito.when(mockIter.hasNext()).thenReturn(false);
80                 
81                 // default test
82                 result = testSubject.unDeclarePropertiesAsInputs(component, inputToDelete);
83         }
84
85         @Test
86         public void testUnDeclarePropertiesAsListInputs() throws Exception {
87                 Component component = new Resource();
88                 InputDefinition inputToDelete = new InputDefinition();
89                 StorageOperationStatus result;
90
91                 Iterator<PropertyDeclarator> mockIter = Mockito.mock(Iterator.class);
92                 Mockito.when(propertyDeceleratorsMock.iterator()).thenReturn(mockIter);
93                 Mockito.when(mockIter.hasNext()).thenReturn(false);
94
95                 // default test
96                 result = testSubject.unDeclarePropertiesAsListInputs(component, inputToDelete);
97         }
98
99         @Test
100         public void testGetPropOwnerId() throws Exception {
101                 ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap();
102                 Map<String, List<ComponentInstancePropInput>> componentInstanceInputsMap = new HashMap<>();
103                 List<ComponentInstancePropInput> value = new LinkedList<>();
104                 componentInstanceInputsMap.put("mock", value);
105                 componentInstInputsMap.setComponentInstanceInputsMap(componentInstanceInputsMap);
106                 String result;
107
108                 // default test
109                 result = Deencapsulation.invoke(testSubject, "getPropOwnerId", componentInstInputsMap);
110         }
111
112         @Test(expected = IllegalStateException.class)
113         public void testGetPropertyDecelerator() throws Exception {
114                 ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap();
115                 PropertyDeclarator result;
116
117                 // default test
118                 result = Deencapsulation.invoke(testSubject, "getPropertyDeclarator", componentInstInputsMap);
119         }
120
121         @Test
122         public void testGetPropertyDeceleratorWithInputsMap() throws Exception {
123                 ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap();
124                 Map<String, List<ComponentInstancePropInput>> componentInstanceInputsMap = new HashMap<>();
125                 List<ComponentInstancePropInput> value = new LinkedList<>();
126                 componentInstanceInputsMap.put("mock", value);
127                 componentInstInputsMap.setComponentInstanceInputsMap(componentInstanceInputsMap);
128                 PropertyDeclarator result;
129
130                 // default test
131                 result = Deencapsulation.invoke(testSubject, "getPropertyDeclarator", componentInstInputsMap);
132         }
133
134         @Test
135         public void testGetPropertyDeceleratorWithCIProperties() throws Exception {
136                 ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap();
137                 Map<String, List<ComponentInstancePropInput>> componentInstanceProperties = new HashMap<>();
138                 List<ComponentInstancePropInput> value = new LinkedList<>();
139                 componentInstanceProperties.put("mock", value);
140                 componentInstInputsMap.setComponentInstanceProperties(componentInstanceProperties);
141                 PropertyDeclarator result;
142
143                 // default test
144                 result = Deencapsulation.invoke(testSubject, "getPropertyDeclarator", componentInstInputsMap);
145         }
146
147         @Test
148         public void testGetPropertyDeceleratorWithCIPolicy() throws Exception {
149                 ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap();
150                 Map<String, List<ComponentInstancePropInput>> policyProperties = new HashMap<>();
151                 List<ComponentInstancePropInput> value = new LinkedList<>();
152                 policyProperties.put("mock", value);
153                 componentInstInputsMap.setPolicyProperties(policyProperties);
154                 PropertyDeclarator result;
155
156                 // default test
157                 result = Deencapsulation.invoke(testSubject, "getPropertyDeclarator", componentInstInputsMap);
158         }
159 }