1 package org.openecomp.sdc.be.components.property;
3 import java.util.HashMap;
4 import java.util.Iterator;
5 import java.util.LinkedList;
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;
24 import fj.data.Either;
25 import mockit.Deencapsulation;
27 public class PropertyDecelerationOrchestratorTest {
30 PropertyDecelerationOrchestrator testSubject;
33 List<PropertyDecelerator> propertyDeceleratorsMock;
36 private ComponentInstanceInputPropertyDecelerator componentInstanceInputPropertyDecelerator;
38 private ComponentInstancePropertyDecelerator componentInstancePropertyDecelerator;
40 private PolicyPropertyDecelerator policyPropertyDecelerator;
43 public void setUp() throws Exception {
45 MockitoAnnotations.initMocks(this);
47 TestUtilsSdc.setFinalStatic(testSubject.getClass(), "log", LoggerFactory.getLogger(testSubject.getClass()));
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;
57 result = testSubject.declarePropertiesToInputs(component, componentInstInputsMap);
61 public void testUnDeclarePropertiesAsInputs() throws Exception {
62 Component component = new Resource();
63 InputDefinition inputToDelete = new InputDefinition();
64 StorageOperationStatus result;
66 Iterator<PropertyDecelerator> mockIter = Mockito.mock(Iterator.class);
67 Mockito.when(propertyDeceleratorsMock.iterator()).thenReturn(mockIter);
68 Mockito.when(mockIter.hasNext()).thenReturn(false);
71 result = testSubject.unDeclarePropertiesAsInputs(component, inputToDelete);
74 @Test(expected = IllegalStateException.class)
75 public void testGetPropertyDecelerator() throws Exception {
76 ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap();
77 PropertyDecelerator result;
80 result = Deencapsulation.invoke(testSubject, "getPropertyDecelerator", componentInstInputsMap);
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;
93 result = Deencapsulation.invoke(testSubject, "getPropertyDecelerator", componentInstInputsMap);
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;
106 result = Deencapsulation.invoke(testSubject, "getPropertyDecelerator", componentInstInputsMap);
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;
119 result = Deencapsulation.invoke(testSubject, "getPropertyDecelerator", componentInstInputsMap);