diff options
2 files changed, 145 insertions, 0 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/property/PropertyDecelerationOrchestratorTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/property/PropertyDecelerationOrchestratorTest.java new file mode 100644 index 0000000000..4ead6bd9e0 --- /dev/null +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/property/PropertyDecelerationOrchestratorTest.java @@ -0,0 +1,121 @@ +package org.openecomp.sdc.be.components.property; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.openecomp.sdc.be.model.Component; +import org.openecomp.sdc.be.model.ComponentInstInputsMap; +import org.openecomp.sdc.be.model.ComponentInstancePropInput; +import org.openecomp.sdc.be.model.InputDefinition; +import org.openecomp.sdc.be.model.Resource; +import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus; +import org.openecomp.sdc.test.utils.TestUtilsSdc; +import org.slf4j.LoggerFactory; + +import fj.data.Either; +import mockit.Deencapsulation; + +public class PropertyDecelerationOrchestratorTest { + + @InjectMocks + PropertyDecelerationOrchestrator testSubject; + + @Mock + List<PropertyDecelerator> propertyDeceleratorsMock; + + @Mock + private ComponentInstanceInputPropertyDecelerator componentInstanceInputPropertyDecelerator; + @Mock + private ComponentInstancePropertyDecelerator componentInstancePropertyDecelerator; + @Mock + private PolicyPropertyDecelerator policyPropertyDecelerator; + + @Before + public void setUp() throws Exception { + + MockitoAnnotations.initMocks(this); + + TestUtilsSdc.setFinalStatic(testSubject.getClass(), "log", LoggerFactory.getLogger(testSubject.getClass())); + } + + @Test(expected = IllegalStateException.class) + public void testDeclarePropertiesToInputs() throws Exception { + Component component = new Resource(); + ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap(); + Either<List<InputDefinition>, StorageOperationStatus> result; + + // default test + result = testSubject.declarePropertiesToInputs(component, componentInstInputsMap); + } + + @Test + public void testUnDeclarePropertiesAsInputs() throws Exception { + Component component = new Resource(); + InputDefinition inputToDelete = new InputDefinition(); + StorageOperationStatus result; + + Iterator<PropertyDecelerator> mockIter = Mockito.mock(Iterator.class); + Mockito.when(propertyDeceleratorsMock.iterator()).thenReturn(mockIter); + Mockito.when(mockIter.hasNext()).thenReturn(false); + + // default test + result = testSubject.unDeclarePropertiesAsInputs(component, inputToDelete); + } + + @Test(expected = IllegalStateException.class) + public void testGetPropertyDecelerator() throws Exception { + ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap(); + PropertyDecelerator result; + + // default test + result = Deencapsulation.invoke(testSubject, "getPropertyDecelerator", componentInstInputsMap); + } + + @Test + public void testGetPropertyDeceleratorWithInputsMap() throws Exception { + ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap(); + Map<String, List<ComponentInstancePropInput>> componentInstanceInputsMap = new HashMap<>(); + List<ComponentInstancePropInput> value = new LinkedList<>(); + componentInstanceInputsMap.put("mock", value); + componentInstInputsMap.setComponentInstanceInputsMap(componentInstanceInputsMap); + PropertyDecelerator result; + + // default test + result = Deencapsulation.invoke(testSubject, "getPropertyDecelerator", componentInstInputsMap); + } + + @Test + public void testGetPropertyDeceleratorWithCIProperties() throws Exception { + ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap(); + Map<String, List<ComponentInstancePropInput>> componentInstanceProperties = new HashMap<>(); + List<ComponentInstancePropInput> value = new LinkedList<>(); + componentInstanceProperties.put("mock", value); + componentInstInputsMap.setComponentInstancePropInput(componentInstanceProperties); + PropertyDecelerator result; + + // default test + result = Deencapsulation.invoke(testSubject, "getPropertyDecelerator", componentInstInputsMap); + } + + @Test + public void testGetPropertyDeceleratorWithCIPolicy() throws Exception { + ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap(); + Map<String, List<ComponentInstancePropInput>> policyProperties = new HashMap<>(); + List<ComponentInstancePropInput> value = new LinkedList<>(); + policyProperties.put("mock", value); + componentInstInputsMap.setPolicyProperties(policyProperties); + PropertyDecelerator result; + + // default test + result = Deencapsulation.invoke(testSubject, "getPropertyDecelerator", componentInstInputsMap); + } +}
\ No newline at end of file diff --git a/catalog-be/src/test/java/org/openecomp/sdc/test/utils/TestUtilsSdc.java b/catalog-be/src/test/java/org/openecomp/sdc/test/utils/TestUtilsSdc.java new file mode 100644 index 0000000000..74009dcb9c --- /dev/null +++ b/catalog-be/src/test/java/org/openecomp/sdc/test/utils/TestUtilsSdc.java @@ -0,0 +1,24 @@ +package org.openecomp.sdc.test.utils; + +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; + +public class TestUtilsSdc { + /* + * Can be used to set the logger instance to overcome mockito limitation + * private static final Logger log + * + * TestUtilsSdc.setFinalStatic(testSubject.getClass(), "log", LoggerFactory.getLogger(testSubject.getClass())); + */ + public static void setFinalStatic(Class targetClass, String fieldName, Object newValue) throws Exception { + Field field = targetClass.getDeclaredField("log"); + field.setAccessible(true); + + // remove final modifier from field + Field modifiersField = Field.class.getDeclaredField("modifiers"); + modifiersField.setAccessible(true); + modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); + + field.set(null, newValue); + } +} |