summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportParseLogicTest.java
diff options
context:
space:
mode:
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.java79
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);