diff options
author | Tal Gitelman <tg851x@intl.att.com> | 2018-05-16 13:25:33 +0300 |
---|---|---|
committer | Michael Lando <ml636r@att.com> | 2018-05-16 14:15:19 +0000 |
commit | 093c624b2ce48ca8dbf55a9a8aaeee0315a8a7d6 (patch) | |
tree | b5d03988991d4fca7d20d0f0df15bdc913e3a446 | |
parent | 779bcf61a5ea2d32db0a44096c2d034d89e8afad (diff) |
new unit tests for sdc-be
Change-Id: I76050d7735d9d1b90b668138bbe9314c370e8748
Issue-ID: SDC-1333
Signed-off-by: Tal Gitelman <tg851x@intl.att.com>
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); + } +} |