aboutsummaryrefslogtreecommitdiffstats
path: root/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/ToscaParserUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/ToscaParserUtils.java')
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/ToscaParserUtils.java289
1 files changed, 34 insertions, 255 deletions
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/ToscaParserUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/ToscaParserUtils.java
index be235d03ae..b7eaf99724 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/ToscaParserUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/ToscaParserUtils.java
@@ -20,29 +20,40 @@
package org.openecomp.sdc.ci.tests.utils;
+import static org.testng.AssertJUnit.assertNotNull;
+import static org.testng.AssertJUnit.assertTrue;
+import static org.testng.AssertJUnit.fail;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Map;
+import org.apache.commons.collections4.MapUtils;
import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
-import org.openecomp.sdc.ci.tests.tosca.datatypes.*;
+import org.openecomp.sdc.ci.tests.tosca.datatypes.ToscaDefinition;
+import org.openecomp.sdc.ci.tests.tosca.datatypes.ToscaGroupsTopologyTemplateDefinition;
+import org.openecomp.sdc.ci.tests.tosca.datatypes.ToscaImportsDefinition;
+import org.openecomp.sdc.ci.tests.tosca.datatypes.ToscaInputsTopologyTemplateDefinition;
+import org.openecomp.sdc.ci.tests.tosca.datatypes.ToscaMetadataDefinition;
+import org.openecomp.sdc.ci.tests.tosca.datatypes.ToscaNodeTemplatesTopologyTemplateDefinition;
+import org.openecomp.sdc.ci.tests.tosca.datatypes.ToscaParameterConstants;
+import org.openecomp.sdc.ci.tests.tosca.datatypes.ToscaSubstitutionMappingsDefinition;
+import org.openecomp.sdc.ci.tests.tosca.datatypes.ToscaTopologyTemplateDefinition;
import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
import org.openecomp.sdc.ci.tests.utils.rest.ImportRestUtils;
import org.openecomp.sdc.common.http.client.api.HttpResponse;
-import org.openecomp.sdc.common.util.ZipUtil;
+import org.openecomp.sdc.common.zip.ZipUtils;
+import org.openecomp.sdc.common.zip.exception.ZipException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;
import org.yaml.snakeyaml.introspector.PropertyUtils;
-import java.io.File;
-import java.io.FileInputStream;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.Map;
-
-import static org.testng.AssertJUnit.assertNotNull;
-import static org.testng.AssertJUnit.assertTrue;
-
public class ToscaParserUtils {
private static Logger log = LoggerFactory.getLogger(ToscaParserUtils.class.getName());
@@ -135,10 +146,8 @@ public class ToscaParserUtils {
try {
toscaDefinition = (ToscaDefinition) yaml.load(payload);
} catch (Exception e) {
- log.debug("Failed to parse tosca yaml file");
- log.debug("Exception: " + e);
- System.out.println("Exception: " + e);
- assertTrue("Exception: " + e, false);
+ log.debug("Failed to parse tosca yaml file", e);
+ fail("Exception: " + e);
}
return toscaDefinition;
@@ -155,7 +164,6 @@ public class ToscaParserUtils {
toscaStructure.addTypeDescription(ToscaImportsDefinition.getTypeDescription());
toscaStructure.addTypeDescription(ToscaMetadataDefinition.getTypeDescription());
toscaStructure.addTypeDescription(ToscaInputsTopologyTemplateDefinition.getTypeDescription());
-// toscaStructure.addTypeDescription(ToscaInputsDefinition.getTypeDescription());
// Skip properties which are found in YAML, but not found in POJO
PropertyUtils propertyUtils = new PropertyUtils();
propertyUtils.setSkipMissingProperties(true);
@@ -193,12 +201,10 @@ public class ToscaParserUtils {
}
- public static String getYamlPayloadFromCsar(File csarName, String fileLocation) throws Exception {
-
+ public static String getYamlPayloadFromCsar(File csarName, String fileLocation) throws IOException, ZipException {
Path path = csarName.toPath();
byte[] data = Files.readAllBytes(path);
return getDataFromZipFileByBytes(fileLocation, data);
-
}
/** method get file data from zip data by file location in the zip structure
@@ -206,243 +212,16 @@ public class ToscaParserUtils {
* @param data
* @return
*/
- public static String getDataFromZipFileByBytes(String fileLocation, byte[] data) {
- Map<String, byte[]> readZip = null;
- if (data != null && data.length > 0) {
- readZip = ZipUtil.readZip(data);
-
+ public static String getDataFromZipFileByBytes(String fileLocation, byte[] data) throws ZipException {
+ if (data == null || data.length == 0) {
+ return null;
}
- byte[] artifactsBs = readZip.get(fileLocation);
- String str = new String(artifactsBs, StandardCharsets.UTF_8);
- return str;
- }
-/* public static Map<?, ?> getToscaYamlMap(String csarUUID, String fileLocation) throws Exception {
- String csarPayload = CsarValidationUtils.getCsarPayload(csarUUID, fileLocation);
- if (csarPayload != null) {
- Yaml yaml = new Yaml();
- Map<?, ?> map = (Map<?, ?>) yaml.load(csarPayload);
- return map;
+ final Map<String, byte[]> readZip = ZipUtils.readZip(data, false);
+ if (MapUtils.isEmpty(readZip)) {
+ return null;
}
- return null;
+ byte[] artifactsBytes = readZip.get(fileLocation);
+ return new String(artifactsBytes, StandardCharsets.UTF_8);
}
-
- public static ToscaDefinition getToscaDefinitionObjectByCsarUuid(String csarUUID) throws Exception {
-
- String TOSCAMetaLocation = "TOSCA-Metadata/TOSCA.meta";
- Map<?, ?> map = getToscaYamlMap(csarUUID, TOSCAMetaLocation);
- assertNotNull("Tosca Entry-Definitions is null", map);
- if (map != null) {
- String definitionYamlLocation = (String) map.get("Entry-Definitions");
- Map<?, ?> toscaMap = getToscaYamlMap(csarUUID, definitionYamlLocation);
- assertNotNull("Tosca definition is null", toscaMap);
- if (toscaMap != null) {
- ToscaDefinition toscaDefinition = new ToscaDefinition();
- Set<?> keySet = toscaMap.keySet();
- for (Object key : keySet) {
- ToscaKeysEnum toscaKey = ToscaKeysEnum.findToscaKey((String) key);
- switch (toscaKey) {
- case TOSCA_DEFINITION_VERSION:
- getToscaDefinitionVersion(toscaMap, toscaDefinition);
- break;
- case NODE_TYPES:
- getToscaNodeTypes(toscaMap, toscaDefinition);
- break;
- case TOPOLOGY_TEMPLATE:
- getToscaTopologyTemplate(toscaMap, toscaDefinition);
- break;
- case IMPORTS:
- // toscaMap.get("imports");
- break;
- default:
- break;
- }
- }
- return toscaDefinition;
- }
- }
- return null;
-
- }
-
- public static void getToscaDefinitionVersion(Map<?, ?> toscaMap, ToscaDefinition toscaDefinition) {
- if (toscaMap.get("tosca_definitions_version") != null) {
- toscaDefinition.setTosca_definitions_version((String) toscaMap.get("tosca_definitions_version"));
- }
- }
-
- // spec 90 page
- public static void getToscaNodeTypes(Map<?, ?> toscaMap, ToscaDefinition toscaDefinition) {
- @SuppressWarnings("unchecked")
- Map<String, Map<String, String>> nodeTypes = (Map<String, Map<String, String>>) toscaMap.get("node_types");
- Map<String, ToscaNodeTypesDefinition> listToscaNodeTypes = new HashMap<String, ToscaNodeTypesDefinition>();
- if (nodeTypes != null) {
- for (Map.Entry<String, Map<String, String>> entry : nodeTypes.entrySet()) {
- ToscaNodeTypesDefinition toscaNodeTypes = new ToscaNodeTypesDefinition();
- String toscaNodeName = entry.getKey();
- toscaNodeTypes.setName(toscaNodeName);
-
- Map<String, String> toscaNodeType = entry.getValue();
- if (toscaNodeType != null) {
- Set<Entry<String, String>> entrySet = toscaNodeType.entrySet();
- if (entrySet != null) {
- // boolean found = false;
- for (Entry<String, String> toscaNodeTypeMap : entrySet) {
- String key = toscaNodeTypeMap.getKey();
- if (key.equals("derived_from")) {
- String derivedFrom = toscaNodeTypeMap.getValue();
- toscaNodeTypes.setDerived_from(derivedFrom);
- // found = true;
- break;
- } else {
- continue;
- }
-
- }
- // if (found == false) {
- // System.out.println("Tosca file not valid,
- // derived_from not found");
- // }
- }
-
- }
-// listToscaNodeTypes.add(toscaNodeTypes);
- listToscaNodeTypes.put(toscaNodeName, toscaNodeTypes);
- }
- toscaDefinition.setNode_types(listToscaNodeTypes);
- }
- }
-
- public static void getToscaTopologyTemplate(Map<?, ?> toscaMap, ToscaDefinition toscaDefinition) {
- ToscaTopologyTemplateDefinition toscaTopologyTemplate = new ToscaTopologyTemplateDefinition();
- @SuppressWarnings("unchecked")
- Map<String, Map<String, Object>> topologyTemplateMap = (Map<String, Map<String, Object>>) toscaMap.get("topology_template");
-// List<ToscaNodeTemplatesTopologyTemplateDefinition> listToscaNodeTemplates = new ArrayList<>();
- Map<String,ToscaNodeTemplatesTopologyTemplateDefinition> mapToscaNodeTemplates = new HashMap<String, ToscaNodeTemplatesTopologyTemplateDefinition>();
-
- if (topologyTemplateMap != null) {
- getToscaNodeTemplates(topologyTemplateMap, mapToscaNodeTemplates);
- }
-// toscaTopologyTemplate.setToscaNodeTemplatesTopologyTemplateDefinition(listToscaNodeTemplates);
- toscaTopologyTemplate.setNode_templates(mapToscaNodeTemplates);
- toscaDefinition.setTopology_template(toscaTopologyTemplate);
- }
-
- public static void getToscaNodeTemplates(Map<String, Map<String, Object>> topologyTemplateMap, Map<String,ToscaNodeTemplatesTopologyTemplateDefinition> mapToscaNodeTemplates) {
- Map<String, Object> nodeTemplatesMap = topologyTemplateMap.get("node_templates");
- if (nodeTemplatesMap != null) {
-
- for (Entry<String, Object> nodeTemplates : nodeTemplatesMap.entrySet()) {
- ToscaNodeTemplatesTopologyTemplateDefinition toscaNodeTemplates = new ToscaNodeTemplatesTopologyTemplateDefinition();
- getToscaNodeTemplatesName(nodeTemplates, toscaNodeTemplates);
-
- @SuppressWarnings("unchecked")
- Map<String, Object> node = (Map<String, Object>) nodeTemplates.getValue();
- getNodeTemplatesType(toscaNodeTemplates, node);
- getToscaNodeTemplateProperties(toscaNodeTemplates, node);
- getToscaNodeTemplateRequirements(toscaNodeTemplates, node);
- mapToscaNodeTemplates.putAll(mapToscaNodeTemplates);
- }
- }
- }
-
- public static void getToscaNodeTemplateRequirements(ToscaNodeTemplatesTopologyTemplateDefinition toscaNodeTemplates, Map<String, Object> node) {
-//// List<ToscaRequirementsNodeTemplatesDefinition> toscaRequirements = new ArrayList<>();
-// List<Map<String, ToscaRequirementsNodeTemplatesDefinition>> toscaRequirements = new ArrayList<>();
-// if (node.get("requirements") != null) {
-// @SuppressWarnings("unchecked")
-// List<Map<String, Object>> requirementList = (List<Map<String, Object>>) node.get("requirements");
-// for (int i = 0; i < requirementList.size(); i++) {
-// for (Map.Entry<String, Object> requirement : requirementList.get(i).entrySet()) {
-// ToscaRequirementsNodeTemplatesDefinition toscaRequirement = new ToscaRequirementsNodeTemplatesDefinition();
-// if (requirement.getKey() != null) {
-// String requirementName = requirement.getKey();
-// toscaRequirement.setName(requirementName);
-// } else {
-// log.debug("Tosca file not valid, requirements should contain name");
-// }
-//
-// @SuppressWarnings("unchecked")
-// Map<String, String> requirementMap = (Map<String, String>) requirement.getValue();
-// Set<Entry<String, String>> entrySet = requirementMap.entrySet();
-// if (entrySet != null) {
-// for (Entry<String, String> requirementField : entrySet) {
-// String key = requirementField.getKey();
-// switch (key) {
-// case "capability":
-// if (requirementMap.get(key) != null) {
-// String capability = (String) requirementMap.get(key);
-// toscaRequirement.setCapability(capability);
-// break;
-// } else {
-// continue;
-// }
-// case "node":
-// if (requirementMap.get(key) != null) {
-// String requirementNode = (String) requirementMap.get(key);
-// toscaRequirement.setNode(requirementNode);
-// break;
-// } else {
-// continue;
-// }
-// case "relationship":
-// if (requirementMap.get(key) != null) {
-// String relationship = (String) requirementMap.get(key);
-// toscaRequirement.setRelationship(relationship);
-// break;
-// } else {
-// continue;
-// }
-// default:
-// break;
-// }
-// }
-// }
-//// toscaRequirements.add(toscaRequirement);
-// toscaRequirements.add(requirementMap);
-// }
-// }
-// }
-//// toscaNodeTemplates.setRequirements(toscaRequirements);
-// toscaNodeTemplates.setRequirements(requirements);
-
- }
-
- public static void getToscaNodeTemplateProperties(ToscaNodeTemplatesTopologyTemplateDefinition toscaNodeTemplates,
- Map<String, Object> node) {
-// List<ToscaPropertiesNodeTemplatesDefinition> listToscaProperties = new ArrayList<>();
- Map<String, Object> mapToscaProperties = new HashMap<>();
- if (node.get("properties") != null) {
- @SuppressWarnings("unchecked")
- Map<String, Object> properties = (Map<String, Object>) node.get("properties");
- for (Map.Entry<String, Object> property : properties.entrySet()) {
- ToscaPropertiesNodeTemplatesDefinition toscaProperty = new ToscaPropertiesNodeTemplatesDefinition();
- String propertyName = property.getKey();
- Object propertyValue = property.getValue();
- toscaProperty.setName(propertyName);
- toscaProperty.setValue(propertyValue);
-// mapToscaProperties.add(toscaProperty);
- mapToscaProperties.put(propertyName, propertyValue);
- }
- }
- toscaNodeTemplates.setProperties(mapToscaProperties);
- }
-
- protected static void getNodeTemplatesType(ToscaNodeTemplatesTopologyTemplateDefinition toscaNodeTemplates,
- Map<String, Object> node) {
- if (node.get("type") != null) {
- String type = (String) node.get("type");
- toscaNodeTemplates.setType(type);
- } else {
- log.debug("Tosca file not valid, nodeTemplate should contain type");
- }
- }
-
- protected static void getToscaNodeTemplatesName(Entry<String, Object> nodeTemplates,
- ToscaNodeTemplatesTopologyTemplateDefinition toscaNodeTemplates) {
- String name = nodeTemplates.getKey();
- toscaNodeTemplates.setName(name);
- }*/
-
-
}