1 package org.openecomp.sdc.be.components.property;
4 import mockit.Deencapsulation;
5 import org.junit.Before;
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;
19 import java.util.HashMap;
20 import java.util.Iterator;
21 import java.util.LinkedList;
22 import java.util.List;
25 public class PropertyDecelerationOrchestratorTest {
28 PropertyDeclarationOrchestrator testSubject;
30 @Mock(answer = Answers.CALLS_REAL_METHODS)
31 List<PropertyDeclarator> propertyDeceleratorsMock;
34 private ComponentInstanceInputPropertyDeclarator componentInstanceInputPropertyDecelerator;
36 private ComponentInstancePropertyDeclarator componentInstancePropertyDecelerator;
38 private PolicyPropertyDeclarator policyPropertyDecelerator;
41 public void setUp() throws Exception {
43 MockitoAnnotations.initMocks(this);
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;
53 result = testSubject.declarePropertiesToInputs(component, componentInstInputsMap);
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;
68 result = testSubject.declarePropertiesToListInput(component, componentInstInputsMap, input);
72 public void testUnDeclarePropertiesAsInputs() throws Exception {
73 Component component = new Resource();
74 InputDefinition inputToDelete = new InputDefinition();
75 StorageOperationStatus result;
77 Iterator<PropertyDeclarator> mockIter = Mockito.mock(Iterator.class);
78 Mockito.when(propertyDeceleratorsMock.iterator()).thenReturn(mockIter);
79 Mockito.when(mockIter.hasNext()).thenReturn(false);
82 result = testSubject.unDeclarePropertiesAsInputs(component, inputToDelete);
86 public void testUnDeclarePropertiesAsListInputs() throws Exception {
87 Component component = new Resource();
88 InputDefinition inputToDelete = new InputDefinition();
89 StorageOperationStatus result;
91 Iterator<PropertyDeclarator> mockIter = Mockito.mock(Iterator.class);
92 Mockito.when(propertyDeceleratorsMock.iterator()).thenReturn(mockIter);
93 Mockito.when(mockIter.hasNext()).thenReturn(false);
96 result = testSubject.unDeclarePropertiesAsListInputs(component, inputToDelete);
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);
109 result = Deencapsulation.invoke(testSubject, "getPropOwnerId", componentInstInputsMap);
112 @Test(expected = IllegalStateException.class)
113 public void testGetPropertyDecelerator() throws Exception {
114 ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap();
115 PropertyDeclarator result;
118 result = Deencapsulation.invoke(testSubject, "getPropertyDeclarator", componentInstInputsMap);
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;
131 result = Deencapsulation.invoke(testSubject, "getPropertyDeclarator", componentInstInputsMap);
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;
144 result = Deencapsulation.invoke(testSubject, "getPropertyDeclarator", componentInstInputsMap);
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;
157 result = Deencapsulation.invoke(testSubject, "getPropertyDeclarator", componentInstInputsMap);