diff options
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportParseLogicTest.java')
-rw-r--r-- | catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportParseLogicTest.java | 79 |
1 files changed, 78 insertions, 1 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportParseLogicTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportParseLogicTest.java index 0306ce082e..c564f59398 100644 --- a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportParseLogicTest.java +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportParseLogicTest.java @@ -17,8 +17,11 @@ package org.openecomp.sdc.be.components.impl; import static org.assertj.core.api.Java6Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyBoolean; @@ -43,6 +46,7 @@ import java.util.Map.Entry; import java.util.NoSuchElementException; import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang3.tuple.ImmutablePair; +import org.glassfish.grizzly.http.util.HttpStatus; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -77,6 +81,7 @@ import org.openecomp.sdc.be.model.InterfaceDefinition; import org.openecomp.sdc.be.model.LifeCycleTransitionEnum; import org.openecomp.sdc.be.model.LifecycleStateEnum; import org.openecomp.sdc.be.model.NodeTypeInfo; +import org.openecomp.sdc.be.model.OutputDefinition; import org.openecomp.sdc.be.model.PropertyDefinition; import org.openecomp.sdc.be.model.RequirementCapabilityRelDef; import org.openecomp.sdc.be.model.RequirementDefinition; @@ -118,6 +123,7 @@ class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBaseTestSet private final IElementOperation elementDao = mock(IElementOperation.class); private final IInterfaceLifecycleOperation interfaceTypeOperation = mock(IInterfaceLifecycleOperation.class); private final InputsBusinessLogic inputsBusinessLogic = mock(InputsBusinessLogic.class); + private final OutputsBusinessLogic outputsBusinessLogic = mock(OutputsBusinessLogic.class); private final LifecycleBusinessLogic lifecycleBusinessLogic = mock(LifecycleBusinessLogic.class); private final ComponentNodeFilterBusinessLogic componentNodeFilterBusinessLogic = mock(ComponentNodeFilterBusinessLogic.class); @@ -128,7 +134,7 @@ class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBaseTestSet private ServiceImportParseLogic createTestSubject() { return new ServiceImportParseLogic(serviceBusinessLogic, componentsUtils, toscaOperationFacade, lifecycleBusinessLogic, inputsBusinessLogic, null, null, interfaceTypeOperation, capabilityTypeOperation, componentNodeFilterBusinessLogic, - groupBusinessLogic); + groupBusinessLogic, outputsBusinessLogic); } @BeforeEach @@ -1130,6 +1136,77 @@ class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBaseTestSet } @Test + void testCreateOutputsOnService_OK() { + Service service = createServiceObject(true); + List<OutputDefinition> resourceOutputs = new ArrayList<>(); + OutputDefinition outputDefinition = new OutputDefinition(); + resourceOutputs.add(outputDefinition); + outputDefinition.setName("outputDefinitionName"); + service.setOutputs(resourceOutputs); + Map<String, OutputDefinition> outputs = new HashMap<>(); + outputs.put("outputsMap", outputDefinition); + + when(outputsBusinessLogic.createOutputsInGraph(outputs, service, user.getUserId())).thenReturn(Either.left(resourceOutputs)); + when(toscaOperationFacade.getToscaElement(service.getUniqueId())).thenReturn(Either.left(service)); + Service outputsOnService = testSubject.createOutputsOnService(service, outputs, user.getUserId()); + assertNotNull(outputsOnService); + assertSame(service, outputsOnService); + } + + @Test + void testCreateOutputsOnService_Fail_whenOutputsIsEmpty() { + Service service = createServiceObject(true); + Map<String, OutputDefinition> outputs = new HashMap<>(); + Service outputsOnService = testSubject.createOutputsOnService(service, outputs, user.getUserId()); + assertNotNull(outputsOnService); + assertSame(service, outputsOnService); + } + + @Test + void testCreateOutputsOnService_Fail_createOutputsInGraph() { + Service service = createServiceObject(true); + List<OutputDefinition> resourceOutputs = new ArrayList<>(); + OutputDefinition outputDefinition = new OutputDefinition(); + resourceOutputs.add(outputDefinition); + outputDefinition.setName("outputDefinitionName"); + service.setOutputs(resourceOutputs); + Map<String, OutputDefinition> outputs = new HashMap<>(); + outputs.put("outputsMap", outputDefinition); + + when(outputsBusinessLogic.createOutputsInGraph(outputs, service, user.getUserId())) + .thenReturn(Either.right(new ResponseFormat(HttpStatus.BAD_REQUEST_400.getStatusCode()))); + + final var componentException = assertThrows(ComponentException.class, () -> { + testSubject.createOutputsOnService(service, outputs, user.getUserId()); + }); + assertNotNull(componentException); + assertEquals(ActionStatus.OK, componentException.getActionStatus()); + assertEquals(400, componentException.getResponseFormat().getStatus()); + } + + @Test + void testCreateOutputsOnService_Fail_getToscaElement() { + Service service = createServiceObject(true); + List<OutputDefinition> resourceOutputs = new ArrayList<>(); + OutputDefinition outputDefinition = new OutputDefinition(); + resourceOutputs.add(outputDefinition); + outputDefinition.setName("outputDefinitionName"); + service.setOutputs(resourceOutputs); + Map<String, OutputDefinition> outputs = new HashMap<>(); + outputs.put("outputsMap", outputDefinition); + + when(outputsBusinessLogic.createOutputsInGraph(outputs, service, user.getUserId())).thenReturn(Either.left(resourceOutputs)); + when(toscaOperationFacade.getToscaElement(service.getUniqueId())).thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST)); + + final var componentException = assertThrows(ComponentException.class, () -> { + testSubject.createOutputsOnService(service, outputs, user.getUserId()); + }); + assertNotNull(componentException); + assertEquals(ActionStatus.OK, componentException.getActionStatus()); + assertEquals(400, componentException.getResponseFormat().getStatus()); + } + + @Test void testAssociateCINodeFilterToComponent() { String yamlName = "yamlName.yml"; Service service = createServiceObject(true); |