summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ArtifactsBusinessLogicTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ArtifactsBusinessLogicTest.java')
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ArtifactsBusinessLogicTest.java163
1 files changed, 98 insertions, 65 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ArtifactsBusinessLogicTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ArtifactsBusinessLogicTest.java
index f35de43613..ccba26461a 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ArtifactsBusinessLogicTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ArtifactsBusinessLogicTest.java
@@ -29,6 +29,7 @@ import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import fj.data.Either;
import mockit.Deencapsulation;
+import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.junit.Before;
import org.junit.Test;
@@ -55,13 +56,29 @@ import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
import org.openecomp.sdc.be.impl.ComponentsUtils;
import org.openecomp.sdc.be.info.ArtifactTemplateInfo;
-import org.openecomp.sdc.be.model.*;
+import org.openecomp.sdc.be.model.ArtifactDefinition;
+import org.openecomp.sdc.be.model.ArtifactType;
+import org.openecomp.sdc.be.model.Component;
+import org.openecomp.sdc.be.model.ComponentInstance;
+import org.openecomp.sdc.be.model.DataTypeDefinition;
+import org.openecomp.sdc.be.model.GroupDefinition;
+import org.openecomp.sdc.be.model.GroupInstance;
+import org.openecomp.sdc.be.model.HeatParameterDefinition;
+import org.openecomp.sdc.be.model.InterfaceDefinition;
+import org.openecomp.sdc.be.model.LifecycleStateEnum;
import org.openecomp.sdc.be.model.Operation;
+import org.openecomp.sdc.be.model.Resource;
+import org.openecomp.sdc.be.model.Service;
+import org.openecomp.sdc.be.model.User;
import org.openecomp.sdc.be.model.cache.ApplicationDataTypeCache;
import org.openecomp.sdc.be.model.jsontitan.operations.ArtifactsOperations;
import org.openecomp.sdc.be.model.jsontitan.operations.NodeTemplateOperation;
import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
-import org.openecomp.sdc.be.model.operations.api.*;
+import org.openecomp.sdc.be.model.operations.api.IElementOperation;
+import org.openecomp.sdc.be.model.operations.api.IGraphLockOperation;
+import org.openecomp.sdc.be.model.operations.api.IInterfaceLifecycleOperation;
+import org.openecomp.sdc.be.model.operations.api.IUserAdminOperation;
+import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
import org.openecomp.sdc.be.model.operations.impl.ArtifactOperation;
import org.openecomp.sdc.be.resources.data.ESArtifactData;
import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
@@ -72,22 +89,28 @@ import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
import org.openecomp.sdc.common.api.ArtifactTypeEnum;
import org.openecomp.sdc.common.api.ConfigurationSource;
import org.openecomp.sdc.common.datastructure.Wrapper;
-import org.openecomp.sdc.common.datastructure.Wrapper;
import org.openecomp.sdc.common.impl.ExternalConfiguration;
import org.openecomp.sdc.common.impl.FSConfigurationSource;
import org.openecomp.sdc.exception.ResponseFormat;
import java.io.IOException;
-import java.util.*;
-
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-
-import static org.junit.Assert.*;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.*;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
import static org.openecomp.sdc.be.components.impl.ArtifactsBusinessLogic.HEAT_ENV_NAME;
import static org.openecomp.sdc.be.components.impl.ArtifactsBusinessLogic.HEAT_VF_ENV_NAME;
@@ -981,21 +1004,6 @@ public class ArtifactsBusinessLogicTest {
}
-
-
-
- @Test
- public void testIsValidJson() throws Exception {
- ArtifactsBusinessLogic testSubject;
- byte[] jsonToParse = new byte[] { ' ' };
- boolean result;
-
- // default test
- testSubject = createTestSubject();
- result = Deencapsulation.invoke(testSubject, "isValidJson", new Object[] { jsonToParse });
- }
-
-
@Test
public void testValidateSingleDeploymentArtifactName() throws Exception {
ArtifactsBusinessLogic testSubject;Wrapper<ResponseFormat> errorWrapper = new Wrapper<>();
@@ -1160,71 +1168,96 @@ public class ArtifactsBusinessLogicTest {
}
+ @Test
+ public void testGivenValidVesEventsArtifactPayload_WhenHandlePayload_ThenResultIsDecodedPayload() {
+ final byte[] payload = "validYaml: yes".getBytes();
+ ArtifactDefinition artifactInfo = createArtifactInfo(payload, "ves_events_file.yaml", ArtifactTypeEnum.VES_EVENTS);
+ final boolean isArtifactMetadataUpdate = false;
+ ArtifactsBusinessLogic testSubject = new ArtifactsBusinessLogic();
+ Either<byte[], ResponseFormat> result = Deencapsulation.invoke(testSubject, "handlePayload",
+ new Object[] { artifactInfo, isArtifactMetadataUpdate });
+ assertArrayEquals(payload, result.left().value());
+ }
-
@Test
- public void testHandlePayload() throws Exception {
- ArtifactsBusinessLogic testSubject;
- ArtifactDefinition artifactInfo = buildArtifactPayload();
- boolean isArtifactMetadataUpdate = false;
- Either<byte[], ResponseFormat> result;
+ public void testGivenInValidVesEventsArtifactPayload_WhenHandlePayload_ThenResultIsInvalidYaml() {
+ final int expectedStatus = 100;
+ when(componentsUtils.getResponseFormat(eq(ActionStatus.INVALID_YAML), any(String.class))).thenReturn(new ResponseFormat(expectedStatus));
+ final byte[] payload = "invalidYaml".getBytes();
+ ArtifactDefinition artifactInfo = createArtifactInfo(payload, "ves_events_file.yaml", ArtifactTypeEnum.VES_EVENTS);
- // default test
- testSubject = createTestSubject();
- result = Deencapsulation.invoke(testSubject, "handlePayload",
+ final boolean isArtifactMetadataUpdate = false;
+ ArtifactsBusinessLogic testSubject = new ArtifactsBusinessLogic();
+ testSubject.setComponentsUtils(componentsUtils);
+
+ Either<byte[], ResponseFormat> result = Deencapsulation.invoke(testSubject, "handlePayload",
new Object[] { artifactInfo, isArtifactMetadataUpdate });
+
+ int status = result.right().value().getStatus();
+ assertEquals(expectedStatus, status);
}
-
+ @Test
+ public void testGivenEmptyVesEventsArtifactPayload_WhenHandlePayload_ThenResultIsMissingData() {
+ final int expectedStatus = 101;
+ when(componentsUtils.getResponseFormat(eq(ActionStatus.MISSING_DATA), any(String.class))).thenReturn(new ResponseFormat(expectedStatus));
+ final byte[] payload = "".getBytes();
+ ArtifactDefinition artifactInfo = createArtifactInfo(payload, "ves_events_file.yaml", ArtifactTypeEnum.VES_EVENTS);
+ final boolean isArtifactMetadataUpdate = false;
+ ArtifactsBusinessLogic testSubject = new ArtifactsBusinessLogic();
+ testSubject.setComponentsUtils(componentsUtils);
-
- @Test
- public void testValidateYmlPayload() throws Exception {
- ArtifactsBusinessLogic testSubject;
- byte[] decodedPayload = new byte[] { ' ' };
- String artifactType = "";
- Either<Boolean, ResponseFormat> result;
+ Either<byte[], ResponseFormat> result = Deencapsulation.invoke(testSubject, "handlePayload",
+ new Object[] { artifactInfo, isArtifactMetadataUpdate });
- // default test
- testSubject = createTestSubject();
- result = Deencapsulation.invoke(testSubject, "validateYmlPayload",
- new Object[] { decodedPayload, artifactType });
+ int status = result.right().value().getStatus();
+ assertEquals(expectedStatus, status);
}
-
@Test
- public void testValidateXmlPayload() throws Exception {
- ArtifactsBusinessLogic testSubject;
- byte[] payload = new byte[] { ' ' };
- String artifactType = "";
- Either<Boolean, ResponseFormat> result;
+ public void testGivenValidHeatArtifactPayload_WhenHandlePayload_ThenResultIsDecodedPayload() {
+ final byte[] payload = "heat_template_version: 1.0".getBytes();
+ ArtifactDefinition artifactInfo = createArtifactInfo(payload, "heat_template.yaml", ArtifactTypeEnum.HEAT);
- // default test
- testSubject = createTestSubject();
- result = Deencapsulation.invoke(testSubject, "validateXmlPayload", new Object[] { payload, artifactType });
+ final boolean isArtifactMetadataUpdate = false;
+ ArtifactsBusinessLogic testSubject = new ArtifactsBusinessLogic();
+
+ Either<byte[], ResponseFormat> result = Deencapsulation.invoke(testSubject, "handlePayload",
+ new Object[] { artifactInfo, isArtifactMetadataUpdate });
+ assertArrayEquals(payload, result.left().value());
}
-
@Test
- public void testValidateJsonPayload() throws Exception {
- ArtifactsBusinessLogic testSubject;
- byte[] payload = new byte[] { ' ' };
- String type = "";
- Either<Boolean, ResponseFormat> result;
+ public void testGivenInValidHeatArtifactPayload_WhenHandlePayload_ThenResultIsInvalidYaml() {
+ final int expectedStatus = 1000;
+ when(componentsUtils.getResponseFormat(eq(ActionStatus.INVALID_DEPLOYMENT_ARTIFACT_HEAT), any(String.class))).thenReturn(new ResponseFormat(expectedStatus));
+ final byte[] payload = "validYaml: butNoHeatTemplateVersion".getBytes();
+ ArtifactDefinition artifactInfo = createArtifactInfo(payload, "heat_template.yaml", ArtifactTypeEnum.HEAT);
- // default test
- testSubject = createTestSubject();
- result = Deencapsulation.invoke(testSubject, "validateJsonPayload", new Object[] { payload, type });
- }
-
+ final boolean isArtifactMetadataUpdate = false;
+ ArtifactsBusinessLogic testSubject = new ArtifactsBusinessLogic();
+ testSubject.setComponentsUtils(componentsUtils);
+
+ Either<byte[], ResponseFormat> result = Deencapsulation.invoke(testSubject, "handlePayload",
+ new Object[] { artifactInfo, isArtifactMetadataUpdate });
+ int status = result.right().value().getStatus();
+ assertEquals(expectedStatus, status);
+ }
+ private ArtifactDefinition createArtifactInfo(byte[] payload, String artifactName, ArtifactTypeEnum artifactType) {
+ ArtifactDefinition artifactInfo = new ArtifactDefinition();
+ artifactInfo.setArtifactName(artifactName);
+ artifactInfo.setArtifactType(artifactType.getType());
+ artifactInfo.setArtifactGroupType(ArtifactGroupTypeEnum.DEPLOYMENT);
+ artifactInfo.setPayload(Base64.encodeBase64(payload));
+ return artifactInfo;
+ }
-
@Test
public void testValidateUserRole() throws Exception {
ArtifactsBusinessLogic testSubject;