aboutsummaryrefslogtreecommitdiffstats
path: root/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils
diff options
context:
space:
mode:
Diffstat (limited to 'test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils')
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/CsarToscaTester.java61
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/DbUtils.java21
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/DistributionUtils.java124
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/ReqCap.java8
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/ToscaParserUtils.java3
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/cassandra/CassandraUtils.java21
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/cassandra/CassandraUtils2.java20
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/AtomicOperationUtils.java129
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/Convertor.java3
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/ElementFactory.java58
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/FileHandling.java68
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/ImportUtils.java6
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/OnboardingUtillViaApis.java87
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/OnboardingUtils.java595
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/SnmpTypeEnum.java50
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/SnmpTypeEnum.java~release_1802E88
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/AssetRestUtils.java6
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/CatalogRestUtils.java3
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ConsumerRestUtils.java1
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ImportRestUtils.java1
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ProductRestUtils.java4
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/PropertyRestUtils.java30
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ResourceRestUtils.java4
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ResourceRestUtilsExternalAPI.java1
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ResponseParser.java41
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/ArtifactValidationUtils.java2
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/AuditValidationUtils.java34
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/BaseValidationUtils.java1
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/CategoryValidationUtils.java3
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/CsarValidationUtils.java11
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/ErrorValidationUtils.java2
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/ServiceValidationUtils.java3
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/UserValidationUtils.java2
33 files changed, 1006 insertions, 485 deletions
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/CsarToscaTester.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/CsarToscaTester.java
index afdfa43d94..a464eb1bdf 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/CsarToscaTester.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/CsarToscaTester.java
@@ -1,5 +1,11 @@
package org.openecomp.sdc.ci.tests.utils;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
import org.openecomp.sdc.tosca.parser.api.ISdcCsarHelper;
import org.openecomp.sdc.tosca.parser.exceptions.SdcToscaParserException;
import org.openecomp.sdc.tosca.parser.impl.SdcToscaParserFactory;
@@ -8,63 +14,8 @@ import org.openecomp.sdc.toscaparser.api.Group;
import org.openecomp.sdc.toscaparser.api.NodeTemplate;
import org.openecomp.sdc.toscaparser.api.elements.Metadata;
import org.openecomp.sdc.toscaparser.api.parameters.Input;
-import org.openecomp.sdc.toscaparser.api.utils.ThreadLocalsHolder;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
public class CsarToscaTester {
- public static void main(String[] args) throws Exception {
- System.out.println("CsarToscaParser - path to CSAR's Directory is " + Arrays.toString(args));
- SdcToscaParserFactory factory = SdcToscaParserFactory.getInstance();
-
- File folder = new File(args[0]);
- File[] listOfFiles = folder.listFiles();
- Date now = new Date();
- SimpleDateFormat dateFormat = new SimpleDateFormat("d-MM-y-HH_mm_ss");
- String time = dateFormat.format(now);
- String csarsDir = args[1] + "/csar-reports-" + time;
- File dir = new File(csarsDir);
- dir.mkdir();
-
-
- for (File file : listOfFiles) {
- if (file.isFile()) {
- System.out.println("File " + file.getAbsolutePath());
- String name = file.getName();
- String currentCsarDir = csarsDir+"/"+name+"-"+time;
- dir = new File(currentCsarDir);
- dir.mkdir();
- try {
- processCsar(factory, file);
- } catch (SdcToscaParserException e){
- System.out.println("SdcToscaParserException caught. Code: "+e.getCode()+", message: "+ e.getMessage());
- }
- List<String> notAnalyzedReport = ThreadLocalsHolder.getCollector().getNotAnalyzedExceptionsReport();
- System.out.println("NOT ANALYZED during CSAR parsing are: " + (notAnalyzedReport != null ? notAnalyzedReport.toString() : "none"));
- List<String> warningsReport = ThreadLocalsHolder.getCollector().getWarningsReport();
- //System.out.println("WARNINGS during CSAR parsing are: " + (warningsReport != null ? warningsReport.toString() : "none"));
- List<String> criticalsReport = ThreadLocalsHolder.getCollector().getCriticalsReport();
- System.out.println("CRITICALS during CSAR parsing are: " + (criticalsReport != null ? criticalsReport.toString() : "none"));
-
- try {
- generateReport(time, name, currentCsarDir, criticalsReport, "critical");
- generateReport(time, name, currentCsarDir, warningsReport, "warning");
- generateReport(time, name, currentCsarDir, notAnalyzedReport, "notAnalyzed");
-
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- }
-
- }
- }
public static void processCsar(SdcToscaParserFactory factory, File file) throws SdcToscaParserException {
ISdcCsarHelper sdcCsarHelper = factory.getSdcCsarHelper(file.getAbsolutePath());
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/DbUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/DbUtils.java
index 8e611a32d7..16266fb03f 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/DbUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/DbUtils.java
@@ -29,7 +29,15 @@ import java.util.Map.Entry;
import java.util.Set;
import org.apache.tinkerpop.gremlin.structure.Edge;
+import org.apache.tinkerpop.gremlin.structure.Element;
import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.util.ElementHelper;
+import org.openecomp.sdc.ci.tests.api.Urls;
+import org.openecomp.sdc.ci.tests.config.Config;
+import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
+import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
+import org.openecomp.sdc.ci.tests.users.UserAuditJavaObject;
+import org.openecomp.sdc.ci.tests.utils.cassandra.CassandraUtils;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
@@ -43,19 +51,6 @@ import com.thinkaurelius.titan.core.TitanVertex;
import fj.data.Either;
-import org.apache.tinkerpop.gremlin.structure.Direction;
-import org.apache.tinkerpop.gremlin.structure.Edge;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.apache.tinkerpop.gremlin.structure.util.ElementHelper;
-import org.openecomp.sdc.ci.tests.api.Urls;
-import org.openecomp.sdc.ci.tests.config.Config;
-import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
-import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
-import org.openecomp.sdc.ci.tests.users.UserAuditJavaObject;
-import org.openecomp.sdc.ci.tests.utils.cassandra.CassandraUtils;
-import org.apache.tinkerpop.gremlin.structure.Element;
-import org.apache.tinkerpop.gremlin.structure.Property;
-
public class DbUtils {
private static String titanConfigFilePath;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/DistributionUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/DistributionUtils.java
index 4838d55a3d..35c25b7157 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/DistributionUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/DistributionUtils.java
@@ -29,17 +29,30 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import org.codehaus.jettison.json.JSONArray;
+import org.codehaus.jettison.json.JSONException;
+import org.codehaus.jettison.json.JSONObject;
import org.openecomp.sdc.be.model.ArtifactDefinition;
import org.openecomp.sdc.be.model.ComponentInstance;
import org.openecomp.sdc.be.model.Service;
+import org.openecomp.sdc.be.model.User;
+import org.openecomp.sdc.ci.tests.api.Urls;
+import org.openecomp.sdc.ci.tests.config.Config;
+import org.openecomp.sdc.ci.tests.datatypes.DistributionMonitorObject;
import org.openecomp.sdc.ci.tests.datatypes.ServiceDistributionStatus;
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.ElementFactory;
+import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
import org.openecomp.sdc.ci.tests.utils.rest.ServiceRestUtils;
+//import org.openecomp.sdc.be.components.distribution.engine.DistributionStatusNotificationEnum;
- public class DistributionUtils {
+import com.clearspring.analytics.util.Pair;
+import com.google.gson.Gson;
+
+
+ public class DistributionUtils extends BaseRestUtils{
final static String serviceDistributionSuffix = "/sdc/v1/catalog/services/";
@@ -140,5 +153,112 @@ import org.openecomp.sdc.ci.tests.utils.rest.ServiceRestUtils;
return distributionArtifactMap;
}
-
+
+
+ public static RestResponse getDistributionStatus(User sdncModifierDetails, String distributionId) throws IOException {
+
+ Config config = Utils.getConfig();
+ String url = String.format(Urls.DISTRIBUTION_SERVICE_MONITOR, config.getCatalogBeHost(), config.getCatalogBePort(), distributionId);
+ return sendGet(url, sdncModifierDetails.getUserId());
+
+ }
+
+
+ /**
+ * @param response
+ * @return parsed distribution list of DistributionMonitorObject java objects
+ * @throws JSONException
+ */
+ public static Map<String, List<DistributionMonitorObject>> getSortedDistributionStatus(RestResponse response) throws JSONException{
+
+ ArrayList<DistributionMonitorObject> distributionStatusList = new ArrayList<DistributionMonitorObject>();
+ String responseString = response.getResponse();
+ JSONObject jObject;
+ JSONArray jsonArray = null;
+ jObject = new JSONObject(responseString);
+ jsonArray = jObject.getJSONArray("distributionStatusList");
+
+ Gson gson = new Gson();
+ for(int i=0; i<jsonArray.length(); i++){
+ String jsonElement = jsonArray.get(i).toString();
+ DistributionMonitorObject distributionStatus = gson.fromJson(jsonElement, DistributionMonitorObject.class);
+ distributionStatusList.add(distributionStatus);
+ }
+ Map<String, List<DistributionMonitorObject>> sortedDistributionMapByConsumer = sortDistributionStatusByConsumer(distributionStatusList);
+
+ return sortedDistributionMapByConsumer;
+ }
+
+ /**
+ * @param distributionStatusList
+ * @return sorted distribution map where key is consumer name and value contains list of corresponded DistributionMonitorObject java object
+ */
+ public static Map<String, List<DistributionMonitorObject>> sortDistributionStatusByConsumer(ArrayList<DistributionMonitorObject> distributionStatusList) {
+ // sort distribution status list per consumer
+ Map<String, List<DistributionMonitorObject>> distributionStatusMapByConsumer = new HashMap<String, List<DistributionMonitorObject>>();
+ for(DistributionMonitorObject distributionListElement : distributionStatusList){
+ String key = distributionListElement.getOmfComponentID();
+ List<DistributionMonitorObject> list = new ArrayList<>();
+ if(distributionStatusMapByConsumer.get(key) != null){
+ list = distributionStatusMapByConsumer.get(key);
+ list.add(distributionListElement);
+ distributionStatusMapByConsumer.put(key, list);
+ }else{
+ list.add(distributionListElement);
+ distributionStatusMapByConsumer.put(key, list);
+ }
+
+ }
+ return distributionStatusMapByConsumer;
+ }
+
+
+ /**
+ * @param pair
+ * @return consumer Status map: if map is empty - all consumers successes download and deploy the artifacts,
+ * else - return failed consumer status per url
+ */
+ public static Pair<Boolean, Map<String, List<String>>> verifyDistributionStatus(Map<String, List<DistributionMonitorObject>> map){
+
+ Map<String, List<String>> consumerStatusMap = new HashMap<>();
+ List<Boolean> flag = new ArrayList<>();
+ for (Entry<String, List<DistributionMonitorObject>> distributionMonitor : map.entrySet()){
+ int notifiedCount = 0, downloadCount = 0, deployCount = 0;
+ List<String> failedList = new ArrayList<>();
+ List<DistributionMonitorObject> listValue = distributionMonitor.getValue();
+ for(DistributionMonitorObject distributionStatus : listValue){
+ String status = distributionStatus.getStatus();
+ switch (status) {
+ case "NOTIFIED": notifiedCount++;
+ break;
+ case "NOT_NOTIFIED":
+ break;
+ case "DOWNLOAD_OK": downloadCount++;
+ break;
+ case "DEPLOY_OK": deployCount++;
+ break;
+ default:
+ failedList.add("Url " + distributionStatus.getUrl() + " failed with status " + distributionStatus.getStatus());
+ break;
+ }
+ }
+ if((notifiedCount != downloadCount || notifiedCount != deployCount) && notifiedCount != 0){
+ consumerStatusMap.put(distributionMonitor.getKey(), failedList);
+ flag.add(false);
+ }
+ if(notifiedCount == 0){
+ flag.add(true);
+ }
+ }
+
+ if(!flag.contains(false)){
+ return Pair.create(true, consumerStatusMap);
+ }else{
+ return Pair.create(false, consumerStatusMap);
+ }
+
+ }
+
+
+
}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/ReqCap.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/ReqCap.java
index 3f000d750a..9ac02a0092 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/ReqCap.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/ReqCap.java
@@ -31,8 +31,8 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-import java.util.function.Function;
import java.util.Set;
+import java.util.function.Function;
import java.util.stream.Collectors;
import org.apache.commons.lang3.tuple.ImmutablePair;
@@ -42,7 +42,7 @@ import org.openecomp.sdc.be.model.CapabilityDefinition;
import org.openecomp.sdc.be.model.Component;
import org.openecomp.sdc.be.model.ComponentInstance;
import org.openecomp.sdc.be.model.Product;
-import org.openecomp.sdc.be.model.RequirementAndRelationshipPair;
+import org.openecomp.sdc.be.model.RelationshipInfo;
import org.openecomp.sdc.be.model.RequirementCapabilityRelDef;
import org.openecomp.sdc.be.model.RequirementDefinition;
import org.openecomp.sdc.be.model.Resource;
@@ -580,7 +580,7 @@ public class ReqCap {
private static void deleteAssociatedFromExpected(RequirementCapabilityRelDef requirementDef) {
// removing from requirements
- RequirementAndRelationshipPair relationship = requirementDef.getRelationships().get(0);
+ RelationshipInfo relationship = requirementDef.getRelationships().get(0).getRelation();
String type = relationship.getRelationship().getType();
String fromId = requirementDef.getFromNode();
List<RequirementDefinition> reqList = expectedContainerRequirements.get(type);
@@ -612,7 +612,7 @@ public class ReqCap {
private static void addDissociatedToExpected(RequirementCapabilityRelDef requirementDef) {
// adding to requirements
- RequirementAndRelationshipPair relationship = requirementDef.getRelationships().get(0);
+ RelationshipInfo relationship = requirementDef.getRelationships().get(0).getRelation();
String type = relationship.getRelationship().getType();
String fromId = requirementDef.getFromNode();
String key = type + " " + fromId;
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 5926798ceb..0c193ad13c 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
@@ -143,7 +143,9 @@ public class ToscaParserUtils {
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);
}
return toscaDefinition;
@@ -160,6 +162,7 @@ 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);
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/cassandra/CassandraUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/cassandra/CassandraUtils.java
index e89c6be5df..bd1066a662 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/cassandra/CassandraUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/cassandra/CassandraUtils.java
@@ -20,10 +20,10 @@
package org.openecomp.sdc.ci.tests.utils.cassandra;
-import com.datastax.driver.core.*;
-import com.datastax.driver.core.querybuilder.QueryBuilder;
-import com.datastax.driver.core.querybuilder.Select;
-import com.datastax.driver.core.querybuilder.Select.Where;
+import java.io.FileNotFoundException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
import org.javatuples.Pair;
import org.openecomp.sdc.be.resources.data.auditing.AuditingTypesConstants;
@@ -32,10 +32,15 @@ import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.FileNotFoundException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
+import com.datastax.driver.core.Cluster;
+import com.datastax.driver.core.KeyspaceMetadata;
+import com.datastax.driver.core.Metadata;
+import com.datastax.driver.core.Row;
+import com.datastax.driver.core.Session;
+import com.datastax.driver.core.TableMetadata;
+import com.datastax.driver.core.querybuilder.QueryBuilder;
+import com.datastax.driver.core.querybuilder.Select;
+import com.datastax.driver.core.querybuilder.Select.Where;
public final class CassandraUtils {
private static Logger logger = LoggerFactory.getLogger(CassandraUtils.class.getName());
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/cassandra/CassandraUtils2.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/cassandra/CassandraUtils2.java
index 024389609d..8381bbdd21 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/cassandra/CassandraUtils2.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/cassandra/CassandraUtils2.java
@@ -20,10 +20,10 @@
package org.openecomp.sdc.ci.tests.utils.cassandra;
-import com.datastax.driver.core.*;
-import com.datastax.driver.core.querybuilder.QueryBuilder;
-import com.datastax.driver.core.querybuilder.Select;
-import com.datastax.driver.core.querybuilder.Select.Where;
+import java.io.FileNotFoundException;
+import java.util.Collection;
+import java.util.List;
+
import org.javatuples.Pair;
import org.openecomp.sdc.be.resources.data.auditing.AuditingTypesConstants;
import org.openecomp.sdc.ci.tests.utils.Utils;
@@ -31,9 +31,15 @@ import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.FileNotFoundException;
-import java.util.Collection;
-import java.util.List;
+import com.datastax.driver.core.Cluster;
+import com.datastax.driver.core.KeyspaceMetadata;
+import com.datastax.driver.core.Metadata;
+import com.datastax.driver.core.Row;
+import com.datastax.driver.core.Session;
+import com.datastax.driver.core.TableMetadata;
+import com.datastax.driver.core.querybuilder.QueryBuilder;
+import com.datastax.driver.core.querybuilder.Select;
+import com.datastax.driver.core.querybuilder.Select.Where;
public final class CassandraUtils2 {
private static Logger logger = LoggerFactory.getLogger(CassandraUtils2.class.getName());
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/AtomicOperationUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/AtomicOperationUtils.java
index 58ab9f353e..56c350f471 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/AtomicOperationUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/AtomicOperationUtils.java
@@ -29,16 +29,16 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
-
-import javax.xml.bind.helpers.AbstractUnmarshallerImpl;
-import javax.xml.ws.Response;
+import java.util.Map.Entry;
+import java.util.concurrent.TimeUnit;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.tuple.Pair;
-import org.aspectj.apache.bcel.classfile.Code;
import org.json.JSONException;
import org.openecomp.sdc.be.datatypes.elements.ConsumerDataDefinition;
+import org.openecomp.sdc.be.datatypes.enums.AssetTypeEnum;
import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
import org.openecomp.sdc.be.model.ArtifactDefinition;
@@ -50,14 +50,18 @@ import org.openecomp.sdc.be.model.Product;
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.ci.tests.api.ComponentBaseTest;
+import org.openecomp.sdc.ci.tests.api.ExtentTestActions;
import org.openecomp.sdc.ci.tests.api.Urls;
import org.openecomp.sdc.ci.tests.config.Config;
import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails;
import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails;
+import org.openecomp.sdc.ci.tests.datatypes.DistributionMonitorObject;
import org.openecomp.sdc.ci.tests.datatypes.ImportReqDetails;
import org.openecomp.sdc.ci.tests.datatypes.ProductReqDetails;
import org.openecomp.sdc.ci.tests.datatypes.PropertyReqDetails;
import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
+import org.openecomp.sdc.ci.tests.datatypes.ServiceDistributionStatus;
import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
@@ -69,8 +73,11 @@ import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum;
import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
+import org.openecomp.sdc.ci.tests.utils.CsarToscaTester;
+import org.openecomp.sdc.ci.tests.utils.DistributionUtils;
import org.openecomp.sdc.ci.tests.utils.Utils;
import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
+import org.openecomp.sdc.ci.tests.utils.rest.AssetRestUtils;
import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
import org.openecomp.sdc.ci.tests.utils.rest.ComponentInstanceRestUtils;
import org.openecomp.sdc.ci.tests.utils.rest.ConsumerRestUtils;
@@ -81,8 +88,11 @@ import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
import org.openecomp.sdc.ci.tests.utils.rest.ServiceRestUtils;
import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
+import org.openecomp.sdc.tosca.parser.api.ISdcCsarHelper;
+import org.openecomp.sdc.tosca.parser.impl.SdcToscaParserFactory;
import org.testng.SkipException;
+import com.aventstack.extentreports.Status;
import com.google.gson.Gson;
import fj.data.Either;
@@ -194,6 +204,25 @@ public final class AtomicOperationUtils {
return Either.right(resourceResp);
}
+ public static Either<Resource, RestResponse> updateResource(ResourceReqDetails resourceReqDetails, User defaultUser, Boolean validateState) {
+ try {
+
+ RestResponse resourceResp = ResourceRestUtils.updateResource(resourceReqDetails, defaultUser, resourceReqDetails.getUniqueId());
+
+ if (validateState) {
+ assertTrue(resourceResp.getErrorCode() == ResourceRestUtils.STATUS_CODE_SUCCESS);
+ }
+
+ if (resourceResp.getErrorCode() == ResourceRestUtils.STATUS_CODE_SUCCESS) {
+ Resource resourceResponseObject = ResponseParser.convertResourceResponseToJavaObject(resourceResp.getResponse());
+ return Either.left(resourceResponseObject);
+ }
+ return Either.right(resourceResp);
+ } catch (Exception e) {
+ throw new AtomicOperationException(e);
+ }
+ }
+
// *********** SERVICE ****************
public static Either<Service, RestResponse> createDefaultService(UserRoleEnum userRole, Boolean validateState) throws Exception {
@@ -361,7 +390,7 @@ public final class AtomicOperationUtils {
RestResponse distributionService = null;
RestResponse approveDistribution = LifecycleRestUtils.changeDistributionStatus(serviceDetails, null, governotUser, "approveService", DistributionStatusEnum.DISTRIBUTION_APPROVED);
- if (approveDistribution.getErrorCode() == 200) {
+ if (approveDistribution.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS) {
distributionService = LifecycleRestUtils.changeDistributionStatus(serviceDetails, null, opsUser, "approveService", DistributionStatusEnum.DISTRIBUTED);
}
@@ -375,6 +404,19 @@ public final class AtomicOperationUtils {
}
+
+ public static void toscaValidation(Component component, String vnfFile) throws Exception {
+
+ ISdcCsarHelper fdntCsarHelper;
+ SdcToscaParserFactory factory = SdcToscaParserFactory.getInstance();
+ File csarFile = AssetRestUtils.getToscaModelCsarFile(AssetTypeEnum.SERVICES, component.getUUID() , vnfFile);
+ ExtentTestActions.log(Status.INFO, "Tosca parser is going to convert service csar file to ISdcCsarHelper object...");
+ fdntCsarHelper = factory.getSdcCsarHelper(csarFile.getAbsolutePath());
+ CsarToscaTester.processCsar(fdntCsarHelper);
+ ExtentTestActions.log(Status.INFO, String.format("Tosca parser successfully parsed service CSAR"));
+
+ }
+
// *********** ARTIFACTS *****************
public static Either<ArtifactDefinition, RestResponse> uploadArtifactByType(ArtifactTypeEnum artifactType, Component component, UserRoleEnum userRole, Boolean deploymentTrue, Boolean validateState) throws Exception {
@@ -769,13 +811,88 @@ public final class AtomicOperationUtils {
}
HttpRequest http = new HttpRequest();
RestResponse response = http.httpSendGet(url, headersMap);
- if (response.getErrorCode() != 200 && response.getResponse().getBytes() == null && response.getResponse().getBytes().length == 0) {
+ if (response.getErrorCode() != BaseRestUtils.STATUS_CODE_SUCCESS && response.getResponse().getBytes() == null && response.getResponse().getBytes().length == 0) {
return Either.right(response);
}
return Either.left(response.getResponse());
}
+ public static RestResponse getDistributionStatusByDistributionId(String distributionId ,Boolean validateState) {
+
+ try {
+ User defaultUser = ElementFactory.getDefaultUser(UserRoleEnum.OPS);
+ RestResponse response = DistributionUtils.getDistributionStatus(defaultUser, distributionId);
+
+ if (validateState) {
+ assertTrue(response.getErrorCode() == ResourceRestUtils.STATUS_CODE_SUCCESS);
+ }
+ return response;
+
+ } catch (Exception e) {
+ throw new AtomicOperationException(e);
+ }
+ }
+
+ public static Either <RestResponse, Map<String, List<DistributionMonitorObject>>> getSortedDistributionStatusMap(Service service ,Boolean validateState) {
+
+ try {
+ ServiceDistributionStatus serviceDistributionObject = DistributionUtils.getLatestServiceDistributionObject(service);
+ RestResponse response = getDistributionStatusByDistributionId(serviceDistributionObject.getDistributionID(), true);
+
+ if(validateState) {
+ assertTrue(response.getErrorCode() == ResourceRestUtils.STATUS_CODE_SUCCESS);
+ }
+ if(response.getErrorCode() == ResourceRestUtils.STATUS_CODE_SUCCESS){
+ Map<String, List<DistributionMonitorObject>> parsedDistributionStatus = DistributionUtils.getSortedDistributionStatus(response);
+ return Either.right(parsedDistributionStatus);
+ }
+ return Either.left(response);
+ } catch (Exception e) {
+ throw new AtomicOperationException(e);
+ }
+
+ }
+ /**
+ * @param service
+ * @param pollingCount
+ * @param pollingInterval
+ * Recommended values for service distribution for pollingCount is 4 and for pollingInterval is 15000ms
+ * @throws Exception
+ */
+ public static Boolean distributeAndValidateService(Service service, int pollingCount, int pollingInterval) throws Exception {
+
+ Boolean statusFlag = true;
+ AtomicOperationUtils.distributeService(service, true);
+ TimeUnit.MILLISECONDS.sleep(pollingInterval);
+ int timeOut = pollingCount * pollingInterval;
+ while (timeOut > 0) {
+ Map<String,List<DistributionMonitorObject>> sortedDistributionStatusMap = AtomicOperationUtils.getSortedDistributionStatusMap(service, true).right().value();
+ com.clearspring.analytics.util.Pair<Boolean,Map<String,List<String>>> verifyDistributionStatus = DistributionUtils.verifyDistributionStatus(sortedDistributionStatusMap);
+ if(verifyDistributionStatus.left.equals(false)){
+ if((verifyDistributionStatus.right != null && ! verifyDistributionStatus.right.isEmpty()) && timeOut == 0){
+ for(Entry<String, List<String>> entry : verifyDistributionStatus.right.entrySet()){
+ if(ComponentBaseTest.getExtendTest() != null){
+ ComponentBaseTest.getExtendTest().log(Status.INFO, "Consumer: " + entry.getKey() + " failed on following: "+ entry.getValue());
+ statusFlag = false;
+ }else{
+ System.out.println("Consumer: " + entry.getKey() + " failed on following: "+ entry.getValue());
+ }
+ }
+ }
+ TimeUnit.MILLISECONDS.sleep(pollingInterval);
+ timeOut-=pollingInterval;
+ }else {
+ timeOut = 0;
+ }
+ }
+ return statusFlag;
+ }
+
+ public static Boolean distributeAndValidateService(Service service) throws Exception {
+ return distributeAndValidateService(service, 6, 10000);
+ }
+
}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/Convertor.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/Convertor.java
index 619d279b62..cbae462d80 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/Convertor.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/Convertor.java
@@ -29,7 +29,6 @@ import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.openecomp.sdc.be.dao.api.ActionStatus;
-import org.openecomp.sdc.be.model.DistributionStatusEnum;
import org.openecomp.sdc.be.model.LifecycleStateEnum;
import org.openecomp.sdc.be.model.Product;
import org.openecomp.sdc.be.model.User;
@@ -40,12 +39,10 @@ import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
import org.openecomp.sdc.ci.tests.datatypes.ResourceRespJavaObject;
import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo;
-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.expected.ExpectedProductAudit;
import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject;
import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedUserCRUDAudit;
-import org.openecomp.sdc.ci.tests.utils.Utils;
import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
import org.openecomp.sdc.common.api.Constants;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/ElementFactory.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/ElementFactory.java
index ddca429f2c..8224f08018 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/ElementFactory.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/ElementFactory.java
@@ -33,10 +33,11 @@ import org.openecomp.sdc.be.datatypes.enums.AssetTypeEnum;
import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
import org.openecomp.sdc.be.model.ArtifactDefinition;
import org.openecomp.sdc.be.model.CapabilityDefinition;
+import org.openecomp.sdc.be.model.CapabilityRequirementRelationship;
import org.openecomp.sdc.be.model.Component;
import org.openecomp.sdc.be.model.LifecycleStateEnum;
import org.openecomp.sdc.be.model.RelationshipImpl;
-import org.openecomp.sdc.be.model.RequirementAndRelationshipPair;
+import org.openecomp.sdc.be.model.RelationshipInfo;
import org.openecomp.sdc.be.model.RequirementCapabilityRelDef;
import org.openecomp.sdc.be.model.RequirementDefinition;
import org.openecomp.sdc.be.model.Resource;
@@ -80,6 +81,20 @@ public class ElementFactory {
private static final String RESOURCE_INSTANCE_POS_X = "20";
private static final String RESOURCE_INSTANCE_POS_Y = "20";
private static final String RESOURCE_INSTANCE_DESCRIPTION = "description";
+
+ // *** Getters ***
+
+ public static String getServicePrefix() {
+ return CI_SERVICE;
+ }
+
+ public static String getResourcePrefix() {
+ return CI_RES;
+ }
+
+ public static String getProductPrefix() {
+ return CI_PRODUCT;
+ }
// *** RESOURCE ***
@@ -149,6 +164,7 @@ public class ElementFactory {
String icon = "defaulticon";
ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon);
resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
+ resourceDetails.setResourceVendorModelNumber("vendorNumber-1.5.7");
return resourceDetails;
@@ -196,9 +212,15 @@ public class ElementFactory {
String icon = "defaulticon";
ResourceReqDetails resourceDetails = new ResourceReqDetails(resourceName, description, resourceTags, null, derivedFrom, vendorName, vendorRelease, contactId, icon, resourceType.toString());
resourceDetails.addCategoryChain(category.getCategory(), category.getSubCategory());
+ resourceDetails.setResourceVendorModelNumber("vendorNumber-1.5.7");
return resourceDetails;
}
-
+
+ public static ResourceReqDetails getRandomCategoryResource() {
+ ResourceReqDetails resourceDetails = getDefaultResource(ResourceCategoryEnum.getRandomElement());
+ return resourceDetails;
+ }
+
public static ResourceExternalReqDetails getDefaultResourceByType(String resourceName, ResourceCategoryEnum category, String contactId, String resourceType) {
resourceName = (resourceName + resourceType + generateUUIDforSufix());
String description = "Represents a generic software component that can be managed and run by a Compute Node Type.";
@@ -278,7 +300,7 @@ public class ElementFactory {
return getDefaultService(CI_SERVICE, ServiceCategoriesEnum.MOBILITY, user.getUserId());
}
- public static ServiceReqDetails getService(ServiceCategoriesEnum category) {
+ public static ServiceReqDetails getServiceByCategory(ServiceCategoriesEnum category) {
return getDefaultService(CI_SERVICE, category, "al1976");
}
@@ -300,6 +322,11 @@ public class ElementFactory {
return serviceDetails;
}
+ public static ServiceReqDetails getRandomCategoryService() {
+ ServiceReqDetails serviceReqDetails = getServiceByCategory(ServiceCategoriesEnum.getRandomElement());
+ return serviceReqDetails;
+ }
+
// ***** PROPERTY ***
public static PropertyReqDetails getDefaultProperty() {
@@ -851,7 +878,6 @@ public class ElementFactory {
try {
errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_CATEGORY_NOT_FOUND.name());
} catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
String desc = (errorInfo.getMessageId() + ": " + errorInfo.getMessage()).replace("%2", "category").replace("%3", category).replace("%1", "resource");
@@ -964,17 +990,19 @@ public class ElementFactory {
RequirementCapabilityRelDef requirementDef = new RequirementCapabilityRelDef();
requirementDef.setFromNode(fromCompInstId);
requirementDef.setToNode(toCompInstId);
- RequirementAndRelationshipPair pair = new RequirementAndRelationshipPair();
- pair.setRequirementOwnerId(reqOwnerId);
- pair.setCapabilityOwnerId(capOwnerId);
- pair.setRequirement(reqCapName);
- RelationshipImpl relationship = new RelationshipImpl();
- relationship.setType(capType);
- pair.setRelationships(relationship);
- pair.setCapabilityUid(capList.get(0).getUniqueId());
- pair.setRequirementUid(reqList.get(0).getUniqueId());
- List<RequirementAndRelationshipPair> relationships = new ArrayList<>();
- relationships.add(pair);
+ RelationshipInfo relationInfo = new RelationshipInfo();
+ relationInfo.setRequirementOwnerId(reqOwnerId);
+ relationInfo.setCapabilityOwnerId(capOwnerId);
+ relationInfo.setRequirement(reqCapName);
+ RelationshipImpl relationImpl = new RelationshipImpl();
+ relationImpl.setType(capType);
+ relationInfo.setRelationships(relationImpl);
+ relationInfo.setCapabilityUid(capList.get(0).getUniqueId());
+ relationInfo.setRequirementUid(reqList.get(0).getUniqueId());
+ List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
+ CapabilityRequirementRelationship relationship = new CapabilityRequirementRelationship();
+ relationship.setRelation(relationInfo);
+ relationships.add(relationship);
requirementDef.setRelationships(relationships);
return requirementDef;
}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/FileHandling.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/FileHandling.java
index 2c5d985aa5..9759653af2 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/FileHandling.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/FileHandling.java
@@ -95,19 +95,22 @@ public class FileHandling {
}
// -------------------------------------------------------------------------------------------------
+
+ /**
+ * @param folder, folder name under "Files" folder
+ * @return path to given folder from perspective of working directory or sdc-vnfs repository
+ */
public static String getFilePath(String folder) {
- String filepath = System.getProperty("filepath");
- if (filepath == null && System.getProperty("os.name").contains("Windows")) {
- filepath = FileHandling.getResourcesFilesPath() + folder + File.separator;
- }
-
- else if(filepath.isEmpty() && !System.getProperty("os.name").contains("Windows")){
- filepath = FileHandling.getBasePath() + "Files" + File.separator + folder + File.separator;
+ String filepath = System.getProperty("filePath");
+ boolean isFilePathEmptyOrNull = (filepath == null || filepath.isEmpty());
+
+ // return folder from perspective of sdc-vnfs repository
+ if (isFilePathEmptyOrNull && ( System.getProperty("os.name").contains("Windows") || System.getProperty("os.name").contains("Mac"))) {
+ return FileHandling.getResourcesFilesPath() + folder + File.separator;
}
-
- System.out.println(filepath);
-
- return filepath;
+
+ // return folder from perspective of working directory ( in general for nightly run from Linux, should already contain "Files" directory )
+ return FileHandling.getBasePath() + "Files" + File.separator + folder + File.separator;
}
public static String getBasePath() {
@@ -152,6 +155,10 @@ public class FileHandling {
return getFilePath("VNFs");
}
+ public static String getPortMirroringRepositoryPath() {
+ return getFilePath("PortMirroring");
+ }
+
public static File getConfigFile(String configFileName) throws Exception {
File configFile = new File(FileHandling.getBasePath() + File.separator + "conf" + File.separator + configFileName);
if (!configFile.exists()) {
@@ -209,7 +216,7 @@ public class FileHandling {
}
public static String[] getArtifactsFromZip(String filepath, String zipFilename){
- try{
+ try {
ZipFile zipFile = new ZipFile(filepath + File.separator + zipFilename);
Enumeration<? extends ZipEntry> entries = zipFile.entries();
@@ -227,8 +234,7 @@ public class FileHandling {
}
zipFile.close();
return artifactNames;
- }
- catch(ZipException zipEx){
+ } catch(ZipException zipEx) {
System.err.println("Error in zip file named : " + zipFilename);
zipEx.printStackTrace();
} catch (IOException e) {
@@ -240,6 +246,34 @@ public class FileHandling {
}
+ public static List<String> getFileNamesFromZip(String zipFileLocation){
+ try{
+ ZipFile zipFile = new ZipFile(zipFileLocation);
+ Enumeration<? extends ZipEntry> entries = zipFile.entries();
+
+ List<String> artifactNames = new ArrayList<>();
+
+ int i = 0;
+ while(entries.hasMoreElements()){
+ ZipEntry nextElement = entries.nextElement();
+ if (!nextElement.isDirectory()){
+ String name = nextElement.getName();
+ artifactNames.add(name);
+ }
+ }
+ zipFile.close();
+ return artifactNames;
+ }
+ catch(ZipException zipEx){
+ System.err.println("Error in zip file named : " + zipFileLocation);
+ zipEx.printStackTrace();
+ } catch (IOException e) {
+ System.err.println("Unhandled exception : ");
+ e.printStackTrace();
+ }
+ return null;
+ }
+
// public static Object[] getZipFileNamesFromFolder(String filepath) {
// return filterFileNamesFromFolder(filepath, ".zip");
// }
@@ -562,4 +596,10 @@ public class FileHandling {
return value.replaceAll("\"","");
}
+
+ public static void overWriteExistindDir(String outputCsar) throws IOException {
+ String basePath = getBasePath();
+ String csarDir = FileHandling.getCreateDirByName("outputCsar");
+ FileUtils.cleanDirectory(new File(csarDir));
+ }
}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/ImportUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/ImportUtils.java
index c1f311a91e..7e5a7d69a2 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/ImportUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/ImportUtils.java
@@ -20,16 +20,10 @@
package org.openecomp.sdc.ci.tests.utils.general;
-import java.io.File;
import java.io.IOException;
import java.util.List;
-import org.openecomp.sdc.be.model.User;
-import org.openecomp.sdc.ci.tests.config.Config;
import org.openecomp.sdc.ci.tests.datatypes.ImportReqDetails;
-import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
-import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
-import org.openecomp.sdc.ci.tests.utils.Utils;
public class ImportUtils {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/OnboardingUtillViaApis.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/OnboardingUtillViaApis.java
index 12f04e282c..76e4c51b3f 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/OnboardingUtillViaApis.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/OnboardingUtillViaApis.java
@@ -20,11 +20,21 @@
package org.openecomp.sdc.ci.tests.utils.general;
-import com.aventstack.extentreports.Status;
-import com.clearspring.analytics.util.Pair;
-import com.google.gson.Gson;
-import fj.data.Either;
+import static org.testng.AssertJUnit.assertTrue;
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.codec.binary.Base64;
import org.openecomp.sdc.be.model.Component;
import org.openecomp.sdc.be.model.Resource;
import org.openecomp.sdc.be.model.User;
@@ -34,9 +44,7 @@ import org.openecomp.sdc.ci.tests.config.Config;
import org.openecomp.sdc.ci.tests.datatypes.AmdocsLicenseMembers;
import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
-
import org.openecomp.sdc.ci.tests.datatypes.VendorSoftwareProductObject;
-import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum;
import org.openecomp.sdc.ci.tests.datatypes.enums.ServiceCategoriesEnum;
import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum;
@@ -45,14 +53,11 @@ import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
import org.openecomp.sdc.ci.tests.utils.Utils;
import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
-import java.io.*;
-import java.nio.charset.StandardCharsets;
-import java.util.*;
-import org.apache.commons.codec.binary.Base64;
-
-
+import com.aventstack.extentreports.Status;
+import com.clearspring.analytics.util.Pair;
+import com.google.gson.Gson;
-import static org.testng.AssertJUnit.assertTrue;
+import fj.data.Either;
public class OnboardingUtillViaApis {
@@ -64,13 +69,12 @@ public class OnboardingUtillViaApis {
return headersMap;
}
- public static Pair<String, VendorSoftwareProductObject> createVspViaApis(String filepath, String vnfFile, User user) throws Exception {
-
+ public static Pair<String, VendorSoftwareProductObject> createVspViaApis(ResourceReqDetails resourceReqDetails, String filepath, String vnfFile, User user) throws Exception {
+
VendorSoftwareProductObject vendorSoftwareProductObject = new VendorSoftwareProductObject();
ExtentTestActions.log(Status.INFO, String.format("Create Vendor License"));
AmdocsLicenseMembers amdocsLicenseMembers = OnboardingUtils.createVendorLicense(user);
- ExtentTestActions.log(Status.INFO, String.format("Create Vendor Software Product"));
- Pair<String, Map<String, String>> createVendorSoftwareProduct = OnboardingUtils.createVendorSoftwareProduct(vnfFile, filepath, user, amdocsLicenseMembers);
+ Pair<String, Map<String, String>> createVendorSoftwareProduct = OnboardingUtils.createVendorSoftwareProduct(resourceReqDetails, vnfFile, filepath, user, amdocsLicenseMembers);
Map<String, String> map = createVendorSoftwareProduct.right;
vendorSoftwareProductObject.setAttContact(map.get("attContact"));
vendorSoftwareProductObject.setCategory(map.get("category"));
@@ -105,27 +109,17 @@ public class OnboardingUtillViaApis {
return resource;
}*/
- public static Resource createResourceFromVSP(ResourceReqDetails resourceDetails, String vspName) throws Exception {
-// List<String> tags = new ArrayList<>();
-// tags.add(vspName);
-// Map<String, String> map = createVendorSoftwareProduct.right;
-// ResourceReqDetails resourceDetails = new ResourceReqDetails();
-// resourceDetails.setCsarUUID(map.get("vspId"));
-// resourceDetails.setCsarVersion("1.0");
-// resourceDetails.setName(vspName);
-// resourceDetails.setTags(tags);
-// resourceDetails.setDescription(map.get("description"));
-// resourceDetails.setResourceType(map.get("componentType"));
-// resourceDetails.addCategoryChain(ResourceCategoryEnum.GENERIC_DATABASE.getCategory(), ResourceCategoryEnum.GENERIC_DATABASE.getSubCategory());
-// resourceDetails.setVendorName(map.get("vendorName"));
-// resourceDetails.setVendorRelease("1.0");
-// resourceDetails.setResourceType("VF");
-// resourceDetails.setResourceVendorModelNumber("666");
-// resourceDetails.setContactId(map.get("attContact"));
-// resourceDetails.setIcon("defaulticon");
+
+ public static Resource createResourceFromVSP(ResourceReqDetails resourceDetails, UserRoleEnum user) throws Exception {
+ Resource resource = AtomicOperationUtils.createResourceByResourceDetails(resourceDetails, user, true).left().value();
+
+ return resource;
+ }
+
+ public static Resource createResourceFromVSP(ResourceReqDetails resourceDetails) throws Exception {
Resource resource = AtomicOperationUtils.createResourceByResourceDetails(resourceDetails, UserRoleEnum.DESIGNER, true).left().value();
- return resource;
+ return resource;
}
public static void downloadToscaCsarToDirectory(Component component, File file) {
try {
@@ -134,7 +128,6 @@ public class OnboardingUtillViaApis {
convertPayloadToFile(componentToscaArtifactPayload.left().value(), file);
}
} catch (Exception e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
}
@@ -258,25 +251,25 @@ public class OnboardingUtillViaApis {
return Either.left(response.getResponse());
}
-
- public static ResourceReqDetails prepareOnboardedResourceDetailsBeforeCreate(VendorSoftwareProductObject vendorSoftwareProductObject, String vspName) {
+
+ public static ResourceReqDetails prepareOnboardedResourceDetailsBeforeCreate(ResourceReqDetails resourceDetails, VendorSoftwareProductObject vendorSoftwareProductObject) {
List<String> tags = new ArrayList<>();
- tags.add(vspName);
- ResourceReqDetails resourceDetails = new ResourceReqDetails();
+ tags.add(vendorSoftwareProductObject.getName());
+// ResourceReqDetails resourceDetails = new ResourceReqDetails();
resourceDetails.setCsarUUID(vendorSoftwareProductObject.getVspId());
- resourceDetails.setCsarVersion("1.0");
- resourceDetails.setName(vspName);
+ resourceDetails.setCsarVersion(vendorSoftwareProductObject.getVersion());
+ resourceDetails.setName(vendorSoftwareProductObject.getName());
resourceDetails.setTags(tags);
resourceDetails.setDescription(vendorSoftwareProductObject.getDescription());
- resourceDetails.addCategoryChain(ResourceCategoryEnum.GENERIC_DATABASE.getCategory(), ResourceCategoryEnum.GENERIC_DATABASE.getSubCategory());
+// resourceDetails.addCategoryChain(ResourceCategoryEnum.GENERIC_DATABASE.getCategory(), ResourceCategoryEnum.GENERIC_DATABASE.getSubCategory());
resourceDetails.setVendorName(vendorSoftwareProductObject.getVendorName());
- resourceDetails.setVendorRelease("1.0");
+// resourceDetails.setVendorRelease("1.0");
resourceDetails.setResourceType("VF");
resourceDetails.setResourceVendorModelNumber("666");
resourceDetails.setContactId(vendorSoftwareProductObject.getAttContact());
- resourceDetails.setIcon("defaulticon");
-
+// resourceDetails.setIcon("defaulticon");
+
return resourceDetails;
}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/OnboardingUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/OnboardingUtils.java
index f6d3e58339..dc38d40064 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/OnboardingUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/OnboardingUtils.java
@@ -20,8 +20,21 @@
package org.openecomp.sdc.ci.tests.utils.general;
-import com.aventstack.extentreports.Status;
-import com.clearspring.analytics.util.Pair;
+import static org.testng.AssertJUnit.assertEquals;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.nio.file.FileSystems;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
import org.apache.commons.io.IOUtils;
import org.apache.http.HttpEntity;
import org.apache.http.client.ClientProtocolException;
@@ -37,72 +50,145 @@ import org.json.simple.JSONArray;
import org.json.simple.JSONValue;
import org.openecomp.sdc.be.model.User;
import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
-import org.openecomp.sdc.ci.tests.api.ExtentTestActions;
+import org.openecomp.sdc.ci.tests.api.Urls;
import org.openecomp.sdc.ci.tests.config.Config;
import org.openecomp.sdc.ci.tests.datatypes.AmdocsLicenseMembers;
+import org.openecomp.sdc.ci.tests.datatypes.LicensingData;
+import org.openecomp.sdc.ci.tests.datatypes.LicensingVersion;
+import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
+import org.openecomp.sdc.ci.tests.datatypes.VendorSoftwareProductObject;
+import org.openecomp.sdc.ci.tests.datatypes.VendorSoftwareProductObjectReqDetails;
+import org.openecomp.sdc.ci.tests.datatypes.enums.CvfcTypeEnum;
+import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum;
import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum;
import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
import org.openecomp.sdc.ci.tests.utils.Utils;
+import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
-import java.io.*;
-import java.nio.file.FileSystems;
-import java.util.*;
-
-import static org.testng.AssertJUnit.assertEquals;
+import com.aventstack.extentreports.Status;
+import com.clearspring.analytics.util.Pair;
+import com.google.gson.Gson;
public class OnboardingUtils {
- protected static List<String> exludeVnfList = Arrays.asList("2016-197_vscp_vscp-fw_1610_e2e.zip", "2016-281_vProbes_BE_11_1_f_30_1610_e2e.zip",
- "2016-282_vProbes_FE_11_1_f_30_1610_e2e.zip", "2016-044_vfw_fnat_30_1607_e2e.zip", "2017-376_vMOG_11_1.zip", "vMOG.zip",
-
-
- "vMRF_USP_AIC3.0_1702.zip", "2016-211_vprobesbe_vprobes_be_30_1610_e2e.zip", "2016-005_vprobesfe_vprobes_fe_30_1607_e2e.zip",
- "vMRF_RTT.zip", "2016-006_vvm_vvm_30_1607_e2e.zip", "2016-001_vvm_vvm_30_1607_e2e.zip");
+ /**
+ * excluded VNF file list
+ */
+ protected static List<String> exludeVnfList =
+// new ArrayList<String>();
- protected static List<String> exludeVnfListForToscaParser = Arrays.asList("2016-043_vsaegw_fdnt_30_1607_e2e.zip", "vIRC_CC.zip",
- "2016-045_vlb_lmsp_30_1607_e2e.zip", "2016-050_vdns_vmdns_30_1607_e2e.zip",
- "2016-247_mns_mns_30_1610_e2e.zip", "2016-044_vfw_fcgi_30_1607_e2e.zip");
+ Arrays.asList(
+
+// new VNFs
+ "Vhss-epc-rdm3-lab-vf-0921-v2.0-MOBILITY-10-20.zip", "Apndns-1710-vf-v3.0-10-20.zip",
+ "HeatCandidate_2017-09-22_01-48_55Name_2016-182-asbg-nsbg-tsbg-v1.0-(VOIP).zip", "HeatCandidate_2017-09-22_01-47_55Name_2016-182-asbg-nsbg-tsbg-v7.0-(VOIP).zip",
+ "Efmc-dbe-nin-v24.0-VOIP-10-20.zip", "VF_LMSP_v5-062317-V3.0-(Mobility).zip", "base_bwks_nfm_volume-236262502.zip",
+
+// newest failed VNFs
+ "HeatCandidate_2017-09-20_15-07_66Name_2016-20-visbc1vf-v4.0-(VOIP).zip",
+ "HeatCandidate_2017-09-20_15-06_66Name_2016-20-visbc1vf-v6.0-(VOIP).zip", "1-Vf-zrdm5bpxtc02-092017-(MOBILITY)_v3.0.zip",
+ "1-2017-491-4vshaken-HTTP-CM-vf-(VOIP)_v2.0.zip"
+
+ );
+
+ /**
+ * additional files to exludeVnfList files for tosca parser tests
+ */
+ protected static List<String> exludeVnfListForToscaParser = //new ArrayList<String>();
+ Arrays.asList("1-Vvig-062017-(MOBILITY)_v5.1.zip",
+ "HeatCandidate_2017-09-22_01-43_57Name_2017389vtsbc4vf-v1.0-(VOIP).zip",
+ "1-Mvm-sbc-1710-092017-(MOBILITY)_v7.0.zip",
+ "1-2017-492-5vshaken-SIP-AS-vf-(VOIP)_v2.0.zip",
+ "HeatCandidate_2017-09-20_13-37_70Name_2017-491-4vshaken-HTTP-CM-vf-v1.0-(VOIP)_10202017.zip", "1-201712-488-adiod-vpe-(Layer-0-3)_v2.0.zip",
+ "2017-502.zip",
+ "1-2017-505-urlb-vhepe-(Layer-0-3)_v2.0.zip",
+ "2017-376_vMOG_11_1.zip",
+ "HeatCandidate_2017-09-22_00-55_62Name_2017-491-6vshaken-http-cm-vf-v1.0-(VOIP).zip", "HeatCandidate_2017-09-22_01-30_60Name_Vdbe-vsp-15.1x49-d50.3-v3.0-(VOIP).zip",
+ "HeatCandidate_2017-09-22_01-35_59Name_2017-418-afx-v1.0.zip",
+ "1-2017-488-adiod-vpe-(Layer-0-3)_v-5.0.zip",
+ "HeatCandidate_2017-09-22_01-42_57Name_2017389vtsbc4vf-v10.0-(VOIP).zip",
+ "HeatCandidate_2017-09-20_13-47_68Name_2017-492-5vshaken-SIP-AS-vf-v1.0-(VOIP)_10202017.zip", "1-2016-20-visbc3vf-(VOIP)_v2.1.zip",
+ "1-2017-404_vUSP_vCCF_AIC3.0-(VOIP)_v6.0.zip", "1-2017389vtsbc4vf-(VOIP)_v11.0.zip",
+ "HeatCandidate_2017-09-22_01-32_60Name_Vdbe-vsp-15.1x49-d50.3-v1.0-(VOIP).zip", "1-2017-418-afx-v1.1.zip");
public OnboardingUtils() {
}
- public static Pair<String, Map<String, String>> createVendorSoftwareProduct(String HeatFileName, String filepath, User user, AmdocsLicenseMembers amdocsLicenseMembers)
+ public static Pair<String, Map<String, String>> createVendorSoftwareProduct(ResourceReqDetails resourceReqDetails, String heatFileName, String filepath, User user, AmdocsLicenseMembers amdocsLicenseMembers, Map<CvfcTypeEnum, String> cvfcArtifacts)
throws Exception {
- Pair<String, Map<String, String>> pair = createVSP(HeatFileName, filepath, user, amdocsLicenseMembers);
-
+
+ Pair<String, Map<String, String>> pair = createVSP(resourceReqDetails, heatFileName, filepath, user, amdocsLicenseMembers);
String vspid = pair.right.get("vspId");
-
- prepareVspForUse(user, vspid);
-
+ if(cvfcArtifacts != null && ! cvfcArtifacts.isEmpty()){
+ OnboardingUtils.addCvfcArtifacts(cvfcArtifacts, vspid, user, null);
+
+ }
+ prepareVspForUse(user, vspid, "0.1");
return pair;
}
- public static void prepareVspForUse(User user, String vspid) throws Exception {
- RestResponse checkin = checkinVendorSoftwareProduct(vspid, user);
+ public static Pair<String, Map<String, String>> createVendorSoftwareProduct(ResourceReqDetails resourceReqDetails, String heatFileName, String filepath, User user, AmdocsLicenseMembers amdocsLicenseMembers)
+ throws Exception {
+
+ Map<CvfcTypeEnum, String> cvfcArtifacts = new HashMap<>();
+ return createVendorSoftwareProduct(resourceReqDetails, heatFileName, filepath, user, amdocsLicenseMembers, cvfcArtifacts);
+ }
+
+// duplicate function
+ public static void prepareVspForUse(User user, String vspid, String vspVersion) throws Exception {
+
+ RestResponse checkin = OnboardingUtils.checkinVendorSoftwareProduct(vspid, user, vspVersion);
assertEquals("did not succeed to checking new VSP", 200, checkin.getErrorCode().intValue());
- RestResponse submit = submitVendorSoftwareProduct(vspid, user);
+ RestResponse submit = OnboardingUtils.submitVendorSoftwareProduct(vspid, user, vspVersion);
assertEquals("did not succeed to submit new VSP", 200, submit.getErrorCode().intValue());
- RestResponse createPackage = createPackageOfVendorSoftwareProduct(vspid, user);
+ RestResponse createPackage = OnboardingUtils.createPackageOfVendorSoftwareProduct(vspid, user, vspVersion);
assertEquals("did not succeed to create package of new VSP ", 200, createPackage.getErrorCode().intValue());
- ComponentBaseTest.getExtendTest().log(Status.INFO, "Succeeded in creating the vendor software product");
+// ComponentBaseTest.getExtendTest().log(Status.INFO, "Succeeded in creating the vendor software product");
}
- public static Pair<String, Map<String, String>> createVSP(String HeatFileName, String filepath, User user, AmdocsLicenseMembers amdocsLicenseMembers) throws Exception {
- String vspName = handleFilename(HeatFileName);
-
- ComponentBaseTest.getExtendTest().log(Status.INFO, "Starting to create the vendor software product");
-
- Pair<RestResponse, Map<String, String>> createNewVspPair = createNewVendorSoftwareProduct(vspName, amdocsLicenseMembers, user);
+ public static VendorSoftwareProductObject createAndFillVendorSoftwareProduct(ResourceReqDetails resourceReqDetails, String heatFileName, String filePath, User user, AmdocsLicenseMembers amdocsLicenseMembers, Map<CvfcTypeEnum, String> cvfcArtifacts)
+ throws Exception {
+
+ Pair<String, Map<String, String>> createVendorSoftwareProduct = OnboardingUtils.createVendorSoftwareProduct(resourceReqDetails, heatFileName, filePath, user, amdocsLicenseMembers, cvfcArtifacts);
+ VendorSoftwareProductObject vendorSoftwareProductObject = fillVendorSoftwareProductObjectWithMetaData(heatFileName, createVendorSoftwareProduct);
+ return vendorSoftwareProductObject;
+
+ }
+
+ public static void updateVendorLicense(AmdocsLicenseMembers amdocsLicenseMembers, User user, String vlmVersion) throws Exception {
+
+ RestResponse checkoutVendorLicense = checkoutVendorLicense(amdocsLicenseMembers.getVendorId(), user, vlmVersion);
+ assertEquals("did not succeed to checkout vendor license", 200, checkoutVendorLicense.getErrorCode().intValue());
+
+ RestResponse checkinVendorLicense = checkinVendorLicense(amdocsLicenseMembers.getVendorId(), user, vlmVersion);
+ assertEquals("did not succeed to checkin vendor license", 200, checkinVendorLicense.getErrorCode().intValue());
+
+ RestResponse submitVendorLicense = submitVendorLicense(amdocsLicenseMembers.getVendorId(), user, vlmVersion);
+ assertEquals("did not succeed to submit vendor license", 200, submitVendorLicense.getErrorCode().intValue());
+
+ if(ComponentBaseTest.getExtendTest() != null){
+ ComponentBaseTest.getExtendTest().log(Status.INFO, "Succeeded in updating the vendor license");
+ }
+ }
+
+ public static Pair<String, Map<String, String>> createVSP(ResourceReqDetails resourceReqDetails, String heatFileName, String filepath, User user, AmdocsLicenseMembers amdocsLicenseMembers) throws Exception {
+ String vspName = handleFilename(heatFileName);
+
+ if(ComponentBaseTest.getExtendTest() != null){
+ ComponentBaseTest.getExtendTest().log(Status.INFO, "Starting to create the vendor software product");
+ }
+
+ Pair<RestResponse, Map<String, String>> createNewVspPair = createNewVendorSoftwareProduct(resourceReqDetails, vspName, amdocsLicenseMembers, user);
RestResponse createNewVendorSoftwareProduct = createNewVspPair.left;
assertEquals("did not succeed to create new VSP", 200,createNewVendorSoftwareProduct.getErrorCode().intValue());
String vspid = ResponseParser.getValueFromJsonResponse(createNewVendorSoftwareProduct.getResponse(), "vspId");
String componentId = ResponseParser.getValueFromJsonResponse(createNewVendorSoftwareProduct.getResponse(), "componentId");
-
+
Map<String, String> vspMeta = createNewVspPair.right;
Map<String, String> vspObject = new HashMap<String, String>();
Iterator<String> iterator = vspMeta.keySet().iterator();
@@ -115,51 +201,63 @@ public class OnboardingUtils {
vspObject.put("componentId", componentId);
vspObject.put("vendorName", amdocsLicenseMembers.getVendorLicenseName());
vspObject.put("attContact", user.getUserId());
-
- RestResponse uploadHeatPackage = uploadHeatPackage(filepath, HeatFileName, vspid, user);
+
+ RestResponse uploadHeatPackage = uploadHeatPackage(filepath, heatFileName, vspid, user, "0.1");
assertEquals("did not succeed to upload HEAT package", 200, uploadHeatPackage.getErrorCode().intValue());
-
- RestResponse validateUpload = validateUpload(vspid, user);
- assertEquals("did not succeed to validate upload process", 200, validateUpload.getErrorCode().intValue());
-
+
+ RestResponse validateUpload = validateUpload(vspid, user, "0.1");
+ assertEquals("did not succeed to validate upload process, reason: " + validateUpload.getResponse(), 200, validateUpload.getErrorCode().intValue());
+
Pair<String, Map<String, String>> pair = new Pair<String, Map<String, String>>(vspName, vspObject);
-
+
return pair;
}
-
- public static void updateVspWithVfcArtifacts(String filepath, String vspId, String updatedSnmpPoll, String updatedSnmpTrap, String componentId, User user) throws Exception{
- RestResponse checkout = checkoutVendorSoftwareProduct(vspId, user);
+
+ public static void updateVspWithVfcArtifacts(String filepath, String vspId, String updatedSnmpPoll, String updatedSnmpTrap, String componentId, User user, String vspVersion) throws Exception{
+ RestResponse checkout = checkoutVendorSoftwareProduct(vspId, user, vspVersion);
assertEquals("did not succeed to checkout new VSP", 200, checkout.getErrorCode().intValue());
- ExtentTestActions.log(Status.INFO, "Deleting SNMP POLL");
- deleteSnmpArtifact(componentId, vspId, user, SnmpTypeEnum.SNMP_POLL);
- ExtentTestActions.log(Status.INFO, "Deleting SNMP TRAP");
- deleteSnmpArtifact(componentId, vspId, user, SnmpTypeEnum.SNMP_TRAP);
+// ExtentTestActions.log(Status.INFO, "Deleting SNMP POLL");
+ deleteArtifactByType(componentId, vspId, user, CvfcTypeEnum.SNMP_POLL);
+// ExtentTestActions.log(Status.INFO, "Deleting SNMP TRAP");
+ deleteArtifactByType(componentId, vspId, user, CvfcTypeEnum.SNMP_TRAP);
addVFCArtifacts(filepath, updatedSnmpPoll, updatedSnmpTrap, vspId, user, componentId);
- prepareVspForUse(user, vspId);
+ prepareVspForUse(user, vspId, vspVersion);
}
-
- public static String updateVendorSoftwareProduct(String vspId, String HeatFileName, String filepath, User user)
- throws Exception, Throwable {
- String vspName = handleFilename(HeatFileName);
+
+ private static RestResponse deleteArtifactByType(String componentId, String vspId, User user, CvfcTypeEnum snmpType) throws Exception
+ {
+ Config config = Utils.getConfig();
+ String url = String.format(Urls.DELETE_AMDOCS_ARTIFACT_BY_TYPE, config.getCatalogBeHost(),config.getCatalogBePort(), vspId, componentId, snmpType.getValue());
+ String userId = user.getUserId();
+ Map<String, String> headersMap = prepareHeadersMap(userId);
+
+ HttpRequest http = new HttpRequest();
+ RestResponse response = http.httpSendDelete(url, headersMap);
+ return response;
+ }
+
+// duplicated method
+ public static String updateVendorSoftwareProduct(String vspId, String HeatFileName, String filepath, User user, String vspVersion)
+ throws Exception, Throwable {
+ String vspName = OnboardingUtils.handleFilename(HeatFileName);
ComponentBaseTest.getExtendTest().log(Status.INFO, "Starting to update the vendor software product");
- RestResponse checkout = checkoutVendorSoftwareProduct(vspId, user);
+ RestResponse checkout = OnboardingUtils.checkoutVendorSoftwareProduct(vspId, user, vspVersion);
assertEquals("did not succeed to checkout new VSP", 200, checkout.getErrorCode().intValue());
- RestResponse uploadHeatPackage = uploadHeatPackage(filepath, HeatFileName, vspId, user);
+ RestResponse uploadHeatPackage = OnboardingUtils.uploadHeatPackage(filepath, HeatFileName, vspId, user, vspVersion);
assertEquals("did not succeed to upload HEAT package", 200, uploadHeatPackage.getErrorCode().intValue());
-
- RestResponse validateUpload = validateUpload(vspId, user);
+
+ RestResponse validateUpload = OnboardingUtils.validateUpload(vspId, user, vspVersion);
assertEquals("did not succeed to validate upload process", 200, validateUpload.getErrorCode().intValue());
-
- RestResponse checkin = checkinVendorSoftwareProduct(vspId, user);
- assertEquals("did not succeed to checking VSP", 200, checkin.getErrorCode().intValue());
+ RestResponse checkin = OnboardingUtils.checkinVendorSoftwareProduct(vspId, user, vspVersion);
+ assertEquals("did not succeed to checking VSP", 200, checkin.getErrorCode().intValue());
- RestResponse submit = submitVendorSoftwareProduct(vspId, user);
+ RestResponse submit = OnboardingUtils.submitVendorSoftwareProduct(vspId, user, vspVersion);
assertEquals("did not succeed to submit VSP", 200, submit.getErrorCode().intValue());
- RestResponse createPackage = createPackageOfVendorSoftwareProduct(vspId, user);
+ RestResponse createPackage = OnboardingUtils.createPackageOfVendorSoftwareProduct(vspId, user, vspVersion);
assertEquals("did not succeed to update package of VSP ", 200, createPackage.getErrorCode().intValue());
ComponentBaseTest.getExtendTest().log(Status.INFO, "Succeeded in updating the vendor software product");
@@ -167,6 +265,21 @@ public class OnboardingUtils {
return vspName;
}
+ public static void updateVendorSoftwareProductToNextVersion(VendorSoftwareProductObject vendorSoftwareProductObject, String toVspVersion, User user)
+ throws Exception, Throwable {
+
+ RestResponse checkout = checkoutVendorSoftwareProduct(vendorSoftwareProductObject.getVspId(), user, vendorSoftwareProductObject.getVersion());
+ assertEquals("did not succeed to checkout new VSP", 200, checkout.getErrorCode().intValue());
+
+ RestResponse checkin = checkinVendorSoftwareProduct(vendorSoftwareProductObject.getVspId(), user, vendorSoftwareProductObject.getVersion());
+ assertEquals("did not succeed to checking VSP", 200, checkin.getErrorCode().intValue());
+
+ RestResponse submit = submitVendorSoftwareProduct(vendorSoftwareProductObject.getVspId(), user, vendorSoftwareProductObject.getVersion());
+ assertEquals("did not succeed to submit VSP", 200, submit.getErrorCode().intValue());
+
+ vendorSoftwareProductObject.setVersion(toVspVersion);
+ }
+
public static String handleFilename(String heatFileName) {
final String namePrefix = "ciVFOnboarded-";
final String nameSuffix = "-" + getShortUUID();
@@ -190,12 +303,12 @@ public class OnboardingUtils {
vspComponentId = (vspComponentId == null) ? getVSPComponentId(vspid, user) : vspComponentId;
if (vspComponentId != null){
if (snmpPoll != null){
- ExtentTestActions.log(Status.INFO, "Adding VFC artifact of type SNMP POLL with the file " + snmpPoll);
+// ExtentTestActions.log(Status.INFO, "Adding VFC artifact of type SNMP POLL with the file " + snmpPoll);
RestResponse uploadSnmpPollArtifact = uploadSnmpPollArtifact(filepath, snmpPoll, vspid, user, vspComponentId);
assertEquals("Did not succeed to add SNMP POLL", 200, uploadSnmpPollArtifact.getErrorCode().intValue());
}
if (snmpTrap != null){
- ExtentTestActions.log(Status.INFO, "Adding VFC artifact of type SNMP TRAP with the file " + snmpTrap);
+// ExtentTestActions.log(Status.INFO, "Adding VFC artifact of type SNMP TRAP with the file " + snmpTrap);
RestResponse uploadSnmpTrapArtifact = uploadSnmpTrapArtifact(filepath, snmpTrap, vspid, user, vspComponentId);
assertEquals("Did not succeed to add SNMP TRAP", 200, uploadSnmpTrapArtifact.getErrorCode().intValue());
}
@@ -203,24 +316,41 @@ public class OnboardingUtils {
return vspComponentId;
}
-
+
+ public static String addCvfcArtifacts(Map<CvfcTypeEnum, String> componentVfcArtifacts, String vspid, User user, String vspComponentId) throws Exception{
+ vspComponentId = (vspComponentId == null) ? getVSPComponentId(vspid, user) : vspComponentId;
+ if (vspComponentId != null){
+ for(Map.Entry<CvfcTypeEnum, String> entry : componentVfcArtifacts.entrySet()){
+// ExtentTestActions.log(Status.INFO, "Adding VFC artifact of type " + entry.getKey().getValue() + " with the file " + entry.getValue());
+ RestResponse uploadSnmpPollArtifact = uploadCvfcArtifact(entry.getValue(), entry.getKey().getValue(), vspid, user, vspComponentId);
+ assertEquals("Did not succeed to add " + entry.getKey().getValue(), BaseRestUtils.STATUS_CODE_SUCCESS, uploadSnmpPollArtifact.getErrorCode().intValue());
+ }
+ }
+ return vspComponentId;
+ }
+
public static String addVFCArtifacts(String filepath, String snmpPoll, String snmpTrap, String vspid, User user) throws Exception{
return addVFCArtifacts(filepath, snmpPoll, snmpTrap, vspid, user, null);
}
+ public static RestResponse uploadCvfcArtifact(String filepath, String cvfcType, String vspid, User user, String vspComponentId) throws FileNotFoundException, IOException, ClientProtocolException {
+ Config config = Utils.getConfig();
+ String snmpPollUrl = String.format(Urls.UPLOAD_AMDOCS_ARTIFACT, config.getCatalogBeHost(),config.getCatalogBePort(), vspid, vspComponentId, cvfcType);
+ return uploadFile(filepath, null, snmpPollUrl, user);
+ }
+
+
private static RestResponse uploadSnmpPollArtifact(String filepath, String zipArtifact, String vspid, User user,
- String vspComponentId) throws FileNotFoundException, IOException, ClientProtocolException {
+ String vspComponentId) throws FileNotFoundException, IOException, ClientProtocolException {
Config config = Utils.getConfig();
- String snmpPollUrl = String.format("http://%s:%s/onboarding-api/v1.0/vendor-software-products/%s/versions/0.1/components/%s/monitors/snmp/upload",
- config.getCatalogBeHost(),config.getCatalogBePort(), vspid, vspComponentId);
+ String snmpPollUrl = String.format(Urls.UPLOAD_SNMP_POLL_ARTIFACT, config.getCatalogBeHost(),config.getCatalogBePort(), vspid, vspComponentId);
return uploadFile(filepath, zipArtifact, snmpPollUrl, user);
}
-
+
private static RestResponse uploadSnmpTrapArtifact(String filepath, String zipArtifact, String vspid, User user,
- String vspComponentId) throws FileNotFoundException, IOException, ClientProtocolException {
+ String vspComponentId) throws FileNotFoundException, IOException, ClientProtocolException {
Config config = Utils.getConfig();
- String snmpTrapUrl = String.format("http://%s:%s/onboarding-api/v1.0/vendor-software-products/%s/versions/0.1/components/%s/monitors/snmp-trap/upload",
- config.getCatalogBeHost(),config.getCatalogBePort(), vspid, vspComponentId);
+ String snmpTrapUrl = String.format(Urls.UPLOAD_SNMP_POLL_ARTIFACT, config.getCatalogBeHost(),config.getCatalogBePort(), vspid, vspComponentId);
return uploadFile(filepath, zipArtifact, snmpTrapUrl, user);
}
@@ -237,8 +367,6 @@ public class OnboardingUtils {
RestResponse response = http.httpSendDelete(url, headersMap);
return response;
}
-
-
private static String getVSPComponentId(String vspid, User user) throws Exception, JSONException {
RestResponse components = getVSPComponents(vspid, user);
@@ -252,10 +380,10 @@ public class OnboardingUtils {
}
return null;
}
-
+
private static RestResponse getVSPComponents(String vspid, User user) throws Exception{
Config config = Utils.getConfig();
- String url = String.format("http://%s:%s/onboarding-api/v1.0/vendor-software-products/%s/versions/0.1/components", config.getCatalogBeHost(),config.getCatalogBePort(), vspid);
+ String url = String.format(Urls.GET_VSP_COMPONENTS, config.getCatalogBeHost(),config.getCatalogBePort(), vspid);
String userId = user.getUserId();
Map<String, String> headersMap = prepareHeadersMap(userId);
@@ -265,53 +393,91 @@ public class OnboardingUtils {
return response;
}
+ private static RestResponse getVLMComponentByVersion(String vlmId, String vlmVersion, User user) throws Exception{
+ Config config = Utils.getConfig();
+ String url = String.format(Urls.GET_VLM_COMPONENT_BY_VERSION, config.getCatalogBeHost(),config.getCatalogBePort(), vlmId,vlmVersion);
+ String userId = user.getUserId();
+
+ Map<String, String> headersMap = prepareHeadersMap(userId);
+
+ HttpRequest http = new HttpRequest();
+ RestResponse response = http.httpSendGet(url, headersMap);
+ return response;
+ }
+
+ public static boolean validateVspExist(String vspId, String vspVersion, User user) throws Exception {
+ RestResponse restResponse = getVSPComponentByVersion(vspId, vspVersion, user);
+ assertEquals(String.format("Vsp version not updated, reponse message: %s", restResponse.getResponse()),restResponse.getErrorCode().intValue(),200);
+ return (restResponse.getErrorCode()==200);
+ }
+
+ public static boolean validateVlmExist(String vlmId, String vlmVersion, User user) throws Exception {
+ RestResponse restResponse = getVLMComponentByVersion(vlmId, vlmVersion, user);
+ assertEquals(String.format("VLM version not updated, reponse code message: %s", restResponse.getResponse()),restResponse.getErrorCode().intValue(),200);
+ return (restResponse.getErrorCode()==200);
+ }
+
+
+ private static RestResponse getVSPComponentByVersion(String vspId, String vspVersion, User user) throws Exception{
+ Config config = Utils.getConfig();
+ String url = String.format(Urls.GET_VSP_COMPONENT_BY_VERSION, config.getCatalogBeHost(),config.getCatalogBePort(), vspId,vspVersion);
+ String userId = user.getUserId();
+
+ Map<String, String> headersMap = prepareHeadersMap(userId);
+
+ HttpRequest http = new HttpRequest();
+ RestResponse response = http.httpSendGet(url, headersMap);
+ return response;
+ }
+
+// Duplicate method
public static AmdocsLicenseMembers createVendorLicense(User user) throws Exception {
AmdocsLicenseMembers amdocsLicenseMembers;
- ComponentBaseTest.getExtendTest().log(Status.INFO, "Starting to create the vendor license");
- String vendorLicenseName = "ciLicense" + getShortUUID();
- RestResponse vendorLicenseResponse = createVendorLicenseModels_1(vendorLicenseName, user);
+// ComponentBaseTest.getExtendTest().log(Status.INFO, "Starting to create the vendor license");
+ String vendorLicenseName = "ciLicense" + OnboardingUtils.getShortUUID();
+ RestResponse vendorLicenseResponse = OnboardingUtils.createVendorLicenseModels_1(vendorLicenseName, user);
assertEquals("did not succeed to create vendor license model", 200, vendorLicenseResponse.getErrorCode().intValue());
String vendorId = ResponseParser.getValueFromJsonResponse(vendorLicenseResponse.getResponse(), "value");
- RestResponse vendorKeyGroupsResponse = createVendorKeyGroups_2(vendorId, user);
+ RestResponse vendorKeyGroupsResponse = OnboardingUtils.createVendorKeyGroups_2(vendorId, user);
assertEquals("did not succeed to create vendor key groups", 200, vendorKeyGroupsResponse.getErrorCode().intValue());
String keyGroupId = ResponseParser.getValueFromJsonResponse(vendorKeyGroupsResponse.getResponse(), "value");
- RestResponse vendorEntitlementPool = createVendorEntitlementPool_3(vendorId, user);
+ RestResponse vendorEntitlementPool = OnboardingUtils.createVendorEntitlementPool_3(vendorId, user);
assertEquals("did not succeed to create vendor entitlement pool", 200, vendorEntitlementPool.getErrorCode().intValue());
String entitlementPoolId = ResponseParser.getValueFromJsonResponse(vendorEntitlementPool.getResponse(), "value");
- RestResponse vendorLicenseFeatureGroups = createVendorLicenseFeatureGroups_4(vendorId, keyGroupId, entitlementPoolId, user);
+ RestResponse vendorLicenseFeatureGroups = OnboardingUtils.createVendorLicenseFeatureGroups_4(vendorId, keyGroupId, entitlementPoolId, user);
assertEquals("did not succeed to create vendor license feature groups", 200, vendorLicenseFeatureGroups.getErrorCode().intValue());
String featureGroupId = ResponseParser.getValueFromJsonResponse(vendorLicenseFeatureGroups.getResponse(), "value");
- RestResponse vendorLicenseAgreement = createVendorLicenseAgreement_5(vendorId, featureGroupId, user);
+ RestResponse vendorLicenseAgreement = OnboardingUtils.createVendorLicenseAgreement_5(vendorId, featureGroupId, user);
assertEquals("did not succeed to create vendor license agreement", 200, vendorLicenseAgreement.getErrorCode().intValue());
String vendorLicenseAgreementId = ResponseParser.getValueFromJsonResponse(vendorLicenseAgreement.getResponse(), "value");
- RestResponse checkinVendorLicense = checkinVendorLicense(vendorId, user);
+ RestResponse checkinVendorLicense = OnboardingUtils.checkinVendorLicense(vendorId, user, "0.1");
assertEquals("did not succeed to checkin vendor license", 200, checkinVendorLicense.getErrorCode().intValue());
- RestResponse submitVendorLicense = submitVendorLicense(vendorId, user);
+ RestResponse submitVendorLicense = OnboardingUtils.submitVendorLicense(vendorId, user, "0.1");
assertEquals("did not succeed to submit vendor license", 200, submitVendorLicense.getErrorCode().intValue());
- ComponentBaseTest.getExtendTest().log(Status.INFO, "Succeeded in creating the vendor license");
+// ComponentBaseTest.getExtendTest().log(Status.INFO, "Succeeded in creating the vendor license");
amdocsLicenseMembers = new AmdocsLicenseMembers(vendorId, vendorLicenseName, vendorLicenseAgreementId, featureGroupId);
-
+ amdocsLicenseMembers.setVersion("1.0"); // Once object created and submitted, his initial version is 1.0
+
return amdocsLicenseMembers;
}
- private static String getShortUUID() {
+ public static String getShortUUID() {
return UUID.randomUUID().toString().split("-")[0];
}
- private static RestResponse actionOnComponent(String vspid, String action, String onboardComponent, User user)
+ private static RestResponse actionOnComponent(String vspid, String action, String onboardComponent, User user, String componentVersion)
throws Exception {
Config config = Utils.getConfig();
- String url = String.format("http://%s:%s/onboarding-api/v1.0/" + onboardComponent + "/%s/versions/0.1/actions",
- config.getCatalogBeHost(), config.getCatalogBePort(), vspid);
+ String url = String.format(Urls.ACTION_ON_COMPONENT, config.getCatalogBeHost(), config.getCatalogBePort(), onboardComponent, vspid, componentVersion);
String userId = user.getUserId();
JSONObject jObject = new JSONObject();
@@ -324,17 +490,22 @@ public class OnboardingUtils {
return response;
}
- public static RestResponse checkinVendorLicense(String vspid, User user) throws Exception {
- return actionOnComponent(vspid, "Checkin", "vendor-license-models", user);
+
+ public static RestResponse checkinVendorLicense(String vspid, User user, String vlmVersion) throws Exception {
+ return actionOnComponent(vspid, "Checkin", "vendor-license-models", user, vlmVersion);
+ }
+
+ public static RestResponse checkoutVendorLicense(String vspid, User user, String vlmVersion) throws Exception {
+ return actionOnComponent(vspid, "Checkout", "vendor-license-models", user, vlmVersion);
}
- public static RestResponse submitVendorLicense(String vspid, User user) throws Exception {
- return actionOnComponent(vspid, "Submit", "vendor-license-models", user);
+ public static RestResponse submitVendorLicense(String vspid, User user, String vlmVersion) throws Exception {
+ return actionOnComponent(vspid, "Submit", "vendor-license-models", user, vlmVersion);
}
public static RestResponse createVendorLicenseModels_1(String name, User user) throws Exception {
Config config = Utils.getConfig();
- String url = String.format("http://%s:%s/onboarding-api/v1.0/vendor-license-models", config.getCatalogBeHost(),
+ String url = String.format(Urls.CREATE_VENDOR_LISENCE_MODELS, config.getCatalogBeHost(),
config.getCatalogBePort());
String userId = user.getUserId();
@@ -354,8 +525,7 @@ public class OnboardingUtils {
public static RestResponse createVendorLicenseAgreement_5(String vspid, String featureGroupId, User user)
throws Exception {
Config config = Utils.getConfig();
- String url = String.format("http://%s:%s/onboarding-api/v1.0/vendor-license-models/%s/versions/0.1/license-agreements",
- config.getCatalogBeHost(), config.getCatalogBePort(), vspid);
+ String url = String.format(Urls.CREATE_VENDOR_LISENCE_AGREEMENT, config.getCatalogBeHost(), config.getCatalogBePort(), vspid);
String userId = user.getUserId();
JSONObject licenseTermpObject = new JSONObject();
@@ -377,10 +547,9 @@ public class OnboardingUtils {
}
public static RestResponse createVendorLicenseFeatureGroups_4(String vspid, String licenseKeyGroupId,
- String entitlementPoolId, User user) throws Exception {
+ String entitlementPoolId, User user) throws Exception {
Config config = Utils.getConfig();
- String url = String.format("http://%s:%s/onboarding-api/v1.0/vendor-license-models/%s/versions/0.1/feature-groups",
- config.getCatalogBeHost(), config.getCatalogBePort(), vspid);
+ String url = String.format(Urls.CREATE_VENDOR_LISENCE_FEATURE_GROUPS, config.getCatalogBeHost(), config.getCatalogBePort(), vspid);
String userId = user.getUserId();
JSONObject jObject = new JSONObject();
@@ -401,8 +570,7 @@ public class OnboardingUtils {
public static RestResponse createVendorEntitlementPool_3(String vspid, User user) throws Exception {
Config config = Utils.getConfig();
- String url = String.format("http://%s:%s/onboarding-api/v1.0/vendor-license-models/%s/versions/0.1/entitlement-pools",
- config.getCatalogBeHost(), config.getCatalogBePort(), vspid);
+ String url = String.format(Urls.CREATE_VENDOR_LISENCE_ENTITLEMENT_POOL, config.getCatalogBeHost(), config.getCatalogBePort(), vspid);
String userId = user.getUserId();
JSONObject jEntitlementMetricObject = new JSONObject();
@@ -442,8 +610,7 @@ public class OnboardingUtils {
public static RestResponse createVendorKeyGroups_2(String vspid, User user) throws Exception {
Config config = Utils.getConfig();
- String url = String.format("http://%s:%s/onboarding-api/v1.0/vendor-license-models/%s/versions/0.1/license-key-groups",
- config.getCatalogBeHost(), config.getCatalogBePort(), vspid);
+ String url = String.format(Urls.CREATE_VENDOR_LISENCE_KEY_GROUPS, config.getCatalogBeHost(), config.getCatalogBePort(), vspid);
String userId = user.getUserId();
JSONObject jOperationalScope = new JSONObject();
@@ -463,56 +630,51 @@ public class OnboardingUtils {
return response;
}
- public static Pair<RestResponse, Map<String, String>> createNewVendorSoftwareProduct(String name, AmdocsLicenseMembers amdocsLicenseMembers, User user) throws Exception {
+ public static Pair<RestResponse, Map<String, String>> createNewVendorSoftwareProduct(ResourceReqDetails resourceReqDetails, String vspName, AmdocsLicenseMembers amdocsLicenseMembers, User user) throws Exception {
Map<String, String> vspMetadta = new HashMap<String, String>();
-
- Config config = Utils.getConfig();
- String url = String.format("http://%s:%s/onboarding-api/v1.0/vendor-software-products",
- config.getCatalogBeHost(), config.getCatalogBePort());
+ Config config = Utils.getConfig();
+ String url = String.format(Urls.CREATE_VENDOR_SOFTWARE_PRODUCT, config.getCatalogBeHost(), config.getCatalogBePort());
String userId = user.getUserId();
+ VendorSoftwareProductObject vendorSoftwareProductObject = new VendorSoftwareProductObject();
+ LicensingData licensingData = new LicensingData(amdocsLicenseMembers.getVendorLicenseAgreementId(), Arrays.asList(amdocsLicenseMembers.getFeatureGroupId()));
+ LicensingVersion licensingVersion = new LicensingVersion("1.0", "1.0");
+ ResourceCategoryEnum resourceCategoryEnum = ResourceCategoryEnum.findEnumNameByValues(resourceReqDetails.getCategories().get(0).getName(), resourceReqDetails.getCategories().get(0).getSubcategories().get(0).getName());
+
+ vendorSoftwareProductObject.setLicensingVersion(licensingVersion);
+
+ vendorSoftwareProductObject.setName(vspName);
+ vendorSoftwareProductObject.setDescription(resourceReqDetails.getDescription());
+ vendorSoftwareProductObject.setCategory(resourceCategoryEnum.getCategoryUniqeId());
+ vendorSoftwareProductObject.setSubCategory(resourceCategoryEnum.getSubCategoryUniqeId());
+ vendorSoftwareProductObject.setOnboardingMethod("NetworkPackage");
+ vendorSoftwareProductObject.setVendorName(amdocsLicenseMembers.getVendorLicenseName());
+ vendorSoftwareProductObject.setVendorId(amdocsLicenseMembers.getVendorId());
+ vendorSoftwareProductObject.setIcon("icon");
+ vendorSoftwareProductObject.setLicensingData(licensingData);
+
+ vspMetadta.put("description", resourceReqDetails.getDescription());
+ vspMetadta.put("category", resourceCategoryEnum.getCategory());
+ vspMetadta.put("subCategory", resourceCategoryEnum.getSubCategory());
- JSONObject jlicensingDataObj = new JSONObject();
- jlicensingDataObj.put("licenseAgreement", amdocsLicenseMembers.getVendorLicenseAgreementId());
- jlicensingDataObj.put("featureGroups", Arrays.asList(amdocsLicenseMembers.getFeatureGroupId()).toArray());
-
- JSONObject jlicensingVersionObj = new JSONObject();
- jlicensingVersionObj.put("id", "1.0");
- jlicensingVersionObj.put("label", "1.0");
-
- JSONObject jObject = new JSONObject();
- jObject.put("name", name);
- jObject.put("description", "new VSP description");
- jObject.put("category", "resourceNewCategory.generic");
- jObject.put("subCategory", "resourceNewCategory.generic.database");
- jObject.put("onboardingMethod", "NetworkPackage");
- jObject.put("licensingVersion", jlicensingVersionObj);
- jObject.put("vendorName", amdocsLicenseMembers.getVendorLicenseName());
- jObject.put("vendorId", amdocsLicenseMembers.getVendorId());
- jObject.put("icon", "icon");
- jObject.put("licensingData", jlicensingDataObj);
-
- vspMetadta.put("description", jObject.getString("description"));
- vspMetadta.put("category", jObject.getString("category"));
- vspMetadta.put("subCategory", jObject.getString("subCategory").split("\\.")[2]);
-
Map<String, String> headersMap = prepareHeadersMap(userId);
HttpRequest http = new HttpRequest();
+ Gson gson = new Gson();
+ String body = gson.toJson(vendorSoftwareProductObject);
- RestResponse response = http.httpSendPost(url, jObject.toString(), headersMap);
+ RestResponse response = http.httpSendPost(url, body, headersMap);
return new Pair<RestResponse, Map<String, String>>(response, vspMetadta);
}
-
- public static RestResponse validateUpload(String vspid, User user) throws Exception {
+
+ public static RestResponse validateUpload(String vspid, User user, String vspVersion) throws Exception {
Config config = Utils.getConfig();
- String url = String.format("http://%s:%s/onboarding-api/v1.0/vendor-software-products/%s/versions/0.1/orchestration-template-candidate/process",
- config.getCatalogBeHost(), config.getCatalogBePort(), vspid);
+ String url = String.format(Urls.VALIDATE_UPLOAD, config.getCatalogBeHost(), config.getCatalogBePort(), vspid,vspVersion);
String userId = user.getUserId();
Map<String, String> headersMap = prepareHeadersMap(userId);
HttpRequest http = new HttpRequest();
-
+
String body =null;
RestResponse response = http.httpSendPut(url, body, headersMap);
@@ -520,9 +682,9 @@ public class OnboardingUtils {
return response;
}
- public static RestResponse uploadHeatPackage(String filepath, String filename, String vspid, User user) throws Exception {
+ public static RestResponse uploadHeatPackage(String filepath, String filename, String vspid, User user, String vspVersion) throws Exception {
Config config = Utils.getConfig();
- String url = String.format("http://%s:%s/onboarding-api/v1.0/vendor-software-products/%s/versions/0.1/orchestration-template-candidate", config.getCatalogBeHost(), config.getCatalogBePort(), vspid);
+ String url = String.format(Urls.UPLOAD_HEAT_PACKAGE, config.getCatalogBeHost(), config.getCatalogBePort(), vspid, vspVersion);
return uploadFile(filepath, filename, url, user);
}
@@ -553,11 +715,10 @@ public class OnboardingUtils {
String responseBody = null;
if (entity != null) {
InputStream instream = entity.getContent();
- StringWriter writer = new StringWriter();
- IOUtils.copy(instream, writer);
- responseBody = writer.toString();
try {
-
+ StringWriter writer = new StringWriter();
+ IOUtils.copy(instream, writer);
+ responseBody = writer.toString();
} finally {
instream.close();
}
@@ -595,27 +756,39 @@ public class OnboardingUtils {
}
}
+// private static File getTestZipFile(String filepath, String filename) throws IOException {
+// Config config = Utils.getConfig();
+// String sourceDir = config.getImportResourceTestsConfigDir();
+// java.nio.file.Path filePath = FileSystems.getDefault().getPath(filepath + File.separator + filename);
+// return filePath.toFile();
+// }
+
private static File getTestZipFile(String filepath, String filename) throws IOException {
Config config = Utils.getConfig();
String sourceDir = config.getImportResourceTestsConfigDir();
- java.nio.file.Path filePath = FileSystems.getDefault().getPath(filepath + File.separator + filename);
+ java.nio.file.Path filePath;
+ if(filename == null){
+ filePath = FileSystems.getDefault().getPath(filepath);
+ }else{
+ filePath = FileSystems.getDefault().getPath(filepath + File.separator + filename);
+ }
return filePath.toFile();
}
- public static RestResponse checkinVendorSoftwareProduct(String vspid, User user) throws Exception {
- return actionOnComponent(vspid, "Checkin", "vendor-software-products", user);
+ public static RestResponse checkinVendorSoftwareProduct(String vspid, User user, String vspVersion) throws Exception {
+ return actionOnComponent(vspid, "Checkin", "vendor-software-products", user, vspVersion);
}
-
- private static RestResponse checkoutVendorSoftwareProduct(String vspid, User user) throws Exception {
- return actionOnComponent(vspid, "Checkout", "vendor-software-products", user);
+
+ public static RestResponse checkoutVendorSoftwareProduct(String vspid, User user, String vspVersion) throws Exception {
+ return actionOnComponent(vspid, "Checkout", "vendor-software-products", user, vspVersion);
}
- public static RestResponse submitVendorSoftwareProduct(String vspid, User user) throws Exception {
- return actionOnComponent(vspid, "Submit", "vendor-software-products", user);
+ public static RestResponse submitVendorSoftwareProduct(String vspid, User user, String vspVersion) throws Exception {
+ return actionOnComponent(vspid, "Submit", "vendor-software-products", user, vspVersion);
}
- public static RestResponse createPackageOfVendorSoftwareProduct(String vspid, User user) throws Exception {
- return actionOnComponent(vspid, "Create_Package", "vendor-software-products", user);
+ public static RestResponse createPackageOfVendorSoftwareProduct(String vspid, User user, String vspVersion) throws Exception {
+ return actionOnComponent(vspid, "Create_Package", "vendor-software-products", user, vspVersion);
}
protected static Map<String, String> prepareHeadersMap(String userId) {
@@ -626,7 +799,55 @@ public class OnboardingUtils {
return headersMap;
}
-
+ public static VendorSoftwareProductObject updateVSPWithNewVLMParameters(VendorSoftwareProductObject vendorSoftwareProductObject,
+ AmdocsLicenseMembers amdocsLicenseMembers, User user, String vspCurrentVersion, String vspNextVersion) throws Exception {
+
+ LicensingVersion licensingVersion = new LicensingVersion(amdocsLicenseMembers.getLicenseVersionId(),amdocsLicenseMembers.getLicenseVersionId());
+ LicensingData licensingData = new LicensingData(amdocsLicenseMembers.getVendorLicenseAgreementId(), Arrays.asList(amdocsLicenseMembers.getFeatureGroupId()));
+ vendorSoftwareProductObject.setVendorId(amdocsLicenseMembers.getVendorId());
+ vendorSoftwareProductObject.setVendorName(amdocsLicenseMembers.getVendorLicenseName());
+ vendorSoftwareProductObject.setLicensingVersion(licensingVersion);
+ vendorSoftwareProductObject.setLicensingData(licensingData);
+
+ VendorSoftwareProductObjectReqDetails vendorSoftwareProductObjectReqDetails = new VendorSoftwareProductObjectReqDetails(
+ vendorSoftwareProductObject.getName(),
+ vendorSoftwareProductObject.getDescription(),
+ vendorSoftwareProductObject.getCategory(),
+ vendorSoftwareProductObject.getSubCategory(),
+ vendorSoftwareProductObject.getVendorId(),
+ vendorSoftwareProductObject.getVendorName(),
+ licensingVersion,
+ licensingData,
+ vendorSoftwareProductObject.getOnboardingMethod(),
+ vendorSoftwareProductObject.getNetworkPackageName(),
+ vendorSoftwareProductObject.getOnboardingOrigin());
+
+ Gson gson = new Gson();
+ String json = gson.toJson(vendorSoftwareProductObjectReqDetails);
+
+ RestResponse checkout = checkoutVendorSoftwareProduct(vendorSoftwareProductObject.getVspId(), user, "1.0");
+ assertEquals("did not succeed to checkout new VSP", 200, checkout.getErrorCode().intValue());
+
+ Config config = Utils.getConfig();
+ String url = String.format(Urls.UPDATE_VSP, config.getCatalogBeHost(), config.getCatalogBePort(), vendorSoftwareProductObject.getVspId(), vspCurrentVersion);
+ String userId = user.getUserId();
+
+ Map<String, String> headersMap = prepareHeadersMap(userId);
+ HttpRequest http = new HttpRequest();
+
+ RestResponse response = http.httpSendPut(url, json, headersMap);
+
+ RestResponse checkin = checkinVendorSoftwareProduct(vendorSoftwareProductObject.getVspId(), user, vspCurrentVersion);
+ assertEquals("did not succeed to checking VSP", 200, checkin.getErrorCode().intValue());
+
+ RestResponse submit = submitVendorSoftwareProduct(vendorSoftwareProductObject.getVspId(), user, vspCurrentVersion);
+ assertEquals("did not succeed to submit VSP", 200, submit.getErrorCode().intValue());
+
+ vendorSoftwareProductObject.setVersion(vspNextVersion);
+
+ return vendorSoftwareProductObject;
+ }
+
// private static void importUpdateVSP(Pair<String, Map<String, String>> vsp, boolean isUpdate) throws Exception{
// String vspName = vsp.left;
// Map<String, String> vspMetadata = vsp.right;
@@ -785,7 +1006,63 @@ public class OnboardingUtils {
fileNamesFromFolder.removeAll(exludeVnfListForToscaParser);
return fileNamesFromFolder;
}
-
+
+ public static VendorSoftwareProductObject fillVendorSoftwareProductObjectWithMetaData(String vnfFile, Pair<String, Map<String, String>> createVendorSoftwareProduct) {
+ VendorSoftwareProductObject vendorSoftwareProductObject = new VendorSoftwareProductObject();
+ Map<String, String> map = createVendorSoftwareProduct.right;
+ vendorSoftwareProductObject.setAttContact(map.get("attContact"));
+ vendorSoftwareProductObject.setCategory(map.get("category"));
+ vendorSoftwareProductObject.setComponentId(map.get("componentId"));
+ vendorSoftwareProductObject.setDescription(map.get("description"));
+ vendorSoftwareProductObject.setSubCategory(map.get("subCategory"));
+ vendorSoftwareProductObject.setVendorName(map.get("vendorName"));
+ vendorSoftwareProductObject.setVspId(map.get("vspId"));
+ vendorSoftwareProductObject.setName(createVendorSoftwareProduct.left);
+ String[] arrFileNameAndExtension = vnfFile.split("\\.");
+ vendorSoftwareProductObject.setOnboardingMethod("NetworkPackage");
+ vendorSoftwareProductObject.setNetworkPackageName(arrFileNameAndExtension[0]);
+ vendorSoftwareProductObject.setOnboardingOrigin(arrFileNameAndExtension[1]);
+
+ return vendorSoftwareProductObject;
+ }
+
+ public static void updateVendorSoftwareProductToNextVersion(VendorSoftwareProductObject vendorSoftwareProductObject, String toVspVersion, User user, String filepath, String heatFileName)
+ throws Exception, Throwable {
+
+ RestResponse checkout = checkoutVendorSoftwareProduct(vendorSoftwareProductObject.getVspId(), user, vendorSoftwareProductObject.getVersion());
+ assertEquals("did not succeed to checkout new VSP", 200, checkout.getErrorCode().intValue());
+
+ RestResponse uploadHeatPackage = uploadHeatPackage(filepath, heatFileName, vendorSoftwareProductObject.getVspId(), user, "1.1");
+ assertEquals("did not succeed to upload HEAT package", 200, uploadHeatPackage.getErrorCode().intValue());
+
+ RestResponse validateUpload = validateUpload(vendorSoftwareProductObject.getVspId(), user, "1.1");
+ assertEquals("did not succeed to validate upload process, reason: " + validateUpload.getResponse(), 200, validateUpload.getErrorCode().intValue());
+
+ prepareVspForUse(user,vendorSoftwareProductObject.getVspId(),toVspVersion);
+
+ vendorSoftwareProductObject.setVersion(toVspVersion);
+ }
+
+ public static Object[][] filterObjectArrWithExcludedVnfs(Object[][] objectArr)
+ {
+ Object[][] filteredArObject = new Object[objectArr.length][];
+
+ int index = 0;
+
+ for (int i = 0; i < objectArr.length ; i++) {
+
+ String vnfSourceFile = (String) objectArr[i][0];
+ String vnfUpdateFile = (String) objectArr[i][1];
+
+ if(!exludeVnfList.contains(vnfSourceFile) && !exludeVnfList.contains(vnfUpdateFile))
+ {
+ filteredArObject[index] = new Object[]{vnfSourceFile , vnfUpdateFile };
+ index++;
+ }
+ }
+
+ return filteredArObject;
+ }
}
\ No newline at end of file
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/SnmpTypeEnum.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/SnmpTypeEnum.java
index 71038920ae..366962ef0a 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/SnmpTypeEnum.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/SnmpTypeEnum.java
@@ -20,56 +20,6 @@
package org.openecomp.sdc.ci.tests.utils.general;
-import static org.testng.AssertJUnit.assertEquals;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringWriter;
-import java.nio.file.FileSystems;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import java.util.stream.Collectors;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.http.HttpEntity;
-import org.apache.http.client.ClientProtocolException;
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.entity.mime.MultipartEntityBuilder;
-import org.apache.http.entity.mime.content.FileBody;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.json.simple.JSONArray;
-import org.json.simple.JSONValue;
-import org.openecomp.sdc.be.model.User;
-import org.openecomp.sdc.ci.tests.config.Config;
-import org.openecomp.sdc.ci.tests.datatypes.AmdocsLicenseMembers;
-
-import org.openecomp.sdc.ci.tests.datatypes.HeatMetaFirstLevelDefinition;
-
-import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum;
-import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
-import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
-import org.openecomp.sdc.ci.tests.execute.devCI.ArtifactFromCsar;
-
-
-import org.openecomp.sdc.ci.tests.utils.Utils;
-import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
-
-import org.testng.Assert;
-
-import com.aventstack.extentreports.Status;
-import com.clearspring.analytics.util.Pair;
-
enum SnmpTypeEnum{
SNMP_POLL ("snmp"),
SNMP_TRAP ("snmp-trap");
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/SnmpTypeEnum.java~release_1802E b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/SnmpTypeEnum.java~release_1802E
new file mode 100644
index 0000000000..71038920ae
--- /dev/null
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/SnmpTypeEnum.java~release_1802E
@@ -0,0 +1,88 @@
+/*-
+ * ============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.utils.general;
+
+import static org.testng.AssertJUnit.assertEquals;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.nio.file.FileSystems;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import java.util.stream.Collectors;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.http.HttpEntity;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.mime.MultipartEntityBuilder;
+import org.apache.http.entity.mime.content.FileBody;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.json.simple.JSONArray;
+import org.json.simple.JSONValue;
+import org.openecomp.sdc.be.model.User;
+import org.openecomp.sdc.ci.tests.config.Config;
+import org.openecomp.sdc.ci.tests.datatypes.AmdocsLicenseMembers;
+
+import org.openecomp.sdc.ci.tests.datatypes.HeatMetaFirstLevelDefinition;
+
+import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum;
+import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
+import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
+import org.openecomp.sdc.ci.tests.execute.devCI.ArtifactFromCsar;
+
+
+import org.openecomp.sdc.ci.tests.utils.Utils;
+import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
+
+import org.testng.Assert;
+
+import com.aventstack.extentreports.Status;
+import com.clearspring.analytics.util.Pair;
+
+enum SnmpTypeEnum{
+ SNMP_POLL ("snmp"),
+ SNMP_TRAP ("snmp-trap");
+
+ private String value;
+
+ public String getValue() {
+ return value;
+ }
+
+ private SnmpTypeEnum(String value) {
+ this.value = value;
+}
+
+}
+
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/AssetRestUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/AssetRestUtils.java
index 71918386d9..4ade9eb16c 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/AssetRestUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/AssetRestUtils.java
@@ -26,8 +26,12 @@ import static org.testng.AssertJUnit.assertTrue;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import java.util.Map.Entry;
+import java.util.UUID;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/CatalogRestUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/CatalogRestUtils.java
index 70ed1d51f0..449b6beca5 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/CatalogRestUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/CatalogRestUtils.java
@@ -21,7 +21,8 @@
package org.openecomp.sdc.ci.tests.utils.rest;
import java.io.IOException;
-import java.util.*;
+import java.util.HashMap;
+import java.util.Map;
import org.openecomp.sdc.ci.tests.api.Urls;
import org.openecomp.sdc.ci.tests.config.Config;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ConsumerRestUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ConsumerRestUtils.java
index 0e0a974885..0aadfdbaeb 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ConsumerRestUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ConsumerRestUtils.java
@@ -123,6 +123,7 @@ public class ConsumerRestUtils extends BaseRestUtils {
String bodyToParse = restResponse.getResponse();
ObjectMapper mapper = new ObjectMapper();
+ mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
try {
mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
ConsumerDataDefinition component = mapper.readValue(bodyToParse, ConsumerDataDefinition.class);
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ImportRestUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ImportRestUtils.java
index 951831c39d..0be438470d 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ImportRestUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ImportRestUtils.java
@@ -34,7 +34,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.Map.Entry;
import java.util.Properties;
import org.apache.commons.io.IOUtils;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ProductRestUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ProductRestUtils.java
index 93c0d05f87..65bc2f5d92 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ProductRestUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ProductRestUtils.java
@@ -22,8 +22,6 @@ package org.openecomp.sdc.ci.tests.utils.rest;
import java.io.IOException;
-import com.google.gson.Gson;
-
import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
import org.openecomp.sdc.be.model.LifecycleStateEnum;
import org.openecomp.sdc.be.model.Product;
@@ -39,6 +37,8 @@ import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.gson.Gson;
+
public class ProductRestUtils extends BaseRestUtils {
private static Gson gson = new Gson();
private static Logger logger = LoggerFactory.getLogger(ProductRestUtils.class.getName());
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/PropertyRestUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/PropertyRestUtils.java
index b035694407..33704a5128 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/PropertyRestUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/PropertyRestUtils.java
@@ -25,11 +25,14 @@ import static org.testng.AssertJUnit.assertNull;
import static org.testng.AssertJUnit.assertTrue;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
import org.openecomp.sdc.be.model.Component;
import org.openecomp.sdc.be.model.ComponentInstance;
+import org.openecomp.sdc.be.model.ComponentInstanceInput;
import org.openecomp.sdc.be.model.ComponentInstanceProperty;
import org.openecomp.sdc.be.model.PropertyDefinition;
import org.openecomp.sdc.be.model.Resource;
@@ -37,10 +40,15 @@ import org.openecomp.sdc.be.model.Service;
import org.openecomp.sdc.be.model.User;
import org.openecomp.sdc.ci.tests.api.Urls;
import org.openecomp.sdc.ci.tests.config.Config;
+import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum;
+import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
+import org.openecomp.sdc.common.util.GeneralUtility;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.gson.Gson;
+
public class PropertyRestUtils extends BaseRestUtils {
private static Logger logger = LoggerFactory.getLogger(PropertyRestUtils.class.getName());
@@ -307,4 +315,26 @@ public class PropertyRestUtils extends BaseRestUtils {
path.add(componentInstDetails.getUniqueId());
updatePropertyListWithPathParameterOnCompInst(service, path, list);
}
+
+ public static RestResponse declareProporties(Component componentObject, Map<String, List<ComponentInstanceInput>> componentInstancesInputs, User sdncModifierDetails)
+ throws Exception {
+ Config config = Config.instance();
+ String url = String.format(Urls.DECLARE_PROPERTIES, config.getCatalogBeHost(), config.getCatalogBePort(), ComponentTypeEnum.findParamByType(componentObject.getComponentType()), componentObject.getUniqueId());
+ String userId = sdncModifierDetails.getUserId();
+ Map<String, String> headersMap = prepareHeadersMap(userId);
+ Map<String, Object> jsonBuilder = new HashMap<>();
+ jsonBuilder.put("componentInstanceInputsMap", componentInstancesInputs);
+ Gson gson = new Gson();
+ String userBodyJson = gson.toJson(jsonBuilder);
+ String calculateMD5 = GeneralUtility.calculateMD5Base64EncodedByString(userBodyJson);
+ headersMap.put(HttpHeaderEnum.Content_MD5.getValue(), calculateMD5);
+ HttpRequest http = new HttpRequest();
+ // System.out.println(url);
+ // System.out.println(userBodyJson);
+ RestResponse declareProportiesResponse = http.httpSendPost(url, userBodyJson, headersMap);
+ if (declareProportiesResponse.getErrorCode() == STATUS_CODE_GET_SUCCESS) {
+
+ }
+ return declareProportiesResponse;
+ }
}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ResourceRestUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ResourceRestUtils.java
index ec8fd4089a..2f33273319 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ResourceRestUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ResourceRestUtils.java
@@ -53,13 +53,13 @@ import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
import org.openecomp.sdc.ci.tests.utils.Utils;
import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
import org.openecomp.sdc.common.util.GeneralUtility;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
public class ResourceRestUtils extends BaseRestUtils {
private static Logger logger = LoggerFactory.getLogger(ResourceRestUtils.class.getName());
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ResourceRestUtilsExternalAPI.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ResourceRestUtilsExternalAPI.java
index 19d7d728fe..d9b8ec3d4b 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ResourceRestUtilsExternalAPI.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ResourceRestUtilsExternalAPI.java
@@ -26,7 +26,6 @@ import org.openecomp.sdc.be.model.User;
import org.openecomp.sdc.ci.tests.api.Urls;
import org.openecomp.sdc.ci.tests.config.Config;
import org.openecomp.sdc.ci.tests.datatypes.ResourceExternalReqDetails;
-import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum;
import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ResponseParser.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ResponseParser.java
index c4b9764c96..6f83ec9d52 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ResponseParser.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/rest/ResponseParser.java
@@ -28,15 +28,12 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.Optional;
import org.apache.commons.codec.binary.Base64;
import org.apache.log4j.Logger;
-import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.Version;
import org.codehaus.jackson.map.DeserializationConfig;
import org.codehaus.jackson.map.JsonDeserializer;
-import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.module.SimpleModule;
import org.json.JSONArray;
@@ -55,14 +52,11 @@ import org.openecomp.sdc.be.model.category.CategoryDefinition;
import org.openecomp.sdc.be.model.operations.impl.PropertyOperation.PropertyConstraintJacksonDeserialiser;
import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails;
import org.openecomp.sdc.ci.tests.datatypes.ResourceAssetStructure;
-import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
import org.openecomp.sdc.ci.tests.datatypes.ResourceRespJavaObject;
import org.openecomp.sdc.ci.tests.datatypes.ServiceDistributionStatus;
import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
import org.openecomp.sdc.ci.tests.utils.Utils;
-import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
-import com.fasterxml.jackson.databind.DeserializationFeature;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
@@ -196,7 +190,6 @@ public class ResponseParser {
List<Resource> resources = Arrays.asList(mapper.readValue(response.toString(), Resource[].class));
resource = resources.get(0);
} catch (Exception e1) {
- // TODO Auto-generated catch block
e1.printStackTrace();
}
}
@@ -207,8 +200,7 @@ public class ResponseParser {
public static ComponentInstanceProperty convertPropertyResponseToJavaObject(String response) {
ObjectMapper mapper = new ObjectMapper();
- final SimpleModule module = new SimpleModule("customerSerializationModule",
- new Version(1, 0, 0, "static version"));
+ final SimpleModule module = new SimpleModule("customerSerializationModule", new Version(1, 0, 0, "static version"));
JsonDeserializer<PropertyConstraint> desrializer = new PropertyConstraintJacksonDeserialiser();
addDeserializer(module, PropertyConstraint.class, desrializer);
@@ -219,7 +211,6 @@ public class ResponseParser {
propertyDefinition = mapper.readValue(response, ComponentInstanceProperty.class);
logger.debug(propertyDefinition.toString());
} catch (IOException e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
return propertyDefinition;
@@ -238,7 +229,6 @@ public class ResponseParser {
artifactDefinition = mapper.readValue(response, ArtifactDefinition.class);
logger.debug(artifactDefinition.toString());
} catch (IOException e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
@@ -280,7 +270,6 @@ public class ResponseParser {
// System.out.println("Class: "+clazz.getSimpleName()+", json:
// "+json);
} catch (IOException e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
@@ -313,12 +302,12 @@ public class ResponseParser {
mapper.registerModule(module);
Service service = null;
try {
-// TODO Andrey L. uncomment line below in case to ignore on unknown properties, not recommended, added by Matvey
+// TODO Andrey L. uncomment line below in case to ignore on unknown properties, not recommended, added by Matvey
mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+
service = mapper.readValue(response, Service.class);
logger.debug(service.toString());
} catch (IOException e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
@@ -342,7 +331,6 @@ public class ResponseParser {
product = mapper.readValue(response, Product.class);
logger.debug(product.toString());
} catch (IOException e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
@@ -403,29 +391,9 @@ public class ResponseParser {
}
- public static List<Map<String, Object>> getAuditFromMessage(Map auditingMessage) {
+ public static List<Map<String, Object>> getAuditFromMessage(Map<String, Object> auditingMessage) {
List<Map<String, Object>> auditList = new ArrayList<Map<String, Object>>();
- // JsonElement jElement = new JsonParser().parse(auditingMessage);
- // JsonObject jObject = jElement.getAsJsonObject();
- // JsonObject hitsObject = (JsonObject) jObject.get("hits");
- // JsonArray hitsArray = (JsonArray) hitsObject.get("hits");
- //
- // Iterator<JsonElement> hitsIterator = hitsArray.iterator();
- // while(hitsIterator.hasNext())
- // {
- // JsonElement nextHit = hitsIterator.next();
- // JsonObject jHitObject = nextHit.getAsJsonObject();
- // JsonObject jSourceObject = (JsonObject) jHitObject.get("_source");
- //
- // Gson gson=new Gson();
- // String auditUnparsed = jSourceObject.toString();
- //
- // Map<String,Object> map = new HashMap<String,Object>();
- // map = (Map<String,Object>) gson.fromJson(auditUnparsed,
- // map.getClass());
-
auditList.add(auditingMessage);
- // }
return auditList;
}
@@ -609,4 +577,5 @@ public class ResponseParser {
return null;
}
+
}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/ArtifactValidationUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/ArtifactValidationUtils.java
index b211cb723b..a07300671f 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/ArtifactValidationUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/ArtifactValidationUtils.java
@@ -44,9 +44,7 @@ import org.openecomp.sdc.ci.tests.utils.Utils;
import org.openecomp.sdc.ci.tests.utils.general.FileUtils;
import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
-import com.google.gson.Gson;
import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class ArtifactValidationUtils {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/AuditValidationUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/AuditValidationUtils.java
index 1bef06ac03..4cf712f2fc 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/AuditValidationUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/AuditValidationUtils.java
@@ -726,56 +726,22 @@ public class AuditValidationUtils {
Map auditingMessage = null;
auditingMessage = retrieveAuditMessagesByPattern(action, body, false);
-
return auditingMessage;
}
- // public static List<Map<String, Object>>
- // parseAuditResourceByActionToList(String action, String body) throws
- // Exception {
- //
- // List<Map<String, Object>> auditList = new ArrayList<Map<String,
- // Object>>();
- //
- //// String auditingMessage = null;
- //
- // Map auditingMessage = null;
- // auditingMessage = retrieveAuditMessagesByPattern(action);
- //
- // if (body == null) {
- //// String pattern = "/_search?q=ACTION:\"" + action + "\"";
- //// auditingMessage = retrieveAuditMessagesByPattern(action);
- //// auditingMessage = retrieveAuditMessagesByPattern(pattern);
- // } else {
- //// auditingMessage = retrieveAuditMessagesUsingBody(body);
- // }
- //
- // return ResponseParser.getAuditFromMessage(auditingMessage);
- //
- // }
-
public static List<Map<String, Object>> parseAuditResourceByActionToList(String action,
Map<AuditingFieldsKeysEnum, String> body) throws Exception {
- List<Map<String, Object>> auditList = new ArrayList<Map<String, Object>>();
-
- // String auditingMessage = null;
-
Map auditingMessage = null;
if (body == null || body.isEmpty()) {
auditingMessage = retrieveAuditMessagesByPattern(action, null, false);
- // String pattern = "/_search?q=ACTION:\"" + action + "\"";
- // auditingMessage = retrieveAuditMessagesByPattern(action);
- // auditingMessage = retrieveAuditMessagesByPattern(pattern);
} else {
auditingMessage = retrieveAuditMessagesByPattern(action, body, false);
- // auditingMessage = retrieveAuditMessagesUsingBody(body);
}
return ResponseParser.getAuditFromMessage(auditingMessage);
-
}
public JSONObject buildElasticQueryStringObject(String defaultField, String queryValue) throws JSONException {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/BaseValidationUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/BaseValidationUtils.java
index 0d49d97302..eb3ee331ed 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/BaseValidationUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/BaseValidationUtils.java
@@ -28,7 +28,6 @@ import java.util.Arrays;
import org.openecomp.sdc.be.dao.api.ActionStatus;
import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo;
import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
-import org.openecomp.sdc.ci.tests.utils.Utils;
import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
import org.openecomp.sdc.exception.ResponseFormat;
import org.testng.Assert;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/CategoryValidationUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/CategoryValidationUtils.java
index d63a514b3a..cd2297fd19 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/CategoryValidationUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/CategoryValidationUtils.java
@@ -20,9 +20,10 @@
package org.openecomp.sdc.ci.tests.utils.validation;
+import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertNotNull;
import static org.testng.AssertJUnit.assertTrue;
-import static org.testng.AssertJUnit.assertEquals;
+
import org.json.JSONObject;
import org.openecomp.sdc.be.model.category.CategoryDefinition;
import org.openecomp.sdc.be.model.category.GroupingDefinition;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/CsarValidationUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/CsarValidationUtils.java
index 7423dbc808..12a5ab8082 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/CsarValidationUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/CsarValidationUtils.java
@@ -22,25 +22,14 @@ package org.openecomp.sdc.ci.tests.utils.validation;
import static org.testng.AssertJUnit.assertTrue;
-import java.io.File;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
import org.openecomp.sdc.be.model.Resource;
import org.openecomp.sdc.ci.tests.datatypes.GroupHeatMetaDefinition;
import org.openecomp.sdc.ci.tests.datatypes.HeatMetaFirstLevelDefinition;
import org.openecomp.sdc.ci.tests.datatypes.TypeHeatMetaDefinition;
-import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
import org.openecomp.sdc.ci.tests.utils.CsarParserUtils;
-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.rest.api.RestResponseAsByteArray;
-import org.openecomp.sdc.common.util.ZipUtil;
public class CsarValidationUtils {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/ErrorValidationUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/ErrorValidationUtils.java
index b79e4c63fc..ccddc30d6a 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/ErrorValidationUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/ErrorValidationUtils.java
@@ -29,7 +29,6 @@ import java.io.InputStream;
import java.util.List;
import java.util.Map;
-import org.yaml.snakeyaml.Yaml;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
import org.openecomp.sdc.ci.tests.config.Config;
@@ -38,6 +37,7 @@ import org.openecomp.sdc.ci.tests.datatypes.enums.ExceptionEnumType;
import org.openecomp.sdc.ci.tests.utils.Utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.yaml.snakeyaml.Yaml;
public class ErrorValidationUtils {
static Logger logger = LoggerFactory.getLogger(ErrorValidationUtils.class.getName());
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/ServiceValidationUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/ServiceValidationUtils.java
index a7c7b7d34e..2f8a0dffc4 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/ServiceValidationUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/ServiceValidationUtils.java
@@ -20,8 +20,9 @@
package org.openecomp.sdc.ci.tests.utils.validation;
-import static org.testng.AssertJUnit.assertFalse;
import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/UserValidationUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/UserValidationUtils.java
index 1fa20c19fd..a75434edcf 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/UserValidationUtils.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/validation/UserValidationUtils.java
@@ -20,8 +20,8 @@
package org.openecomp.sdc.ci.tests.utils.validation;
-import static org.testng.AssertJUnit.assertTrue;
import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertTrue;
import java.util.List;