summaryrefslogtreecommitdiffstats
path: root/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/CsarUtilsTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/CsarUtilsTest.java')
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/CsarUtilsTest.java451
1 files changed, 0 insertions, 451 deletions
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/CsarUtilsTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/CsarUtilsTest.java
deleted file mode 100644
index fd1703bfcb..0000000000
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/CsarUtilsTest.java
+++ /dev/null
@@ -1,451 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdc.ci.tests.execute.imports;
-
-import org.apache.commons.codec.binary.Base64;
-import org.junit.Rule;
-import org.junit.rules.TestName;
-import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
-import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
-import org.openecomp.sdc.be.model.*;
-import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
-import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
-import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
-import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
-import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
-import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
-import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
-import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
-import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
-import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
-import org.openecomp.sdc.common.util.YamlToObjectConverter;
-import org.testng.annotations.Test;
-import org.yaml.snakeyaml.Yaml;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Map;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-
-import static org.junit.Assert.*;
-
-public class CsarUtilsTest extends ComponentBaseTest {
-
- public static final String ASSET_TOSCA_TEMPLATE = "assettoscatemplate";
-
- @Rule
- public static TestName name = new TestName();
-
- public CsarUtilsTest() {
- super(name, CsarUtilsTest.class.getName());
- }
-
- @Test(enabled = true)
- public void createServiceCsarBasicTest() throws Exception {
-
- Service service = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value();
-
- Resource resourceVF = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value();
-
- AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.VENDOR_LICENSE, resourceVF, UserRoleEnum.DESIGNER,
- true, true);
- resourceVF = (Resource) AtomicOperationUtils
- .changeComponentState(resourceVF, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
-
- AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceVF, service, UserRoleEnum.DESIGNER, true);
-
- service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
-
- User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
-
- byte[] downloadCSAR = downloadCSAR(sdncModifierDetails, service);
-
- csarBasicValidation(service, downloadCSAR);
- }
-
- @Test(enabled = true)
- public void createResourceCsarBasicTest() throws Exception {
-
- Resource resourceVF = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value();
- resourceVF = (Resource) AtomicOperationUtils
- .changeComponentState(resourceVF, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
- User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
-
- byte[] downloadCSAR = downloadCSAR(sdncModifierDetails, resourceVF);
-
- csarBasicValidation(resourceVF, downloadCSAR);
- }
-
- @Test(enabled = true)
- public void createServiceCsarInclDeploymentArtTest() throws Exception {
-
- Service service = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value();
-
- Resource resourceVF1 = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value();
- Resource resourceVF2 = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value();
-
- resourceVF1 = (Resource) AtomicOperationUtils
- .changeComponentState(resourceVF1, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
-
- resourceVF2 = (Resource) AtomicOperationUtils
- .changeComponentState(resourceVF2, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
-
- AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceVF1, service, UserRoleEnum.DESIGNER, true);
- AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceVF2, service, UserRoleEnum.DESIGNER, true);
-
- AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.YANG_XML, service, UserRoleEnum.DESIGNER, true, true);
-
- service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
-
- User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
-
- byte[] downloadCSAR = downloadCSAR(sdncModifierDetails, service);
-
- csarBasicValidation(service, downloadCSAR);
-
- validateServiceCsar(resourceVF1, resourceVF2, service, downloadCSAR, 3, 5, 1);
- }
-
- @Test(enabled = true)
- public void createResourceCsarInclDeploymentArtTest() throws Exception {
-
- Resource resourceVF1 = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value();
-
- AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.YANG_XML, resourceVF1, UserRoleEnum.DESIGNER, true, true);
- AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT_ARTIFACT, resourceVF1, UserRoleEnum.DESIGNER, true, true);
-
- resourceVF1 = (Resource) AtomicOperationUtils
- .changeComponentState(resourceVF1, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
-
- User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
-
- byte[] downloadCSAR = downloadCSAR(sdncModifierDetails, resourceVF1);
-
- csarBasicValidation(resourceVF1, downloadCSAR);
-
- validateVFCsar(resourceVF1, downloadCSAR, 1, 0, 1, 1);
- }
-
- private void csarBasicValidation(Component mainComponent, byte[] downloadCSAR) {
- try (ByteArrayInputStream ins = new ByteArrayInputStream(downloadCSAR);
- ZipInputStream zip = new ZipInputStream(ins);) {
-
- String resourceYaml = null;
- byte[] buffer = new byte[1024];
- ZipEntry nextEntry = zip.getNextEntry();
- StringBuilder sb = new StringBuilder();
- int len;
-
- while ((len = zip.read(buffer)) > 0) {
- sb.append(new String(buffer, 0, len));
- }
-
- assertTrue(nextEntry.getName().equals("TOSCA-Metadata/TOSCA.meta"));
-
- sb.setLength(0);
- nextEntry = zip.getNextEntry();
-
- while ((len = zip.read(buffer)) > 0) {
- sb.append(new String(buffer, 0, len));
- }
-
- resourceYaml = sb.toString();
-
- YamlToObjectConverter yamlToObjectConverter = new YamlToObjectConverter();
- ArtifactDefinition artifactDefinition = mainComponent.getToscaArtifacts()
- .get(ASSET_TOSCA_TEMPLATE);
- String fileName = artifactDefinition.getArtifactName();
- assertEquals("Tosca-Template file name: ", "Definitions/" + fileName, nextEntry.getName());
- assertTrue("Tosca template Yaml validation: ", yamlToObjectConverter.isValidYaml(resourceYaml.getBytes()));
-
- ins.close();
- zip.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- private void validateServiceCsar(Component certifiedVFC1, Component certifiedVFC2, Service fetchedService,
- byte[] resultByte, int toscaEntryIndexToPass, int generatorEntryIndexToPass,
- int deploymentArtifactIndexToPass) {
-
- // TODO Test to validate everything is right (comment out after testing)
- /*try {
- FileUtils.writeByteArrayToFile(new File("c:/TestCSAR/" + fetchedService.getName() + ".zip"), resultByte);
- } catch (IOException e) {
- // Auto-generated catch block
- e.printStackTrace();
- }*/
-
- try (ByteArrayInputStream ins = new ByteArrayInputStream(resultByte);
- ZipInputStream zip = new ZipInputStream(ins);) {
-
- String resourceYaml = null;
- byte[] buffer = new byte[1024];
- ZipEntry nextEntry = zip.getNextEntry();
- StringBuilder sb = new StringBuilder();
- int len;
-
- while ((len = zip.read(buffer)) > 0) {
- sb.append(new String(buffer, 0, len));
- }
-
- assertTrue(nextEntry.getName().equals("TOSCA-Metadata/TOSCA.meta"));
-
- YamlToObjectConverter yamlToObjectConverter = new YamlToObjectConverter();
-
- int toscaEntryIndex = 0;
- int generatorEntryIndex = 0;
- int deploymentArtifactIndex = 0;
- String fileName = null;
- ArtifactDefinition artifactDefinition;
- Component componentToValidate = null;
-
- artifactDefinition = fetchedService.getToscaArtifacts().get(ASSET_TOSCA_TEMPLATE);
- String serviceFileName = artifactDefinition.getArtifactName();
- artifactDefinition = certifiedVFC1.getToscaArtifacts().get(ASSET_TOSCA_TEMPLATE);
- String vfc1FileName = artifactDefinition.getArtifactName();
- artifactDefinition = certifiedVFC2.getToscaArtifacts().get(ASSET_TOSCA_TEMPLATE);
- String vfc2FileName = artifactDefinition.getArtifactName();
-
- while ((nextEntry = zip.getNextEntry()) != null) {
- sb.setLength(0);
-
- while ((len = zip.read(buffer)) > 0) {
- sb.append(new String(buffer, 0, len));
- }
-
- String entryName = nextEntry.getName();
-
- resourceYaml = sb.toString();
- if (entryName.contains(serviceFileName)) {
- componentToValidate = fetchedService;
- fileName = "Definitions/" + serviceFileName;
-
- assertEquals("Validate entry Name", (fileName), nextEntry.getName());
- assertTrue(yamlToObjectConverter.isValidYaml(resourceYaml.getBytes()));
- validateContent(resourceYaml, componentToValidate);
- ++toscaEntryIndex;
- continue;
- }
-
- if (entryName.contains(vfc1FileName)) {
- componentToValidate = certifiedVFC1;
- fileName = "Definitions/" + vfc1FileName;
-
- assertEquals("Validate entry Name", (fileName), nextEntry.getName());
- assertTrue(yamlToObjectConverter.isValidYaml(resourceYaml.getBytes()));
- validateContent(resourceYaml, componentToValidate);
- ++toscaEntryIndex;
- continue;
- }
- if (entryName.contains(vfc2FileName)) {
- componentToValidate = certifiedVFC2;
- fileName = "Definitions/" + vfc2FileName;
-
- assertEquals("Validate entry Name", (fileName), nextEntry.getName());
- assertTrue(yamlToObjectConverter.isValidYaml(resourceYaml.getBytes()));
- validateContent(resourceYaml, componentToValidate);
- ++toscaEntryIndex;
- continue;
- }
-
- if (entryName.contains(".xml") && !entryName.startsWith("Artifacts/AAI")) {
- ++deploymentArtifactIndex;
- continue;
- }
-
- if (entryName.startsWith("Artifacts/AAI")) {
- ++generatorEntryIndex;
- continue;
- }
-
- assertTrue("Unexpected entry: " + entryName, true);
- }
- assertEquals("Validate amount of entries", toscaEntryIndexToPass, toscaEntryIndex);
- assertEquals("Validate amount of generated AAI artifacts", generatorEntryIndexToPass, generatorEntryIndex);
- assertEquals("Validate amount of generated Deployment artifacts", deploymentArtifactIndexToPass,
- deploymentArtifactIndex);
-
- ins.close();
- zip.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- private void validateVFCsar(Component certifiedVF, byte[] resultByte, int toscaEntryIndexToPass, int ymlDeploymentArtifactIndexToPass,
- int xmlDeploymentArtifactIndexToPass, int heatEnvDeploymentArtifactIndexToPass) {
-
- // TODO Test to validate everything is right (comment out after testing)
- /*try {
- FileUtils.writeByteArrayToFile(new File("c:/TestCSAR/" + fetchedService.getName() + ".zip"), resultByte);
- } catch (IOException e) {
- // Auto-generated catch block
- e.printStackTrace();
- }*/
-
- try (ByteArrayInputStream ins = new ByteArrayInputStream(resultByte);
- ZipInputStream zip = new ZipInputStream(ins);) {
-
- String resourceYaml = null;
- byte[] buffer = new byte[1024];
- ZipEntry nextEntry = zip.getNextEntry();
- StringBuilder sb = new StringBuilder();
- int len;
-
- while ((len = zip.read(buffer)) > 0) {
- sb.append(new String(buffer, 0, len));
- }
-
- assertTrue(nextEntry.getName().equals("TOSCA-Metadata/TOSCA.meta"));
-
- YamlToObjectConverter yamlToObjectConverter = new YamlToObjectConverter();
-
- int toscaEntryIndex = 0;
- int ymlEntryIndex = 0;
- int xmlArtifactsIndex = 0;
- int heatEnvDeploymentArtifactIndex = 0;
- String fileName = null;
- ArtifactDefinition artifactDefinition;
- Component componentToValidate = null;
-
- artifactDefinition = certifiedVF.getToscaArtifacts().get(ASSET_TOSCA_TEMPLATE);
- String vfFileName = artifactDefinition.getArtifactName();
-
- while ((nextEntry = zip.getNextEntry()) != null) {
- sb.setLength(0);
-
- while ((len = zip.read(buffer)) > 0) {
- sb.append(new String(buffer, 0, len));
- }
-
- String entryName = nextEntry.getName();
-
- resourceYaml = sb.toString();
- if (entryName.contains(vfFileName)) {
- componentToValidate = certifiedVF;
- fileName = "Definitions/" + vfFileName;
-
- assertEquals("Validate entry Name", (fileName), nextEntry.getName());
- assertTrue(yamlToObjectConverter.isValidYaml(resourceYaml.getBytes()));
- validateContent(resourceYaml, componentToValidate);
- ++toscaEntryIndex;
- continue;
- }
-
- if (entryName.contains(".xml") && entryName.startsWith("Artifacts/")) {
- ++xmlArtifactsIndex;
- continue;
- }
-
- if (entryName.contains(".sh") && entryName.startsWith("Artifacts/")) {
- ++heatEnvDeploymentArtifactIndex;
- continue;
- }
-
- if (entryName.contains(".yml") && entryName.startsWith("Artifacts/")) {
- ++ymlEntryIndex;
- continue;
- }
-
- assertTrue("Unexpected entry: " + entryName, false);
- }
- assertEquals("Validate amount of entries", toscaEntryIndexToPass, toscaEntryIndex);
- assertEquals("Validate amount of YAML artifacts", ymlDeploymentArtifactIndexToPass, ymlEntryIndex);
- assertEquals("Validate amount of generated XML artifacts", xmlDeploymentArtifactIndexToPass,
- xmlArtifactsIndex);
- assertEquals("Validate amount of generated HEAT ENV artifacts", heatEnvDeploymentArtifactIndexToPass,
- heatEnvDeploymentArtifactIndex);
-
- ins.close();
- zip.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- private void validateContent(String content, Component component) {
- Yaml yaml = new Yaml();
-
- InputStream inputStream = new ByteArrayInputStream(content.getBytes());
- @SuppressWarnings("unchecked")
- Map<String, Object> load = (Map<String, Object>) yaml.load(inputStream);
- @SuppressWarnings("unchecked")
- Map<String, Object> metadata = (Map<String, Object>) load.get("metadata");
- assertNotNull(metadata);
-
- String name = (String) metadata.get("name");
- assertNotNull(name);
- assertEquals("Validate component name", component.getName(), name);
-
- String invariantUUID = (String) metadata.get("invariantUUID");
- assertNotNull(invariantUUID);
- assertEquals("Validate component invariantUUID", component.getInvariantUUID(), invariantUUID);
-
- String UUID = (String) metadata.get("UUID");
- assertNotNull(UUID);
- assertEquals("Validate component invariantUUID", component.getUUID(), UUID);
-
- String type = (String) metadata.get("type");
- assertNotNull(type);
- if (component.getComponentType().equals(ComponentTypeEnum.SERVICE)) {
- assertEquals("Validate component type", component.getComponentType().getValue(), type);
- } else {
- assertEquals("Validate component type", ((Resource) component).getResourceType(),
- ResourceTypeEnum.valueOf(type));
- }
- }
-
- private byte[] downloadCSAR(User sdncModifierDetails, Component createdComponent) throws Exception {
-
- String artifactUniqeId = createdComponent.getToscaArtifacts().get("assettoscacsar").getUniqueId();
- RestResponse getCsarResponse = null;
-
- switch (createdComponent.getComponentType()) {
- case RESOURCE:
- getCsarResponse = ArtifactRestUtils.downloadResourceArtifactInternalApi(createdComponent.getUniqueId(),
- sdncModifierDetails, artifactUniqeId);
- break;
- case SERVICE:
- getCsarResponse = ArtifactRestUtils.downloadServiceArtifactInternalApi(createdComponent.getUniqueId(),
- sdncModifierDetails, artifactUniqeId);
- break;
- default:
- break;
- }
-
- assertNotNull(getCsarResponse);
- BaseRestUtils.checkSuccess(getCsarResponse);
-
- ArtifactUiDownloadData artifactUiDownloadData = ResponseParser.parseToObject(getCsarResponse.getResponse(),
- ArtifactUiDownloadData.class);
-
- assertNotNull(artifactUiDownloadData);
-
- byte[] fromUiDownload = artifactUiDownloadData.getBase64Contents().getBytes();
- byte[] decodeBase64 = Base64.decodeBase64(fromUiDownload);
-
- return decodeBase64;
- }
-}