Final commit to master merge from

Change-Id: Ib464f9a8828437c86fe6def8af238aaf83473507
Issue-ID: SDC-714
Signed-off-by: Tal Gitelman <tg851x@intl.att.com>
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ComponentBaseTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ComponentBaseTest.java
index fcbf3b2..a49d5c6 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ComponentBaseTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ComponentBaseTest.java
@@ -20,13 +20,21 @@
 
 package org.openecomp.sdc.ci.tests.api;
 
-import com.aventstack.extentreports.ExtentTest;
-import com.aventstack.extentreports.Status;
-import com.thinkaurelius.titan.core.TitanFactory;
-import com.thinkaurelius.titan.core.TitanGraph;
-import com.thinkaurelius.titan.core.TitanVertex;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNotNull;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Consumer;
+import java.util.stream.Collectors;
+
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.tuple.ImmutablePair;
 import org.apache.commons.lang3.tuple.ImmutableTriple;
 import org.apache.tinkerpop.gremlin.structure.Direction;
@@ -37,7 +45,11 @@
 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
 import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
-import org.openecomp.sdc.be.model.*;
+import org.openecomp.sdc.be.model.Component;
+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.config.Config;
 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
@@ -47,7 +59,13 @@
 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.general.FileHandling;
-import org.openecomp.sdc.ci.tests.utils.rest.*;
+import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
+import org.openecomp.sdc.ci.tests.utils.rest.CatalogRestUtils;
+import org.openecomp.sdc.ci.tests.utils.rest.CategoryRestUtils;
+import org.openecomp.sdc.ci.tests.utils.rest.ProductRestUtils;
+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.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.testng.ITestContext;
@@ -57,31 +75,21 @@
 import org.testng.annotations.AfterSuite;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.BeforeSuite;
-import org.testng.annotations.Test;
 
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.*;
-import java.util.function.Consumer;
-import java.util.stream.Collectors;
+import com.aventstack.extentreports.ExtentTest;
+import com.aventstack.extentreports.Status;
+import com.thinkaurelius.titan.core.TitanFactory;
+import com.thinkaurelius.titan.core.TitanGraph;
+import com.thinkaurelius.titan.core.TitanVertex;
 
-import static org.testng.AssertJUnit.assertEquals;
-import static org.testng.AssertJUnit.assertNotNull;
-
-
+import ch.qos.logback.classic.Level;
+import ch.qos.logback.classic.LoggerContext;
 
 
 public abstract class ComponentBaseTest {
 
-//	private static Logger logger = LoggerFactory.getLogger(ComponentBaseTest.class.getName());
+
 	protected static Logger logger= LoggerFactory.getLogger(ComponentBaseTest.class);
-	
-
-//	 public ComponentBaseTest(TestName testName, String className) {
-//	 super(testName, className);
-//	 }
-
 	protected static final String REPORT_FOLDER = "." + File.separator + "ExtentReport" + File.separator;
 	private static final String VERSIONS_INFO_FILE_NAME = "versions.info";
 	private static final String REPORT_FILE_NAME = "SDC_CI_Extent_Report.html";
@@ -93,7 +101,8 @@
 	
 	/**************** METHODS ****************/
 	public static ExtentTest getExtendTest() {
-		return ExtentTestManager.getTest();
+		SomeInterface testManager = new ExtentTestManager(); 
+		return testManager.getTest();
 	}
 
 	public static enum ComponentOperationEnum {
@@ -101,16 +110,12 @@
 	};
 
 	public ComponentBaseTest(TestName name, String name2) {
-		// TODO Auto-generated constructor stub
-//		LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
-//		lc.getLogger("com.thinkaurelius").setLevel(Level.INFO);
-//		lc.getLogger("com.datastax").setLevel(Level.INFO);
-//		lc.getLogger("io.netty").setLevel(Level.INFO);
-//		lc.getLogger("c.d").setLevel(Level.INFO);
-//		lc.getLogger("o.a.h").setLevel(Level.INFO);
-//		lc.getLogger("o.o.s.c.t.d.h").setLevel(Level.INFO);
-
-}
+		LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
+		lc.getLogger("com.thinkaurelius").setLevel(Level.INFO);
+		lc.getLogger("com.datastax").setLevel(Level.INFO);
+		lc.getLogger("io.netty").setLevel(Level.INFO);
+		lc.getLogger("c.d").setLevel(Level.INFO);
+	}
 	
 	public static String getReportFolder() {
 		return REPORT_FOLDER;
@@ -124,33 +129,26 @@
 		AtomicOperationUtils.createDefaultConsumer(true);
 		openTitanLogic();
 		performClean();
-		
-		String basePath = FileHandling.getBasePath();
-		String csarDir = FileHandling.getCreateDirByName("outputCsar");
-		FileUtils.cleanDirectory(new File(csarDir));
+
+
+
 	}
 	
 	@BeforeMethod(alwaysRun = true)
-	public void setBrowserBeforeTest(java.lang.reflect.Method method, ITestContext context) throws Exception {
+	public void setupBeforeTest(java.lang.reflect.Method method, ITestContext context) throws Exception {
 
-
-//		    String suiteName = ExtentManager.getSuiteName(context);
-//			ExtentTestManager.startTest(method.getName());
-//			ExtentTestManager.assignCategory(this.getClass());
-
-		boolean emptyDataProvider = method.getAnnotation(Test.class).dataProvider().isEmpty();
-		String className = method.getDeclaringClass().getName();
 		System.out.println(" method.getName() " + method.getName());
 		if (!method.getName().equals("onboardVNFShotFlow"))  {
-			System.out.println("ExtentReport instance started from BeforeMethod...");
+//			System.out.println("ExtentReport instance started from BeforeMethod...");
+			logger.info("ExtentReport instance started from BeforeMethod...");
 			ExtentTestManager.startTest(method.getName());
 			ExtentTestManager.assignCategory(this.getClass());
 
 		} else {
-			System.out.println("ExtentReport instance started from Test...");
+//			System.out.println("ExtentReport instance started from Test...");
+			logger.debug("ExtentReport instance started from Test...");
 		}
       
-
 	}
 	
 	@AfterMethod(alwaysRun = true)
@@ -187,8 +185,13 @@
 	@AfterClass(alwaysRun = true)
 	public synchronized static void cleanAfterClass() throws Exception{
 
+//		System.out.println("<<<<<<<<class name>>>>>"+method.getDeclaringClass());
+//		System.out.println("<<<<<<<<class name>>>>>"+method.getName());
+
+
 		System.out.println("delete components AfterClass");
 		deleteCreatedComponents(getCatalogAsMap());
+//		extentReport.flush();
 
 	}
 	
@@ -197,6 +200,7 @@
 		
 		performClean();
 		shutdownTitanLogic();
+
 	}
 
 	protected static void openTitanLogic() throws Exception {
@@ -228,8 +232,14 @@
 
 	protected static void performClean() throws Exception, FileNotFoundException {
 //		cleanComponents();
-		deleteCreatedComponents(getCatalogAsMap());
-		CassandraUtils.truncateAllKeyspaces();
+		if(!config.getSystemUnderDebug()){
+			deleteCreatedComponents(getCatalogAsMap());
+			CassandraUtils.truncateAllKeyspaces();
+			FileHandling.overWriteExistindDir("outputCsar");
+
+		}else{
+			System.out.println("Accordindig to configuration components will not be deleted, in case to unable option to delete, please change systemUnderDebug parameter value to false ...");
+		}
 	}
 
 	public void verifyErrorCode(RestResponse response, String action, int expectedCode) {
@@ -372,13 +382,14 @@
 		titanGraph.tx().commit();
 
 		String adminId = UserRoleEnum.ADMIN.getUserId();
-		String productStrategistId = UserRoleEnum.PRODUCT_STRATEGIST1.getUserId();
+	/*	String productStrategistId = UserRoleEnum.PRODUCT_STRATEGIST1.getUserId();*/
 
 		// Component delete
-		for (String id : productsToDelete) {
+		
+/*		for (String id : productsToDelete) {
 			RestResponse deleteProduct = ProductRestUtils.deleteProduct(id, productStrategistId);
 
-		}
+		}*/
 		for (String id : servicesToDelete) {
 			RestResponse deleteServiceById = ServiceRestUtils.deleteServiceById(id, adminId);
 
@@ -394,7 +405,7 @@
 		}
 
 		// Categories delete - product
-		String componentType = BaseRestUtils.PRODUCT_COMPONENT_TYPE;
+		/*String componentType = BaseRestUtils.PRODUCT_COMPONENT_TYPE;
 		for (ImmutableTriple<String, String, String> triple : productGroupingsToDelete) {
 			CategoryRestUtils.deleteGrouping(triple.getRight(), triple.getMiddle(), triple.getLeft(), productStrategistId, componentType);
 		}
@@ -403,10 +414,10 @@
 		}
 		for (String id : productCategoriesToDelete) {
 			CategoryRestUtils.deleteCategory(id, productStrategistId, componentType);
-		}
+		}*/
 
 		// Categories delete - resource
-		componentType = BaseRestUtils.RESOURCE_COMPONENT_TYPE;
+		String componentType = BaseRestUtils.RESOURCE_COMPONENT_TYPE;
 		for (ImmutablePair<String, String> pair : resourceSubsToDelete) {
 			CategoryRestUtils.deleteSubCategory(pair.getRight(), pair.getLeft(), adminId, componentType);
 		}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ComponentInstanceBaseTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ComponentInstanceBaseTest.java
index 47efca6..4fe9d62 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ComponentInstanceBaseTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ComponentInstanceBaseTest.java
@@ -33,8 +33,8 @@
 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;
@@ -46,7 +46,7 @@
 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;
@@ -641,7 +641,7 @@
 
 	private 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);
@@ -729,7 +729,7 @@
 
 	private 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();
 		Map<String, List<RequirementDefinition>> map = removedRequirements.get(fromId);
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ExtentManager.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ExtentManager.java
index 335b787..26edee9 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ExtentManager.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ExtentManager.java
@@ -20,19 +20,19 @@
 
 package org.openecomp.sdc.ci.tests.api;
 
-import com.aventstack.extentreports.ExtentReports;
-import com.aventstack.extentreports.reporter.ExtentHtmlReporter;
-import com.aventstack.extentreports.reporter.ExtentXReporter;
-import com.aventstack.extentreports.reporter.configuration.Protocol;
-import com.aventstack.extentreports.reporter.configuration.Theme;
-import org.openecomp.sdc.ci.tests.config.Config;
+import java.io.File;
 
+import org.openecomp.sdc.ci.tests.config.Config;
 import org.openecomp.sdc.ci.tests.utils.Utils;
 import org.openecomp.sdc.ci.tests.utils.general.FileHandling;
 import org.openecomp.sdc.ci.tests.utils.rest.AutomationUtils;
 import org.testng.ITestContext;
 
-import java.io.File;
+import com.aventstack.extentreports.ExtentReports;
+import com.aventstack.extentreports.reporter.ExtentHtmlReporter;
+import com.aventstack.extentreports.reporter.ExtentXReporter;
+import com.aventstack.extentreports.reporter.configuration.Protocol;
+import com.aventstack.extentreports.reporter.configuration.Theme;
 
 public class ExtentManager {
 	
@@ -40,7 +40,12 @@
 	private static ExtentReports extent;
 	private static ExtentHtmlReporter htmlReporter;
 	private static ExtentXReporter extentxReporter;
-
+	private static final String icon = "$(document).ready(function() {" +"\n"+
+                    "$('.brand-logo').html('').prepend(\"<span><img src='data:image/png;base64,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' style='display: block; margin-left: auto; margin-right: auto; margin-top: 7px; width: 89px;'/></span>\").width(\"120px\").css(\"float\",\"left\").css(\"padding-left\",\"0\");$('.report-name').css(\"font-weight\",\"bold\");"+"\n"+
+//                    "$('.logo-content' ).remove();"+"\n"+
+//                    "$('#slide-out li:first-child').on('click', function(){ $('#charts-row').hide() }) ; $('#slide-out li:last-child').on('click', function(){ $('#charts-row').show() });"+"\n"+
+//                    "$('.charts div:nth-child(2)').remove();"+"\n"+
+					"})";
 
 	public enum suiteNameXml {
 		
@@ -145,7 +150,7 @@
 //    	htmlReporter.config().setReportName(AutomationUtils.getATTVersion());
     	htmlReporter.config().setReportName("SDC Automation Report");
     	htmlReporter.config().setChartVisibilityOnOpen(false);
-//    	htmlReporter.config().setJS(icon);
+    	htmlReporter.config().setJS(icon);
     	return htmlReporter;
     }
 	
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ExtentTestActions.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ExtentTestActions.java
index f865ef1..045d565 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ExtentTestActions.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ExtentTestActions.java
@@ -20,25 +20,26 @@
 
 package org.openecomp.sdc.ci.tests.api;
 
+import java.io.File;
+
 import com.aventstack.extentreports.ExtentTest;
-import com.aventstack.extentreports.MediaEntityBuilder;
 import com.aventstack.extentreports.Status;
 import com.aventstack.extentreports.markuputils.ExtentColor;
 import com.aventstack.extentreports.markuputils.Markup;
 import com.aventstack.extentreports.markuputils.MarkupHelper;
 
-import java.io.File;
-
 
 public class ExtentTestActions {
 	
+	public static SomeInterface testManager = new ExtentTestManager();
+	
 	public static void log(Status logStatus, Markup mark){
-		ExtentTest test = ExtentTestManager.getTest();
+		ExtentTest test = testManager.getTest();
 		test.log(logStatus, mark);
 	}
 
 	public static void log(Status logStatus, String message){
-		ExtentTest test = ExtentTestManager.getTest();
+		ExtentTest test = testManager.getTest();
 		test.log(logStatus, message);
 	}
 	
@@ -47,7 +48,7 @@
 	}
 	
 	public static void log(Status logStatus, Throwable throwabel){
-		ExtentTest test = ExtentTestManager.getTest();
+		ExtentTest test = testManager.getTest();
 		test.log(logStatus, throwabel);
 	}
 	
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ExtentTestManager.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ExtentTestManager.java
index 3d8c6a9..b525150 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ExtentTestManager.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ExtentTestManager.java
@@ -20,17 +20,20 @@
 
 package org.openecomp.sdc.ci.tests.api;
 
+import java.util.HashMap;
+
 import com.aventstack.extentreports.ExtentReports;
 import com.aventstack.extentreports.ExtentTest;
 
-import java.util.HashMap;
-
-public class ExtentTestManager {
-
+public class ExtentTestManager implements SomeInterface{
 		private static HashMap<Long, ExtentTest> extentTestMap = new HashMap<Long, ExtentTest>();
 		private static ExtentReports extent = ExtentManager.getReporter();
-
-	    public static synchronized ExtentTest getTest() {
+		
+		public ExtentTestManager(){			
+		}
+        
+		@Override
+	    public synchronized ExtentTest getTest() {
 	        return extentTestMap.get(Thread.currentThread().getId());
 	    }
 
@@ -54,7 +57,7 @@
 			String[] parts = clazz.getName().split("\\.");
 			String lastOne1 = parts[parts.length-1];
 			String lastOne2 = parts[parts.length-2];
-			getTest().assignCategory(lastOne2 + "-" + lastOne1);
+			extentTestMap.get(Thread.currentThread().getId()).assignCategory(lastOne2 + "-" + lastOne1);
 	    }
 	    
 	    	
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/SomeInterface.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/SomeInterface.java
new file mode 100644
index 0000000..e71a16b
--- /dev/null
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/SomeInterface.java
@@ -0,0 +1,9 @@
+package org.openecomp.sdc.ci.tests.api;
+
+import com.aventstack.extentreports.ExtentTest;
+
+public interface SomeInterface {
+	
+	abstract ExtentTest getTest();
+
+}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/Urls.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/Urls.java
index 15a1eb7..fd6e9ee 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/Urls.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/Urls.java
@@ -142,7 +142,7 @@
 
 	final String GET_FOLLWED_LIST = "http://%s:%s/sdc2/rest/v1/followed";
 
-	final String GET_CATALOG_DATA = "http://%s:%s/sdc2/rest/v1/screen";
+	final String GET_CATALOG_DATA = "http://%s:%s/sdc2/rest/v1/screen/?excludeTypes=VFCMT&excludeTypes=Configuration";
 
 	// *****************************************Resources
 	// **********************************************************************
@@ -179,6 +179,7 @@
 	final String CHANGE_COMPONENT_LIFECYCLE_STATE = "http://%s:%s/sdc2/rest/v1/catalog/%s/%s/lifecycleState/%s";
 
 	final String CREATE_PROPERTY = "http://%s:%s/sdc2/rest/v1/catalog/resources/%s/properties";
+	final String DECLARE_PROPERTIES  = "http://%s:%s/sdc2/rest/v1/catalog/%s/%s/create/inputs";
 
 	final String UPDATE_RESOURCE_METADATA = "http://%s:%s/sdc2/rest/v1/catalog/resources/%s/metadata";
 
@@ -285,6 +286,7 @@
 	final String DISTRIBUTION_DOWNLOAD_ARTIFACT = "http://%s:%s/download";
 	final String ACTIVATE_DISTRIBUTION = "http://%s:%s/sdc2/rest/v1/catalog/services/%s/distribution/%s/activate";
 	final String DISTRIBUTION_SERVICE_LIST = "http://%s:%s/sdc2/rest/v1/catalog/services/%s/distribution";
+	final String DISTRIBUTION_SERVICE_MONITOR = "http://%s:%s/sdc2/rest/v1/catalog/services/distribution/%s";
 
 	final String DEPLOY_SERVICE = "http://%s:%s/sdc2/rest/v1/catalog/services/%s/distribution/%s/markDeployed";
 	final String UPDATE_SERVICE_METADATA = "http://%s:%s/sdc2/rest/v1/catalog/services/%s/metadata";
@@ -366,5 +368,22 @@
 	
 //	amdocs APIs
 	final String GET_VENDOR_SOFTWARE_PRODUCT = "http://%s:%s/onboarding-api/v1.0/vendor-software-products/packages/%s";
-	
+	final String UPLOAD_SNMP_POLL_ARTIFACT = "http://%s:%s/onboarding-api/v1.0/vendor-software-products/%s/versions/0.1/components/%s/uploads/types/SNMP_POLL";
+	final String UPLOAD_SNMP_TRAP_ARTIFACT = "http://%s:%s/onboarding-api/v1.0/vendor-software-products/%s/versions/0.1/components/%s/uploads/types/SNMP_TRAP";
+	final String UPLOAD_VES_EVENTS_ARTIFACT = "http://%s:%s/onboarding-api/v1.0/vendor-software-products/%s/versions/0.1/components/%s/uploads/types/VES_EVENTS";
+	final String UPLOAD_AMDOCS_ARTIFACT = "http://%s:%s/onboarding-api/v1.0/vendor-software-products/%s/versions/0.1/components/%s/uploads/types/%s";
+	final String DELETE_AMDOCS_ARTIFACT_BY_TYPE = "http://%s:%s/onboarding-api/v1.0/vendor-software-products/%s/versions/0.1/components/%s/monitors/%s";
+	final String GET_VSP_COMPONENTS = "http://%s:%s/onboarding-api/v1.0/vendor-software-products/%s/versions/0.1/components";
+	final String CREATE_VENDOR_LISENCE_MODELS = "http://%s:%s/onboarding-api/v1.0/vendor-license-models";
+	final String CREATE_VENDOR_LISENCE_AGREEMENT = "http://%s:%s/onboarding-api/v1.0/vendor-license-models/%s/versions/0.1/license-agreements";
+	final String CREATE_VENDOR_LISENCE_FEATURE_GROUPS = "http://%s:%s/onboarding-api/v1.0/vendor-license-models/%s/versions/0.1/feature-groups";
+	final String CREATE_VENDOR_LISENCE_ENTITLEMENT_POOL = "http://%s:%s/onboarding-api/v1.0/vendor-license-models/%s/versions/0.1/entitlement-pools";
+	final String CREATE_VENDOR_LISENCE_KEY_GROUPS = "http://%s:%s/onboarding-api/v1.0/vendor-license-models/%s/versions/0.1/license-key-groups";
+	final String CREATE_VENDOR_SOFTWARE_PRODUCT = "http://%s:%s/onboarding-api/v1.0/vendor-software-products";
+	final String VALIDATE_UPLOAD = "http://%s:%s/onboarding-api/v1.0/vendor-software-products/%s/versions/0.1/orchestration-template-candidate/process";
+	final String UPLOAD_HEAT_PACKAGE = "http://%s:%s/onboarding-api/v1.0/vendor-software-products/%s/versions/%s/orchestration-template-candidate";
+	final String ACTION_ON_COMPONENT = "http://%s:%s/onboarding-api/v1.0/%s/%s/versions/%s/actions";
+	final String UPDATE_VSP = "http://%s:%s/onboarding-api/v1.0/vendor-software-products/%s/versions/%s";
+	final String GET_VSP_COMPONENT_BY_VERSION = "http://%s:%s/onboarding-api/v1.0/vendor-software-products/%s/versions/%s";
+	final String GET_VLM_COMPONENT_BY_VERSION = "http://%s:%s/onboarding-api/v1.0/vendor-license-models/%s/versions/%s";
 }
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/config/Config.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/config/Config.java
index d2e8d14..7bb4602 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/config/Config.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/config/Config.java
@@ -174,7 +174,6 @@
 				try {
 					in.close();
 				} catch (IOException e) {
-					// TODO Auto-generated catch block
 					e.printStackTrace();
 				}
 			}
@@ -216,7 +215,6 @@
 				try {
 					in.close();
 				} catch (IOException e) {
-					// TODO Auto-generated catch block
 					e.printStackTrace();
 				}
 			}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProviders/OnboardingDataProviders.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProviders/OnboardingDataProviders.java
index cf94c79..fc75ffb 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProviders/OnboardingDataProviders.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProviders/OnboardingDataProviders.java
@@ -1,14 +1,13 @@
 package org.openecomp.sdc.ci.tests.dataProviders;
 
-import org.openecomp.sdc.ci.tests.utils.general.FileHandling;
-import org.openecomp.sdc.ci.tests.utils.general.OnboardingUtils;
-import org.testng.annotations.DataProvider;
-
-
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
+import org.openecomp.sdc.ci.tests.utils.general.FileHandling;
+import org.openecomp.sdc.ci.tests.utils.general.OnboardingUtils;
+import org.testng.annotations.DataProvider;
+
 public class OnboardingDataProviders {
 
 	protected static String filepath = FileHandling.getVnfRepositoryPath();
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProviders/OnbordingDataProviders.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProviders/OnbordingDataProviders.java
new file mode 100644
index 0000000..8a9171e
--- /dev/null
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProviders/OnbordingDataProviders.java
@@ -0,0 +1,76 @@
+package org.openecomp.sdc.ci.tests.dataProviders;
+
+import static org.testng.Assert.assertFalse;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.openecomp.sdc.ci.tests.utils.general.FileHandling;
+import org.openecomp.sdc.ci.tests.utils.general.OnboardingUtils;
+import org.testng.annotations.DataProvider;
+
+public class OnbordingDataProviders {
+
+	protected static String filepath = FileHandling.getVnfRepositoryPath();
+	
+//	-----------------------dataProviders-----------------------------------------	
+	@DataProvider(name = "randomVNF_List", parallel = false)
+	private static final Object[][] randomVnfList() throws Exception {
+		int randomElementNumber = 3; //how many VNFs to onboard randomly
+		List<String> fileNamesFromFolder = OnboardingUtils.getVnfNamesFileListExcludeToscaParserFailure();
+		List<String> newRandomFileNamesFromFolder = getRandomElements(randomElementNumber, fileNamesFromFolder);
+		if(newRandomFileNamesFromFolder == null){
+			assertFalse(true,"Requered number of VNF files not exists under " + filepath);
+		}
+		System.out.println(String.format("There are %s zip file(s) to test", newRandomFileNamesFromFolder.size()));
+		return provideData(newRandomFileNamesFromFolder, filepath);
+	}
+	
+	@DataProvider(name = "VNF_List" , parallel = true)
+	private static final Object[][] VnfList() throws Exception {
+		
+		List<String> fileNamesFromFolder = OnboardingUtils.getVnfNamesFileList();
+		
+		System.out.println(String.format("There are %s zip file(s) to test", fileNamesFromFolder.size()));
+		return provideData(fileNamesFromFolder, filepath);
+	}
+	
+//	-----------------------factories-----------------------------------------
+
+
+	
+	
+//	-----------------------methods-----------------------------------------
+	public static Object[][] provideData(List<String> fileNamesFromFolder, String filepath) {
+		
+		Object[][] arObject = new Object[fileNamesFromFolder.size()][];
+		int index = 0;
+		for (Object obj : fileNamesFromFolder) {
+			arObject[index++] = new Object[] { filepath, obj };
+		}
+		return arObject;
+	}
+	
+	public static List<String> getRandomElements(int randomElementNumber, List<String> fileNamesFromFolder) {
+		if(fileNamesFromFolder.size() == 0 || fileNamesFromFolder.size() < randomElementNumber){
+			return null;
+		}else{
+			List<Integer> indexList = new ArrayList<>();
+			List<String> newRandomFileNamesFromFolder = new ArrayList<>(); 
+			for(int i = 0; i < fileNamesFromFolder.size(); i++){
+				indexList.add(i);
+			}
+			Collections.shuffle(indexList);
+			Integer[] randomArray = indexList.subList(0, randomElementNumber).toArray(new Integer[randomElementNumber]);
+			for(int i = 0; i < randomArray.length; i++){
+				newRandomFileNamesFromFolder.add(fileNamesFromFolder.get(randomArray[i]));
+			}
+			return newRandomFileNamesFromFolder;
+		}
+	}
+	
+	
+	
+	
+}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/AmdocsLicenseMembers.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/AmdocsLicenseMembers.java
index 9c2cfa8..30efbc3 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/AmdocsLicenseMembers.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/AmdocsLicenseMembers.java
@@ -6,6 +6,35 @@
 	private String vendorLicenseName;
 	private String vendorLicenseAgreementId;
 	private String featureGroupId;
+	private String licenseVersionId;
+	private String licenseVersionLabel;
+	private String version;
+
+	public AmdocsLicenseMembers(String vendorId, String vendorLicenseName, String vendorLicenseAgreementId,
+			String featureGroupId, String licenseVersionId, String licenseVersionLabel) {
+		this.vendorId = vendorId;
+		this.vendorLicenseName = vendorLicenseName;
+		this.vendorLicenseAgreementId = vendorLicenseAgreementId;
+		this.featureGroupId = featureGroupId;
+		this.licenseVersionId = licenseVersionId;
+		this.licenseVersionLabel = licenseVersionLabel;
+	}
+
+	public String getLicenseVersionId() {
+		return licenseVersionId;
+	}
+
+	public void setLicenseVersionId(String licenseVersionId) {
+		this.licenseVersionId = licenseVersionId;
+	}
+
+	public String getLicenseVersionLabel() {
+		return licenseVersionLabel;
+	}
+
+	public void setLicenseVersionLabel(String licenseVersionLabel) {
+		this.licenseVersionLabel = licenseVersionLabel;
+	}
 
 	public AmdocsLicenseMembers(String vendorId, String vendorLicenseName, String vendorLicenseAgreementId, String featureGroupId) {
 		super();
@@ -47,10 +76,26 @@
 		this.featureGroupId = featureGroupId;
 	}
 
+	public String getVersion() {
+		return version;
+	}
+
+	public void setVersion(String version) {
+		this.version = version;
+	}
+
 	@Override
 	public String toString() {
-		return "AmdocsLicenseMembers [vendorId=" + vendorId + ", vendorLicenseName=" + vendorLicenseName + ", vendorLicenseAgreementId=" + vendorLicenseAgreementId + ", featureGroupId=" + featureGroupId + "]";
+		return "AmdocsLicenseMembers{" +
+				"vendorId='" + vendorId + '\'' +
+				", vendorLicenseName='" + vendorLicenseName + '\'' +
+				", vendorLicenseAgreementId='" + vendorLicenseAgreementId + '\'' +
+				", featureGroupId='" + featureGroupId + '\'' +
+				", licenseVersionId='" + licenseVersionId + '\'' +
+				", licenseVersionLabel='" + licenseVersionLabel + '\'' +
+				", version='" + version + '\'' +
+				'}';
 	}
-	
-	
+
+
 }
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ArtifactAssetStructure.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ArtifactAssetStructure.java
index 41936e2..37f6243 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ArtifactAssetStructure.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ArtifactAssetStructure.java
@@ -49,7 +49,6 @@
 
 	public ArtifactAssetStructure() {
 		super();
-		// TODO Auto-generated constructor stub
 	}
 
 	public String getArtifactName() {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ArtifactReqDetails.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ArtifactReqDetails.java
index 93f65b9..15e1e0a 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ArtifactReqDetails.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ArtifactReqDetails.java
@@ -22,7 +22,6 @@
 
 import java.util.List;
 
-import org.openecomp.sdc.be.model.ArtifactDefinition;
 import org.openecomp.sdc.be.model.HeatParameterDefinition;
 
 public class ArtifactReqDetails {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ComponentInstanceReqDetails.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ComponentInstanceReqDetails.java
index 549700f..13e51a0 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ComponentInstanceReqDetails.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ComponentInstanceReqDetails.java
@@ -33,7 +33,6 @@
 
 	public ComponentInstanceReqDetails() {
 		super();
-		// TODO Auto-generated constructor stub
 	}
 
 	public ComponentInstanceReqDetails(ComponentInstance componentInstance) {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/DistributionMonitorObject.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/DistributionMonitorObject.java
new file mode 100644
index 0000000..8f259f4
--- /dev/null
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/DistributionMonitorObject.java
@@ -0,0 +1,69 @@
+package org.openecomp.sdc.ci.tests.datatypes;
+
+public class DistributionMonitorObject {
+	
+	private String omfComponentID;
+	private String timestamp;
+	private String url;
+	private String status;
+	private String errorReason;
+	
+	public DistributionMonitorObject() {
+		super();
+	}
+
+	public DistributionMonitorObject(String omfComponentID, String timestamp, String url, String status, String errorReason) {
+		super();
+		this.omfComponentID = omfComponentID;
+		this.timestamp = timestamp;
+		this.url = url;
+		this.status = status;
+		this.errorReason = errorReason;
+	}
+
+	public String getOmfComponentID() {
+		return omfComponentID;
+	}
+
+	public void setOmfComponentID(String omfComponentID) {
+		this.omfComponentID = omfComponentID;
+	}
+
+	public String getTimestamp() {
+		return timestamp;
+	}
+
+	public void setTimestamp(String timestamp) {
+		this.timestamp = timestamp;
+	}
+
+	public String getUrl() {
+		return url;
+	}
+
+	public void setUrl(String url) {
+		this.url = url;
+	}
+
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public String getErrorReason() {
+		return errorReason;
+	}
+
+	public void setErrorReason(String errorReason) {
+		this.errorReason = errorReason;
+	}
+
+	@Override
+	public String toString() {
+		return "DistributionMonitorObject [omfComponentID=" + omfComponentID + ", timestamp=" + timestamp + ", url=" + url + ", status=" + status + ", errorReason=" + errorReason + "]";
+	}
+	
+}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/HeatMetaFirstLevelDefinition.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/HeatMetaFirstLevelDefinition.java
index 4e76022..8803302 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/HeatMetaFirstLevelDefinition.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/HeatMetaFirstLevelDefinition.java
@@ -36,7 +36,6 @@
 	
 	public HeatMetaFirstLevelDefinition() {
 		super();
-		// TODO Auto-generated constructor stub
 	}
 
 	public String getFileName() {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ImportReqDetails.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ImportReqDetails.java
index 638ece8..0089eec 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ImportReqDetails.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ImportReqDetails.java
@@ -32,12 +32,9 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.Iterator;
-import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 
 import org.codehaus.jackson.map.ObjectMapper;
 import org.codehaus.jettison.json.JSONArray;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/LicensingData.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/LicensingData.java
new file mode 100644
index 0000000..70bd4e8
--- /dev/null
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/LicensingData.java
@@ -0,0 +1,39 @@
+package org.openecomp.sdc.ci.tests.datatypes;
+import java.util.List;
+
+public class LicensingData {
+    private String licenseAgreement;
+    private List<String> featureGroups = null;
+
+    public LicensingData() {
+    }
+
+    public LicensingData(String licenseAgreement, List<String> featureGroups) {
+        this.licenseAgreement = licenseAgreement;
+        this.featureGroups = featureGroups;
+    }
+
+    public String getLicenseAgreement() {
+        return licenseAgreement;
+    }
+
+    public void setLicenseAgreement(String licenseAgreement) {
+        this.licenseAgreement = licenseAgreement;
+    }
+
+    public List<String> getFeatureGroups() {
+        return featureGroups;
+    }
+
+    public void setFeatureGroups(List<String> featureGroups) {
+        this.featureGroups = featureGroups;
+    }
+
+    @Override
+    public String toString() {
+        return "LicensingData{" +
+                "licenseAgreement='" + licenseAgreement + '\'' +
+                ", featureGroups=" + featureGroups +
+                '}';
+    }
+}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/LicensingVersion.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/LicensingVersion.java
new file mode 100644
index 0000000..82838cc
--- /dev/null
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/LicensingVersion.java
@@ -0,0 +1,31 @@
+package org.openecomp.sdc.ci.tests.datatypes;
+
+public class LicensingVersion {
+
+    private String id;
+    private String label;
+
+    public LicensingVersion(String id, String label) {
+        this.id = id;
+        this.label = label;
+    }
+
+    public LicensingVersion() {
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    @Override
+    public String toString() {
+        return "LicensingVersion{" +
+                "id='" + id + '\'' +
+                ", label='" + label + '\'' +
+                '}';
+    }
+}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ResourceExternalReqDetails.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ResourceExternalReqDetails.java
index a5132e8..4d5806b 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ResourceExternalReqDetails.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ResourceExternalReqDetails.java
@@ -23,7 +23,6 @@
 import java.util.List;
 
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
-import org.openecomp.sdc.be.model.Resource;
 
 public class ResourceExternalReqDetails extends ComponentReqDetails {
 	String vendorName;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ResourceRespJavaObject.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ResourceRespJavaObject.java
index 8779c49..a915af4 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ResourceRespJavaObject.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ResourceRespJavaObject.java
@@ -144,7 +144,6 @@
 
 	public ResourceRespJavaObject() {
 		super();
-		// TODO Auto-generated constructor stub
 	}
 
 	// public ResourceRespJavaObject(String uniqueId, String resourceName,
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ServiceDistributionStatus.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ServiceDistributionStatus.java
index dde1f27..fa80999 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ServiceDistributionStatus.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ServiceDistributionStatus.java
@@ -29,7 +29,6 @@
 	
 	public ServiceDistributionStatus() {
 		super();
-		// TODO Auto-generated constructor stub
 	}
 
 	public ServiceDistributionStatus(String distributionID, String timestamp, String userId, String deployementStatus) {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ServiceReqDetails.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ServiceReqDetails.java
index 2f3d648..fbcbfd4 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ServiceReqDetails.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ServiceReqDetails.java
@@ -27,10 +27,10 @@
 
 public class ServiceReqDetails extends ComponentReqDetails {
 	
-	protected String serviceType;
-	protected String serviceRole;
-	protected String namingPolicy;
-	protected Boolean ecompGeneratedNaming;
+	protected String serviceType = "MyServiceType";
+	protected String serviceRole = "MyServiceRole";
+	protected String namingPolicy = "MyServiceNamingPolicy";
+	protected Boolean ecompGeneratedNaming = true;
 
 	public String getServiceType() {
 		return serviceType;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ServiceRespJavaObject.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ServiceRespJavaObject.java
index 723f6a4..7bec221 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ServiceRespJavaObject.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/ServiceRespJavaObject.java
@@ -21,7 +21,6 @@
 package org.openecomp.sdc.ci.tests.datatypes;
 
 import java.util.ArrayList;
-import java.util.List;
 
 public class ServiceRespJavaObject {
 
@@ -50,7 +49,6 @@
 
 	public ServiceRespJavaObject() {
 		super();
-		// TODO Auto-generated constructor stub
 	}
 
 	public ServiceRespJavaObject(String category, String creatorUserId, String creatorFullName,
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/VendorSoftwareProductObject.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/VendorSoftwareProductObject.java
index fbdb88e..8b40210 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/VendorSoftwareProductObject.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/VendorSoftwareProductObject.java
@@ -1,47 +1,27 @@
 package org.openecomp.sdc.ci.tests.datatypes;
 
-public class VendorSoftwareProductObject {
+public class VendorSoftwareProductObject extends VendorSoftwareProductObjectReqDetails {
 
-	private String vendorName;
 	private String vspId;
-	private String category;
-	private String subCategory;
 	private String componentId;
-	private String description;
 	private String attContact;
-	private String vspName;
-	
-	public VendorSoftwareProductObject() {
-		super();
-		// TODO Auto-generated constructor stub
-	}
+	private String version;
 
-	public VendorSoftwareProductObject(String vendorName, String vspId, String category, String subCategory, String componentId, String description, String attContact) {
-		super();
-		this.vendorName = vendorName;
+	public VendorSoftwareProductObject(){super();}
+
+	public VendorSoftwareProductObject(String vspId, String componentId, String attContact, String version) {
 		this.vspId = vspId;
-		this.category = category;
-		this.subCategory = subCategory;
 		this.componentId = componentId;
-		this.description = description;
 		this.attContact = attContact;
+		this.version = version;
 	}
 
-	
-	public String getVspName() {
-		return vspName;
-	}
-
-	public void setVspName(String vspName) {
-		this.vspName = vspName;
-	}
-
-	public String getVendorName() {
-		return vendorName;
-	}
-
-	public void setVendorName(String vendorName) {
-		this.vendorName = vendorName;
+	public VendorSoftwareProductObject(String name, String description, String category, String subCategory, String vendorId, String vendorName, LicensingVersion licensingVersion, LicensingData licensingData, String onboardingMethod, String networkPackageName, String onboardingOrigin, String vspId, String componentId, String attContact, String version) {
+		super(name, description, category, subCategory, vendorId, vendorName, licensingVersion, licensingData, onboardingMethod, networkPackageName, onboardingOrigin);
+		this.vspId = vspId;
+		this.componentId = componentId;
+		this.attContact = attContact;
+		this.version = version;
 	}
 
 	public String getVspId() {
@@ -52,22 +32,6 @@
 		this.vspId = vspId;
 	}
 
-	public String getCategory() {
-		return category;
-	}
-
-	public void setCategory(String category) {
-		this.category = category;
-	}
-
-	public String getSubCategory() {
-		return subCategory;
-	}
-
-	public void setSubCategory(String subCategory) {
-		this.subCategory = subCategory;
-	}
-
 	public String getComponentId() {
 		return componentId;
 	}
@@ -76,14 +40,6 @@
 		this.componentId = componentId;
 	}
 
-	public String getDescription() {
-		return description;
-	}
-
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
 	public String getAttContact() {
 		return attContact;
 	}
@@ -92,11 +48,21 @@
 		this.attContact = attContact;
 	}
 
+	public String getVersion() {
+		return version;
+	}
+
+	public void setVersion(String version) {
+		this.version = version;
+	}
+
 	@Override
 	public String toString() {
-		return "VendorSoftwareProductObject [vendorName=" + vendorName + ", vspId=" + vspId + ", category=" + category + ", subCategory=" + subCategory + ", componentId=" + componentId + ", description=" + description + ", attContact="
-				+ attContact + "]";
+		return "VendorSoftwareProductObject{" +
+				"vspId='" + vspId + '\'' +
+				", componentId='" + componentId + '\'' +
+				", attContact='" + attContact + '\'' +
+				", version='" + version + '\'' +
+				'}';
 	}
-	
-	
 }
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/VendorSoftwareProductObjectReqDetails.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/VendorSoftwareProductObjectReqDetails.java
new file mode 100644
index 0000000..10093c2
--- /dev/null
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/VendorSoftwareProductObjectReqDetails.java
@@ -0,0 +1,148 @@
+package org.openecomp.sdc.ci.tests.datatypes;
+
+public class VendorSoftwareProductObjectReqDetails {
+
+    private String name;
+    private String description;
+    private String category;
+    private String subCategory;
+    private String vendorId;
+    private String vendorName;
+    private LicensingVersion licensingVersion;
+    private LicensingData licensingData;
+    private String onboardingMethod;
+    private String networkPackageName;
+    private String onboardingOrigin;
+
+    public String getIcon() {
+        return icon;
+    }
+
+    public void setIcon(String icon) {
+        this.icon = icon;
+    }
+
+    private String icon;
+
+    public VendorSoftwareProductObjectReqDetails() {
+    }
+
+    public VendorSoftwareProductObjectReqDetails(String name, String description, String category, String subCategory, String vendorId, String vendorName, LicensingVersion licensingVersion, LicensingData licensingData, String onboardingMethod, String networkPackageName, String onboardingOrigin) {
+        this.name = name;
+        this.description = description;
+        this.category = category;
+        this.subCategory = subCategory;
+        this.vendorId = vendorId;
+        this.vendorName = vendorName;
+        this.licensingVersion = licensingVersion;
+        this.licensingData = licensingData;
+        this.onboardingMethod = onboardingMethod;
+        this.networkPackageName = networkPackageName;
+        this.onboardingOrigin = onboardingOrigin;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getCategory() {
+        return category;
+    }
+
+    public void setCategory(String category) {
+        this.category = category;
+    }
+
+    public String getSubCategory() {
+        return subCategory;
+    }
+
+    public void setSubCategory(String subCategory) {
+        this.subCategory = subCategory;
+    }
+
+    public String getVendorId() {
+        return vendorId;
+    }
+
+    public void setVendorId(String vendorId) {
+        this.vendorId = vendorId;
+    }
+
+    public String getVendorName() {
+        return vendorName;
+    }
+
+    public void setVendorName(String vendorName) {
+        this.vendorName = vendorName;
+    }
+
+    public LicensingVersion getLicensingVersion() {
+        return licensingVersion;
+    }
+
+    public void setLicensingVersion(LicensingVersion licensingVersion) {
+        this.licensingVersion = licensingVersion;
+    }
+
+    public LicensingData getLicensingData() {
+        return licensingData;
+    }
+
+    public void setLicensingData(LicensingData licensingData) {
+        this.licensingData = licensingData;
+    }
+
+    public String getOnboardingMethod() {
+        return onboardingMethod;
+    }
+
+    public void setOnboardingMethod(String onboardingMethod) {
+        this.onboardingMethod = onboardingMethod;
+    }
+
+    public String getNetworkPackageName() {
+        return networkPackageName;
+    }
+
+    public void setNetworkPackageName(String networkPackageName) {
+        this.networkPackageName = networkPackageName;
+    }
+
+    public String getOnboardingOrigin() {
+        return onboardingOrigin;
+    }
+
+    public void setOnboardingOrigin(String onboardingOrigin) {
+        this.onboardingOrigin = onboardingOrigin;
+    }
+
+    @Override
+    public String toString() {
+        return "VendorSoftwareProductObjectReqDetails{" +
+                "name='" + name + '\'' +
+                ", description='" + description + '\'' +
+                ", category='" + category + '\'' +
+                ", subCategory='" + subCategory + '\'' +
+                ", vendorId='" + vendorId + '\'' +
+                ", vendorName='" + vendorName + '\'' +
+                ", licensingVersion=" + licensingVersion +
+                ", licensingData=" + licensingData +
+                ", onboardingMethod='" + onboardingMethod + '\'' +
+                ", networkPackageName='" + networkPackageName + '\'' +
+                ", onboardingOrigin='" + onboardingOrigin + '\'' +
+                '}';
+    }
+}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/CircleSize.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/CircleSize.java
new file mode 100644
index 0000000..46e9eb3
--- /dev/null
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/CircleSize.java
@@ -0,0 +1,7 @@
+package org.openecomp.sdc.ci.tests.datatypes.enums;
+
+public enum CircleSize {
+    VF(),
+    SERVICE(),
+    NORMATIVE();
+}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/CvfcTypeEnum.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/CvfcTypeEnum.java
new file mode 100644
index 0000000..ee9892c
--- /dev/null
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/CvfcTypeEnum.java
@@ -0,0 +1,19 @@
+package org.openecomp.sdc.ci.tests.datatypes.enums;
+
+public enum CvfcTypeEnum {
+
+		SNMP_POLL ("SNMP_POLL"),
+		SNMP_TRAP ("SNMP_TRAP"),
+		VES_EVENTS ("VES_EVENTS");
+		
+		private String value;
+	
+		public String getValue() {
+			return value;
+		}
+	
+		private CvfcTypeEnum(String value) {
+			this.value = value;
+	}
+		
+}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/ErrorInfo.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/ErrorInfo.java
index c2a28a1..2d5075e 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/ErrorInfo.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/ErrorInfo.java
@@ -28,7 +28,6 @@
 
 	public ErrorInfo() {
 		super();
-		// TODO Auto-generated constructor stub
 	}
 
 	public ErrorInfo(Integer code, String message, String messageId) {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/LifeCycleStatesEnum.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/LifeCycleStatesEnum.java
index 9edfb9a..7c330a3 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/LifeCycleStatesEnum.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/LifeCycleStatesEnum.java
@@ -20,8 +20,6 @@
 
 package org.openecomp.sdc.ci.tests.datatypes.enums;
 
-import java.util.List;
-
 public enum LifeCycleStatesEnum {
 
 	CHECKOUT("checkout", "NOT_CERTIFIED_CHECKOUT"), 
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/PropertyTypeEnum.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/PropertyTypeEnum.java
index 8a1dc84..b5550fc 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/PropertyTypeEnum.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/PropertyTypeEnum.java
@@ -20,37 +20,40 @@
 
 package org.openecomp.sdc.ci.tests.datatypes.enums;
 
-import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
 import org.openecomp.sdc.be.datatypes.elements.SchemaDefinition;
 import org.openecomp.sdc.be.model.PropertyDefinition;
 import org.openecomp.sdc.be.model.tosca.ToscaPropertyType;
 
 public enum PropertyTypeEnum {
-	INTEGER("defaultIntegerPropName1", "integer", "125", "default integer type property description", null), 
-	STRING("defaultStringPropName1", "string", "string", "default string type property description", null), 
-	BOOLEAN("defaultBooleanPropName1", "boolean", "true", "default boolean type property description", null),
-	FLOAT("defaultBooleanPropName1", "float", "1.2", "default float type property description", null),
-	STRING_LIST("defaultStringListPropName", "list", "[a,b]", "outer description", getDefaultStringSchema(ToscaPropertyType.STRING.getType())), 
-	INTEGER_LIST("defaultIntegerListPropName", "list", "[1,2]", "outer description", getDefaultStringSchema(ToscaPropertyType.INTEGER.getType())), 
-	BOOLEAN_LIST("defaultBooleanListPropName", "list", "[true,false]", "outer description", getDefaultStringSchema(ToscaPropertyType.BOOLEAN.getType())), 
-	FLOAT_LIST("defaultFloatMapPropName", "list", "[1.0,2.0]", "outer description", getDefaultStringSchema(ToscaPropertyType.FLOAT.getType())), 
-	STRING_MAP("defaultStringMapPropName", "map", "{\"key1\":val1 , \"key2\":val2}", "outer description", getDefaultStringSchema(ToscaPropertyType.STRING.getType())), 
-	INTEGER_MAP("defaultIntegerMapPropName", "map", "{\"key1\":123 , \"key2\":-456}", "outer description", getDefaultStringSchema(ToscaPropertyType.INTEGER.getType())), 
-	BOOLEAN_MAP("defaultBooleanMapPropName", "map", "{\"key1\":true , \"key2\":false}", "outer description", getDefaultStringSchema(ToscaPropertyType.BOOLEAN.getType())), 
-	FLOAT_MAP("defaultFloatMapPropName", "map", "{\"key1\":0.2123 , \"key2\":43.545f}", "outer description", getDefaultStringSchema(ToscaPropertyType.FLOAT.getType()));
+	INTEGER("defaultIntegerPropName1", "integer", "125", "346", "default integer type property description", "updated integer type property description",null), 
+	STRING("defaultStringPropName1", "string", "string", "updated string","default string type property description", "updated string type property description",null), 
+	BOOLEAN("defaultBooleanPropName1", "boolean", "true", "false","default boolean type property description", "updated boolean type property description",null),
+	FLOAT("defaultFloatPropName1", "float", "1.2", "3.4","default float type property description", "updated float type property description",null),
+	STRING_LIST("defaultStringListPropName", "list", "[a,b]", "[c,d]","outer description", "updated outer description", getDefaultStringSchema(ToscaPropertyType.STRING.getType())), 
+	INTEGER_LIST("defaultIntegerListPropName", "list", "[1,2]", "[3,4]","outer description", "updated outer description", getDefaultStringSchema(ToscaPropertyType.INTEGER.getType())), 
+	BOOLEAN_LIST("defaultBooleanListPropName", "list", "[true,false]", "[false,true]","outer description", "updated outer description", getDefaultStringSchema(ToscaPropertyType.BOOLEAN.getType())), 
+	FLOAT_LIST("defaultFloatMapPropName", "list", "[1.0,2.0]", "[3.0,4.0]","outer description", "updated outer description", getDefaultStringSchema(ToscaPropertyType.FLOAT.getType())), 
+	STRING_MAP("defaultStringMapPropName", "map", "{\"key1\":val1 , \"key2\":val2}", "{\"key1\":val11 , \"key2\":val22}", "outer description", "updated outer description",getDefaultStringSchema(ToscaPropertyType.STRING.getType())), 
+	INTEGER_MAP("defaultIntegerMapPropName", "map", "{\"key1\":123 , \"key2\":-456}", "{\"key1\":456 , \"key2\":-789}", "outer description", "updated outer description", getDefaultStringSchema(ToscaPropertyType.INTEGER.getType())), 
+	BOOLEAN_MAP("defaultBooleanMapPropName", "map", "{\"key1\":true , \"key2\":false}", "{\"key1\":false , \"key2\":true}", "outer description", "updated outer description",getDefaultStringSchema(ToscaPropertyType.BOOLEAN.getType())), 
+	FLOAT_MAP("defaultFloatMapPropName", "map", "{\"key1\":0.2123 , \"key2\":43.545f}", "{\"key1\":0.5678 , \"key2\":12.789f}","outer description", "updated outer description", getDefaultStringSchema(ToscaPropertyType.FLOAT.getType()));
 
 	private String name;
 	private String type;
 	private String value;
+	private String updateValue;
 	private String description;
+	private String updateDescription;
 	private SchemaDefinition schemaDefinition;
 
-	private PropertyTypeEnum(String name, String type, String value, String description,
+	private PropertyTypeEnum(String name, String type, String value, String updateValue,String description,String updateDescription,
 			SchemaDefinition schemaDefinition) {
 		this.name = name;
 		this.type = type;
 		this.value = value;
+		this.updateValue = updateValue;
 		this.description = description;
+		this.updateDescription = updateDescription;
 		this.schemaDefinition = schemaDefinition;
 	}
 
@@ -77,6 +80,14 @@
 	public void setValue(String value) {
 		this.value = value;
 	}
+	
+	public String getUpdateValue() {
+		return updateValue;
+	}
+	
+	public void setUpdateValue(String updateValue) {
+		this.updateValue = updateValue;
+	}
 
 	public String getDescription() {
 		return description;
@@ -85,6 +96,14 @@
 	public void setDescription(String description) {
 		this.description = description;
 	}
+	
+	public String getUpdateDescription() {
+		return updateDescription;
+	}
+	
+	public void setUpdateDescription(String updateDescription) {
+		this.updateDescription = updateDescription;
+	}
 
 	public SchemaDefinition getSchemaDefinition() {
 		return schemaDefinition;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/ResourceCategoryEnum.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/ResourceCategoryEnum.java
index 47123a6..1ba6c5c 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/ResourceCategoryEnum.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/ResourceCategoryEnum.java
@@ -20,23 +20,87 @@
 
 package org.openecomp.sdc.ci.tests.datatypes.enums;
 
+import java.util.Random;
+
 public enum ResourceCategoryEnum {
 
-	NETWORK_L2_3_ROUTERS("Network L2-3", "Router"), NETWORK_L2_3_GETEWAY("Network L2-3","Gateway"), NETWORK_L2_3_WAN_CONNECTORS("Network L2-3", "WAN Connectors"), NETWORK_L2_3_LAN_CONNECTORS("Network L2-3", "LAN Connectors"), 
-	NETWORK_L2_3_INFRASTRUCTURE("Network L2-3", "Infrastructure"), NETWORK_L4("Network L4+", "Common Network Resources"), APPLICATION_L4_BORDER("Application L4+", "Border Element"), 
-	APPLICATION_L4_APP_SERVER("Application L4+", "Application Server"), APPLICATION_L4_WEB_SERVERS("Application L4+", "Web Server"), APPLICATION_L4_CALL_CONTROL("Application L4+","Call Control"), 
-	APPLICATION_L4_MEDIA_SERVER("Application L4+", "Media Servers"), APPLICATION_L4_LOAD_BALANCER("Application L4+", "Load Balancer"), APPLICATION_L4_DATABASE("Application L4+","Database"), 
-	APPLICATION_L4_FIREWALL("Application L4+", "Firewall"), GENERIC_INFRASTRUCTURE("Generic", "Infrastructure"), GENERIC_ABSTRACT("Generic", "Abstract"), GENERIC_NETWORK_ELEMENTS("Generic","Network Elements"), 
-	GENERIC_DATABASE("Generic", "Database"), NETWORK_CONNECTIVITY_CON_POINT("Network Connectivity", "Connection Points"), NETWORK_CONNECTIVITY_VIRTUAL_LINK("Network Connectivity","Virtual Links"),
-	TEMPLATE_MONITORING_TEMPLATE("Template", "Monitoring Template"), ALLOTTED_RESOURCE("Allotted Resource", "Allotted Resource");
+	NETWORK_L2_3_ROUTERS("Network L2-3", "Router", "resourceNewCategory.network l2-3", "resourceNewCategory.network l2-3.router"), 
+	NETWORK_L2_3_GETEWAY("Network L2-3","Gateway", "resourceNewCategory.network l2-3", "resourceNewCategory.network l2-3.gateway"), 
+	NETWORK_L2_3_WAN_CONNECTORS("Network L2-3", "WAN Connectors", "resourceNewCategory.network l2-3", "resourceNewCategory.network l2-3.lan connectors"), 
+	NETWORK_L2_3_LAN_CONNECTORS("Network L2-3", "LAN Connectors", "resourceNewCategory.network l2-3", "resourceNewCategory.network l2-3.wan connectors"), 
+	NETWORK_L2_3_INFRASTRUCTURE("Network L2-3", "Infrastructure", "resourceNewCategory.network l2-3", "resourceNewCategory.network l2-3.infrastructure"),
+	
+	NETWORK_L4("Network L4+", "Common Network Resources", "resourceNewCategory.network l4+", "resourceNewCategory.network l4+.common network resources"), 
+	
+	APPLICATION_L4_BORDER("Application L4+", "Border Element", "resourceNewCategory.application l4+", "resourceNewCategory.application l4+.border element"), 
+	APPLICATION_L4_APP_SERVER("Application L4+", "Application Server", "resourceNewCategory.application l4+", "resourceNewCategory.application l4+.application server"), 
+	APPLICATION_L4_WEB_SERVERS("Application L4+", "Web Server", "resourceNewCategory.application l4+", "resourceNewCategory.application l4+.web server"), 
+	APPLICATION_L4_CALL_CONTROL("Application L4+","Call Control", "resourceNewCategory.application l4+", "resourceNewCategory.application l4+.call control"), 
+	APPLICATION_L4_MEDIA_SERVER("Application L4+", "Media Servers", "resourceNewCategory.application l4+", "resourceNewCategory.application l4+.media servers"), 
+	APPLICATION_L4_LOAD_BALANCER("Application L4+", "Load Balancer", "resourceNewCategory.application l4+", "resourceNewCategory.application l4+.load balancer"), 
+	APPLICATION_L4_DATABASE("Application L4+","Database", "resourceNewCategory.application l4+", "resourceNewCategory.application l4+.database"), 
+	APPLICATION_L4_FIREWALL("Application L4+", "Firewall", "resourceNewCategory.application l4+", "resourceNewCategory.application l4+.firewall"), 
+	
+	GENERIC_INFRASTRUCTURE("Generic", "Infrastructure", "resourceNewCategory.generic", "resourceNewCategory.generic.infrastructure"), 
+	GENERIC_ABSTRACT("Generic", "Abstract", "resourceNewCategory.generic", "resourceNewCategory.generic.abstract"), 
+	GENERIC_NETWORK_ELEMENTS("Generic","Network Elements", "resourceNewCategory.generic", "resourceNewCategory.generic.network elements"), 
+	GENERIC_DATABASE("Generic", "Database", "resourceNewCategory.generic", "resourceNewCategory.generic.database"),
+	GENERIC_RULES("Generic", "Rules", "resourceNewCategory.generic", "resourceNewCategory.generic.rules"),
+	
+	NETWORK_CONNECTIVITY_CON_POINT("Network Connectivity", "Connection Points", "resourceNewCategory.network connectivity", "resourceNewCategory.network connectivity.connection points"), 
+	NETWORK_CONNECTIVITY_VIRTUAL_LINK("Network Connectivity","Virtual Links", "resourceNewCategory.network connectivity", "resourceNewCategory.network connectivity.virtual links"),
+	
+	TEMPLATE_MONITORING_TEMPLATE("Template", "Monitoring Template", "resourceNewCategory.template", "resourceNewCategory.template.monitoring template"), 
+	
+	ALLOTTED_RESOURCE("Allotted Resource", "Allotted Resource", "resourceNewCategory.allotted resource", "resourceNewCategory.allotted resource.allotted resource"),
+	ALLOTTED_RESOURCE_SERVICE_ADMIN("Allotted Resource", "Service Admin", "resourceNewCategory.allotted resource", "resourceNewCategory.allotted resource.service admin"),
+	ALLOTTED_RESOURCE_CONTRAIL_ROUTE("Allotted Resource", "Contrail Route", "resourceNewCategory.allotted resource", "resourceNewCategory.allotted resource.contrail route"),
+	ALLOTTED_RESOURCE_TUNNEL_XCONNECT("Allotted Resource", "Tunnel XConnect", "resourceNewCategory.allotted resource", "resourceNewCategory.allotted resource.tunnel xconnect"),
+	ALLOTTED_RESOURCE_IP_MUX_DEMUX("Allotted Resource", "IP Mux Demux", "resourceNewCategory.allotted resource", "resourceNewCategory.allotted resource.ip mux demux"),
+	ALLOTTED_RESOURCE_SECURITY_ZONE("Allotted Resource", "Security Zone", "resourceNewCategory.allotted resource", "resourceNewCategory.allotted resource.security zone"),
+	
+	DCAE_COMPONENT_MICROSERVICE("DCAE Component", "Microservice", "resourceNewCategory.dcae component", "resourceNewCategory.dcae component.microservice"),
+	DCAE_COMPONENT_DATABASE("DCAE Component", "Database", "resourceNewCategory.dcae component", "resourceNewCategory.dcae component.database"),
+	DCAE_COMPONENT_POLICY("DCAE Component", "policy", "resourceNewCategory.dcae component", "resourceNewCategory.dcae component.policy"),
+	DCAE_COMPONENT_SOURCE("DCAE Component", "Source", "resourceNewCategory.dcae component", "resourceNewCategory.dcae component.source"),
+	DCAE_COMPONENT_ANALYSTICS("DCAE Component", "Analytics", "resourceNewCategory.dcae component", "resourceNewCategory.dcae component.analytics"),
+	DCAE_COMPONENT_UTILITY("DCAE Component", "Utility", "resourceNewCategory.dcae component", "resourceNewCategory.dcae component.utility"),
+	DCAE_COMPONENT_COLLECTOR("DCAE Component", "Collector", "resourceNewCategory.dcae component", "resourceNewCategory.dcae component.collector"),
+	;
 	
 	private String category;
 	private String subCategory;
+	private String categoryUniqeId;
+	private String subCategoryUniqeId;
 
 	ResourceCategoryEnum(String category, String subCategory) {
 		this.category = category;
 		this.subCategory = subCategory;
 	}
+	
+	private ResourceCategoryEnum(String category, String subCategory, String categoryUniqeId, String subCategoryUniqeId) {
+		this.category = category;
+		this.subCategory = subCategory;
+		this.categoryUniqeId = categoryUniqeId;
+		this.subCategoryUniqeId = subCategoryUniqeId;
+	}
+
+	public String getCategoryUniqeId() {
+		return categoryUniqeId;
+	}
+
+	public void setCategoryUniqeId(String categoryUniqeId) {
+		this.categoryUniqeId = categoryUniqeId;
+	}
+
+	public String getSubCategoryUniqeId() {
+		return subCategoryUniqeId;
+	}
+
+	public void setSubCategoryUniqeId(String subCategoryUniqeId) {
+		this.subCategoryUniqeId = subCategoryUniqeId;
+	}
+
 
 	public String getCategory() {
 		return category;
@@ -54,4 +118,44 @@
 		this.subCategory = subCategory;
 	}
 
+
+	public static ResourceCategoryEnum findEnumNameByValues(String category, String subCategory){
+		for(ResourceCategoryEnum resourceCategoryEnum : ResourceCategoryEnum.values()) {
+			if(resourceCategoryEnum.getCategory().equals(category) && resourceCategoryEnum.getSubCategory().equals(subCategory)){
+				return resourceCategoryEnum;
+			}
+		}
+		return null;
+	}
+
+
+	/**
+	 * @return random category enum except allotted category
+	 */
+	public static ResourceCategoryEnum getRandomElement() {
+		Random random = new Random();
+		ResourceCategoryEnum resourceCategoryEnum = ResourceCategoryEnum.values()[random.nextInt(ResourceCategoryEnum.values().length)];
+
+		if(!resourceCategoryEnum.toString().startsWith("ALLOTTED")){
+			return resourceCategoryEnum;
+		}else{
+			return getRandomElement();
+		}
+	}
+
+
+	/**
+	 * @return random  allotted category enum
+	 */
+	public static ResourceCategoryEnum getRandomAllottedElement() {
+		Random random = new Random();
+		ResourceCategoryEnum resourceCategoryEnum = ResourceCategoryEnum.values()[random.nextInt(ResourceCategoryEnum.values().length)];
+
+		if(resourceCategoryEnum.toString().startsWith("ALLOTTED")){
+			return resourceCategoryEnum;
+		}else{
+			return getRandomAllottedElement();
+		}
+	}
+
 }
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/ServiceCategoriesEnum.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/ServiceCategoriesEnum.java
index 61d4e48..c8611b1 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/ServiceCategoriesEnum.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/ServiceCategoriesEnum.java
@@ -20,6 +20,8 @@
 
 package org.openecomp.sdc.ci.tests.datatypes.enums;
 
+import java.util.Random;
+
 public enum ServiceCategoriesEnum {
 
 	VOIP("VoIP Call Control"), MOBILITY("Mobility"), NETWORK_L4("Network L4+"), NETWORK_L3("Network L1-3");
@@ -34,4 +36,8 @@
 		return value;
 	}
 
+    public static ServiceCategoriesEnum getRandomElement() {
+        Random random = new Random();
+        return ServiceCategoriesEnum.values()[random.nextInt(ServiceCategoriesEnum.values().length)];
+    }
 }
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/UserRoleEnum.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/UserRoleEnum.java
index d59b3f4..20a4b12 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/UserRoleEnum.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/UserRoleEnum.java
@@ -25,7 +25,7 @@
 //	ADMIN("jh0003", "Jimmy", "Hendrix"), DESIGNER("cs0008", "Carlos", "Santana"), DESIGNER2("me0009", "Melissa","Etheridge"), TESTER("jm0007", "Joni", "Mitchell"), ADMIN4("km2000", "Kot", "May"), 
 //	GOVERNOR("gv0001","David", "Shadmi"), OPS("op0001", "Steve", "Regev"), PRODUCT_STRATEGIST1("ps0001", "Eden","Rozin"), PRODUCT_STRATEGIST2("ps0002", "Ella", "Kvetny"), PRODUCT_STRATEGIST3("ps0003", "Geva", "Alon"), 
 //	PRODUCT_MANAGER1("pm0001", "Teddy", "Isashar"), PRODUCT_MANAGER2("pm0002", "Sarah", "Bettens");
-	ADMIN("jh0003", "Jimmy", "Hendrix"), DESIGNER("cs0008", "Carlos", "Santana"), DESIGNER2("me0009", "Melissa","Etheridge"), TESTER("jm0007", "Johnny", "Depp"), ADMIN4("km2000", "Kot", "May"), 
+	ADMIN("jh0003", "Jimmy", "Hendrix"), DESIGNER("m08740", "Zero", "ASDCMech"), DESIGNER2("me0009", "Melissa","Etheridge"), DESIGNER3("cs0008", "Carlos", "Santana"),TESTER("jm0007", "Johnny", "Depp"), ADMIN4("km2000", "Kot", "May"),
 	GOVERNOR("gv0001","David", "Shadmi"), OPS("op0001", "Aretha", "Franklin"), PRODUCT_STRATEGIST1("ps0001", "Eden","Rozin"), PRODUCT_STRATEGIST2("ps0002", "Ella", "Kvetny"), PRODUCT_STRATEGIST3("ps0003", "Geva", "Alon"), 
 	PRODUCT_MANAGER1("pm0001", "Teddy", "Isashar"), PRODUCT_MANAGER2("pm0002", "Sarah", "Bettens");
 	private String userId;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/expected/ExpectedExternalAudit.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/expected/ExpectedExternalAudit.java
index e689a39..bc15a0e 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/expected/ExpectedExternalAudit.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/expected/ExpectedExternalAudit.java
@@ -37,7 +37,6 @@
 
 	public ExpectedExternalAudit() {
 		super();
-		// TODO Auto-generated constructor stub
 	}
 
 	public String getRESOURCE_NAME() {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/expected/ExpectedResourceAuditJavaObject.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/expected/ExpectedResourceAuditJavaObject.java
index 7fdc899..59ca7bb 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/expected/ExpectedResourceAuditJavaObject.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/expected/ExpectedResourceAuditJavaObject.java
@@ -142,7 +142,6 @@
 
 	public ExpectedResourceAuditJavaObject() {
 		super();
-		// TODO Auto-generated constructor stub
 	}
 
 	public ExpectedResourceAuditJavaObject(String action, String modifierName, String modifierUid, String status,
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/http/HttpRequest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/http/HttpRequest.java
index c1f559a..a8ca77d 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/http/HttpRequest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/http/HttpRequest.java
@@ -53,7 +53,6 @@
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
 import org.apache.http.util.EntityUtils;
-import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/TODO/ImportCapabilityTypeCITest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/TODO/ImportCapabilityTypeCITest.java
index 71e75c9..3af40c5 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/TODO/ImportCapabilityTypeCITest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/TODO/ImportCapabilityTypeCITest.java
@@ -20,9 +20,6 @@
 
 package org.openecomp.sdc.ci.tests.execute.TODO;
 
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.Test;
-import org.testng.AssertJUnit;
 import java.io.File;
 import java.io.IOException;
 
@@ -36,8 +33,11 @@
 import org.openecomp.sdc.ci.tests.api.Urls;
 import org.openecomp.sdc.ci.tests.config.Config;
 import org.openecomp.sdc.ci.tests.utils.DbUtils;
-import org.openecomp.sdc.ci.tests.utils.Utils;
 import org.openecomp.sdc.ci.tests.utils.DbUtils.TitanState;
+import org.openecomp.sdc.ci.tests.utils.Utils;
+import org.testng.AssertJUnit;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.Test;
 
 import fj.data.Either;
 
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ArtifactServletTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ArtifactServletTest.java
index 1f578d1..49b556f 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ArtifactServletTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ArtifactServletTest.java
@@ -61,10 +61,8 @@
 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.RestResponse;
-import org.openecomp.sdc.ci.tests.utils.Utils;
 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
-import org.openecomp.sdc.ci.tests.utils.general.FileUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/DownloadComponentArt.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/DownloadComponentArt.java
index 5f1230f..65c0bba 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/DownloadComponentArt.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/DownloadComponentArt.java
@@ -78,7 +78,6 @@
 import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
 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.ci.tests.utils.validation.AuditValidationUtils;
 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
 import org.openecomp.sdc.ci.tests.utils.validation.ServiceValidationUtils;
@@ -91,15 +90,12 @@
 import org.testng.AssertJUnit;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
-import org.testng.internal.Yaml;
 
 import com.google.gson.Gson;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
-import com.typesafe.config.ConfigException.Null;
 
 import fj.data.Either;
-import fj.data.List;
 
 public class DownloadComponentArt extends ComponentBaseTest {
 
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/HeatEnvArtifact.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/HeatEnvArtifact.java
index e50d5b4..bc57512 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/HeatEnvArtifact.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/HeatEnvArtifact.java
@@ -35,7 +35,6 @@
 import org.openecomp.sdc.be.model.ArtifactDefinition;
 import org.openecomp.sdc.be.model.ArtifactUiDownloadData;
 import org.openecomp.sdc.be.model.ComponentInstance;
-import org.openecomp.sdc.be.model.HeatParameterDefinition;
 import org.openecomp.sdc.be.model.Resource;
 import org.openecomp.sdc.be.model.Service;
 import org.openecomp.sdc.be.model.User;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/PlaceHolderValidations.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/PlaceHolderValidations.java
index 0718fb6..02bef89 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/PlaceHolderValidations.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/PlaceHolderValidations.java
@@ -39,20 +39,15 @@
 import org.junit.Rule;
 import org.junit.rules.TestName;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
-import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
 import org.openecomp.sdc.be.model.ArtifactDefinition;
 import org.openecomp.sdc.be.model.Component;
-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.datatypes.ArtifactReqDetails;
-import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails;
-import org.openecomp.sdc.ci.tests.datatypes.ProductReqDetails;
 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
-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.ErrorInfo;
 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
@@ -68,14 +63,11 @@
 import org.openecomp.sdc.ci.tests.utils.general.FileUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
-import org.openecomp.sdc.ci.tests.utils.rest.ComponentInstanceRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
-import org.openecomp.sdc.ci.tests.utils.rest.ProductRestUtils;
 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.ci.tests.utils.validation.ErrorValidationUtils;
-import org.openecomp.sdc.exception.ResponseFormat;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.testng.annotations.BeforeMethod;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateArtResponse.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateArtResponse.java
index 6b902db..c049211 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateArtResponse.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateArtResponse.java
@@ -121,7 +121,6 @@
 	}
 
 	protected void assertnull(String string, boolean equals) {
-		// TODO Auto-generated method stub
 
 	}
 
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateHeatArtFieldsTypes.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateHeatArtFieldsTypes.java
index dfbf035..8a7a2f6 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateHeatArtFieldsTypes.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateHeatArtFieldsTypes.java
@@ -28,7 +28,6 @@
 import org.openecomp.sdc.be.dao.api.ActionStatus;
 import org.openecomp.sdc.be.datatypes.elements.HeatParameterDataDefinition;
 import org.openecomp.sdc.be.model.ArtifactDefinition;
-import org.openecomp.sdc.be.model.HeatParameterDefinition;
 import org.openecomp.sdc.be.model.User;
 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
 import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/CatalogDataApiTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/CatalogDataApiTest.java
index 9938266..61c9442 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/CatalogDataApiTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/CatalogDataApiTest.java
@@ -24,7 +24,6 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.log4j.lf5.util.ResourceUtils;
 import org.json.simple.JSONArray;
 import org.json.simple.JSONObject;
 import org.json.simple.JSONValue;
@@ -49,7 +48,6 @@
 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
 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.testng.AssertJUnit;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/CategoriesTests.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/CategoriesTests.java
index 3b85c05..ade662a 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/CategoriesTests.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/CategoriesTests.java
@@ -54,7 +54,6 @@
 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedCategoryAudit;
 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
 import org.openecomp.sdc.ci.tests.utils.DbUtils;
-import org.openecomp.sdc.ci.tests.utils.Utils;
 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.CategoryRestUtils;
@@ -62,7 +61,6 @@
 import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils;
 import org.openecomp.sdc.ci.tests.utils.validation.CategoryValidationUtils;
 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
-import org.testng.SkipException;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/ElementsApiTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/ElementsApiTest.java
index 2f48f4f..ec36798 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/ElementsApiTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/ElementsApiTest.java
@@ -26,7 +26,6 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.log4j.lf5.util.ResourceUtils;
 import org.json.simple.JSONArray;
 import org.json.simple.JSONObject;
 import org.json.simple.JSONValue;
@@ -48,15 +47,6 @@
 		super(name, ElementsApiTest.class.getName());
 	}
 
-	// public LCSbaseTest(TestName testName, String className) {
-	// super(testName, className);
-	// }
-
-	// public ElementsApiTest(TestName name, String name2) {
-	//// super(name, name2);
-	// // TODO Auto-generated constructor stub
-	// }
-
 	// Expected 200 Keep
 	@Test
 	public void getAllPropertyScopesSuccess() throws Exception {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/GroupingTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/GroupingTest.java
index f6b6113..7858b32 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/GroupingTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/GroupingTest.java
@@ -32,9 +32,6 @@
 import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.STATUS_CODE_SUCCESS;
 import static org.testng.AssertJUnit.assertEquals;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import org.junit.Rule;
 import org.junit.rules.TestName;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
@@ -47,7 +44,6 @@
 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedCategoryAudit;
 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
 import org.openecomp.sdc.ci.tests.utils.DbUtils;
-import org.openecomp.sdc.ci.tests.utils.Utils;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.CategoryRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/SubCategoriesTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/SubCategoriesTest.java
index dcc3172..dd96ebf 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/SubCategoriesTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/category/SubCategoriesTest.java
@@ -47,7 +47,6 @@
 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedCategoryAudit;
 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
 import org.openecomp.sdc.ci.tests.utils.DbUtils;
-import org.openecomp.sdc.ci.tests.utils.Utils;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.CategoryRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/AndreyTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/AndreyTest.java
index c9064a4..586856b 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/AndreyTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/AndreyTest.java
@@ -21,27 +21,18 @@
 package org.openecomp.sdc.ci.tests.execute.devCI;
 
 import java.io.File;
-import java.io.IOException;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
 import java.util.Map;
 
+import org.openecomp.sdc.be.model.PropertyDefinition;
+import org.openecomp.sdc.be.model.Resource;
+import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
 import org.openecomp.sdc.ci.tests.tosca.datatypes.ToscaDefinition;
 import org.openecomp.sdc.ci.tests.tosca.datatypes.ToscaTopologyTemplateDefinition;
 import org.openecomp.sdc.ci.tests.utils.ToscaParserUtils;
 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
-import org.openecomp.sdc.tosca.parser.api.ISdcCsarHelper;
-import org.openecomp.sdc.tosca.parser.exceptions.SdcToscaParserException;
-import org.openecomp.sdc.tosca.parser.impl.SdcToscaParserFactory;
-//import org.openecomp.sdc.toscaparser.api.Metadata;
-import org.openecomp.sdc.toscaparser.api.Capability;
-import org.openecomp.sdc.toscaparser.api.NodeTemplate;
-import org.openecomp.sdc.toscaparser.api.common.JToscaException;
-import org.testng.annotations.Test;
 
 public class AndreyTest {
 
@@ -70,14 +61,14 @@
 		toscaMainAmdocsDefinition = ToscaParserUtils.parseToscaMainYamlToJavaObjectByCsarLocation(new File(filesFolder.getPath() + amdocsCsarFileName));
 		toscaMainVfDefinition = ToscaParserUtils.parseToscaMainYamlToJavaObjectByCsarLocation(new File(filesFolder.getPath() + VfCsarFileName));
 		toscaMainServiceDefinition = ToscaParserUtils.parseToscaMainYamlToJavaObjectByCsarLocation(new File(filesFolder.getPath() + serviceCsarFileName));
-//		Resource resource = AtomicOperationUtils.getResourceObjectByNameAndVersion(UserRoleEnum.DESIGNER, "Generic_VF", "1.0");
+		Resource resource = AtomicOperationUtils.getResourceObjectByNameAndVersion(UserRoleEnum.DESIGNER, "Generic_VF", "1.0");
 		ToscaTopologyTemplateDefinition topologyTemplate = toscaMainAmdocsDefinition.getTopology_template();
 //		FileHandling.parseYamlFileToMapByPattern("","");
 		
-//		Map<String, Object> newInput = new HashMap<String, Object>();
-//		for (PropertyDefinition property : resource.getProperties()) {
-//			newInput.put(property.getName(),property);
-//		}
+		Map<String, Object> newInput = new HashMap<String, Object>();
+		for (PropertyDefinition property : resource.getProperties()) {
+			newInput.put(property.getName(),property);
+		}
 		
 //		topologyTemplate.addInputs(newInput);
 //		
@@ -104,7 +95,7 @@
 	}
 	
 	
-	@Test
+	/*@Test
 	public void distributionTest() throws SdcToscaParserException, JToscaException, IOException {
 		//String serviceName = import and create().getName();
 		//getServiceObject();
@@ -157,6 +148,6 @@
         	ArrayList<Object> requirements2 = nodeTemplate.getRequirements();
 		}
         
-	}
+	}*/
 	
 }
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ArtifactFromCsar.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ArtifactFromCsar.java
index c334695..4cb46a3 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ArtifactFromCsar.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ArtifactFromCsar.java
@@ -28,10 +28,8 @@
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
-import java.text.SimpleDateFormat;
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
@@ -53,7 +51,6 @@
 	
 
 	public static void main(String[] args) throws Exception {
-		// TODO Auto-generated method stub
 		String zipFile = "C:\\Users\\rp955r\\Documents\\InTesting\\resource-CivfonboardedFdnt2f792348-csar.csar";
 		
 //		Map<String, Object> combinedMap = combineHeatArtifacstWithFolderArtifacsToMap(zipFile);
@@ -138,7 +135,6 @@
 						try {
 							map.put(file.getName(), getMapArtifactFromFolderStructure(file));
 						} catch (IOException e) {
-							// TODO Auto-generated catch block
 							e.printStackTrace();
 						}
 					}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ImportCsarUpdate.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ImportCsarUpdate.java
index f66fd67..99890c1 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ImportCsarUpdate.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ImportCsarUpdate.java
@@ -20,20 +20,15 @@
 
 package org.openecomp.sdc.ci.tests.execute.devCI;
 
-import static org.testng.AssertJUnit.assertTrue;
-
 import org.junit.Rule;
 import org.junit.rules.TestName;
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
 import org.openecomp.sdc.be.model.Component;
 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.datatypes.ResourceReqDetails;
-import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
-import org.openecomp.sdc.ci.tests.datatypes.enums.NormativeTypesEnum;
 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
 import org.openecomp.sdc.ci.tests.execute.imports.ImportCsarResourceTest;
@@ -42,7 +37,6 @@
 import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
 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.validation.CsarValidationUtils;
 import org.testng.annotations.AfterTest;
 import org.testng.annotations.BeforeTest;
 import org.testng.annotations.DataProvider;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ImportCsarValidateArtifacts.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ImportCsarValidateArtifacts.java
index 5ed71e5..49e5950 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ImportCsarValidateArtifacts.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ImportCsarValidateArtifacts.java
@@ -25,16 +25,11 @@
 import org.junit.Rule;
 import org.junit.rules.TestName;
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
-import org.openecomp.sdc.be.model.Component;
 import org.openecomp.sdc.be.model.Resource;
-import org.openecomp.sdc.be.model.Service;
 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
-import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
-import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
-import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ToscaGroupInsideVF.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ToscaGroupInsideVF.java
index 64df976..54ab644 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ToscaGroupInsideVF.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ToscaGroupInsideVF.java
@@ -20,41 +20,11 @@
 
 package org.openecomp.sdc.ci.tests.execute.devCI;
 
-import static org.testng.AssertJUnit.assertEquals;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.commons.lang3.tuple.Pair;
 import org.junit.Rule;
 import org.junit.rules.TestName;
-import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
-import org.openecomp.sdc.be.model.Component;
-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.Urls;
-import org.openecomp.sdc.ci.tests.config.Config;
-import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
-import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
-import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
-import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
-import org.openecomp.sdc.ci.tests.datatypes.http.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.tosca.datatypes.ToscaDefinition;
-import org.openecomp.sdc.ci.tests.utils.ToscaParserUtils;
-import org.openecomp.sdc.ci.tests.utils.Utils;
-import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
-import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
-import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
-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.validation.CsarValidationUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.testng.annotations.Test;
 
 public class ToscaGroupInsideVF extends ComponentBaseTest {
 	private static Logger logger = LoggerFactory.getLogger(ToscaGroupInsideVF.class.getName());
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/distribution/DistributionDownloadArtifactTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/distribution/DistributionDownloadArtifactTest.java
index 2586192..e2a9207 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/distribution/DistributionDownloadArtifactTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/distribution/DistributionDownloadArtifactTest.java
@@ -31,7 +31,6 @@
 import java.util.zip.ZipInputStream;
 
 import org.apache.commons.codec.binary.Base64;
-import org.apache.log4j.lf5.util.ResourceUtils;
 import org.junit.Rule;
 import org.junit.rules.TestName;
 import org.openecomp.sdc.be.datatypes.elements.ConsumerDataDefinition;
@@ -53,7 +52,6 @@
 import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum;
 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 org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
@@ -66,7 +64,6 @@
 import org.openecomp.sdc.common.util.GeneralUtility;
 import org.openecomp.sdc.common.util.ValidationUtils;
 import org.testng.AssertJUnit;
-import org.testng.annotations.BeforeClass;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/general/BasicHttpAuthenticationTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/general/BasicHttpAuthenticationTest.java
index 66bc153..c337149 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/general/BasicHttpAuthenticationTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/general/BasicHttpAuthenticationTest.java
@@ -52,7 +52,6 @@
 import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum;
 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
 import org.openecomp.sdc.ci.tests.utils.DbUtils;
-import org.openecomp.sdc.ci.tests.utils.Utils;
 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/general/ManageEcompConsumerCredentials.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/general/ManageEcompConsumerCredentials.java
index 9ef8f14..eea4e8a 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/general/ManageEcompConsumerCredentials.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/general/ManageEcompConsumerCredentials.java
@@ -35,7 +35,6 @@
 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedEcomConsumerAudit;
 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
 import org.openecomp.sdc.ci.tests.utils.DbUtils;
-import org.openecomp.sdc.ci.tests.utils.Utils;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.ConsumerRestUtils;
 import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/CsarUtilsTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/CsarUtilsTest.java
index 650ed61..6b351c1 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/CsarUtilsTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/CsarUtilsTest.java
@@ -25,7 +25,6 @@
 import static org.junit.Assert.assertTrue;
 
 import java.io.ByteArrayInputStream;
-import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Map;
@@ -33,7 +32,6 @@
 import java.util.zip.ZipInputStream;
 
 import org.apache.commons.codec.binary.Base64;
-import org.apache.commons.io.FileUtils;
 import org.junit.Rule;
 import org.junit.rules.TestName;
 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportCsarResourceTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportCsarResourceTest.java
index 1b559aa..8ea6670 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportCsarResourceTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportCsarResourceTest.java
@@ -39,8 +39,6 @@
 
 import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.lang.WordUtils;
-import org.apache.commons.lang3.tuple.ImmutablePair;
-import org.apache.tinkerpop.gremlin.process.traversal.P;
 import org.junit.Rule;
 import org.junit.rules.TestName;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
@@ -49,14 +47,11 @@
 import org.openecomp.sdc.be.model.ArtifactDefinition;
 import org.openecomp.sdc.be.model.CapabilityDefinition;
 import org.openecomp.sdc.be.model.ComponentInstance;
-import org.openecomp.sdc.be.model.ComponentInstanceProperty;
 import org.openecomp.sdc.be.model.GroupDefinition;
-import org.openecomp.sdc.be.model.GroupProperty;
 import org.openecomp.sdc.be.model.RequirementCapabilityRelDef;
 import org.openecomp.sdc.be.model.Resource;
 import org.openecomp.sdc.be.model.Service;
 import org.openecomp.sdc.be.model.User;
-import org.openecomp.sdc.be.model.tosca.ToscaPropertyType;
 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
 import org.openecomp.sdc.ci.tests.api.Urls;
 import org.openecomp.sdc.ci.tests.config.Config;
@@ -83,7 +78,6 @@
 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
 import org.openecomp.sdc.ci.tests.utils.rest.ServiceRestUtils;
 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
-import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
 import org.openecomp.sdc.common.util.ValidationUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -1522,8 +1516,8 @@
 		String cp1Uid = nodes.get("cp1node").getUniqueId();
 		String cp2Uid = nodes.get("cp2node").getUniqueId();
 		Map<String, List<RequirementCapabilityRelDef>> mappedByReqOwner = resource.getComponentInstancesRelations().stream().collect(Collectors.groupingBy(e -> e.getFromNode()));
-		assertEquals(mappedByReqOwner.get(cp1Uid).get(0).getRelationships().get(0).getCapabilityUid(), capabilities.get("virtual_linkable").getUniqueId());
-		assertEquals(mappedByReqOwner.get(cp2Uid).get(0).getRelationships().get(0).getCapabilityUid(), capabilities.get("link").getUniqueId());
+		assertEquals(mappedByReqOwner.get(cp1Uid).get(0).getRelationships().get(0).getRelation().getCapabilityUid(), capabilities.get("virtual_linkable").getUniqueId());
+		assertEquals(mappedByReqOwner.get(cp2Uid).get(0).getRelationships().get(0).getRelation().getCapabilityUid(), capabilities.get("link").getUniqueId());
 	}
 
 	@Test(enabled = true)
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportGenericResourceCITest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportGenericResourceCITest.java
index 110fa0f..873d339 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportGenericResourceCITest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportGenericResourceCITest.java
@@ -46,7 +46,6 @@
 import org.apache.http.entity.mime.content.StringBody;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
-
 import org.junit.Rule;
 import org.junit.rules.TestName;
 import org.openecomp.sdc.be.model.LifecycleStateEnum;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportNewResourceCITest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportNewResourceCITest.java
index 56deb3e..61c8462 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportNewResourceCITest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportNewResourceCITest.java
@@ -38,7 +38,6 @@
 import org.junit.rules.TestName;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
-import org.openecomp.sdc.be.model.ArtifactDefinition;
 import org.openecomp.sdc.be.model.LifecycleStateEnum;
 import org.openecomp.sdc.be.model.PropertyDefinition;
 import org.openecomp.sdc.be.model.Resource;
@@ -56,12 +55,9 @@
 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject;
 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.ArtifactUtils;
 import org.openecomp.sdc.ci.tests.utils.DbUtils;
-import org.openecomp.sdc.ci.tests.utils.Utils;
 import org.openecomp.sdc.ci.tests.utils.general.Convertor;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
-import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ImportRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
@@ -71,7 +67,6 @@
 import org.openecomp.sdc.ci.tests.utils.validation.ResourceValidationUtils;
 import org.openecomp.sdc.common.api.Constants;
 import org.openecomp.sdc.common.util.GeneralUtility;
-import org.openecomp.sdc.exception.ResponseFormat;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportToscaResourceTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportToscaResourceTest.java
index b460b9f..9899a8c 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportToscaResourceTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportToscaResourceTest.java
@@ -48,11 +48,12 @@
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
 import org.openecomp.sdc.be.model.CapReqDef;
 import org.openecomp.sdc.be.model.CapabilityDefinition;
+import org.openecomp.sdc.be.model.CapabilityRequirementRelationship;
 import org.openecomp.sdc.be.model.ComponentInstance;
 import org.openecomp.sdc.be.model.LifecycleStateEnum;
 import org.openecomp.sdc.be.model.PropertyDefinition;
 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;
@@ -94,8 +95,6 @@
 import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
 
-import aj.org.objectweb.asm.Attribute;
-
 /**
  * 
  * @author Andrey + Pavel + Shay
@@ -1341,7 +1340,7 @@
 		requirementDef.setFromNode(riReq.getUniqueId());
 		requirementDef.setToNode(riCap.getUniqueId());
 
-		RequirementAndRelationshipPair pair = new RequirementAndRelationshipPair();
+		RelationshipInfo pair = new RelationshipInfo();
 		pair.setRequirementOwnerId(riReq.getUniqueId());
 		pair.setCapabilityOwnerId(riCap.getUniqueId());
 		pair.setRequirement("VirtualBinding");
@@ -1350,8 +1349,10 @@
 		pair.setRelationships(relationship);
 		pair.setCapabilityUid(capbilityUid);
 		pair.setRequirementUid(requirementUid);
-		List<RequirementAndRelationshipPair> relationships = new ArrayList<>();
-		relationships.add(pair);
+		List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
+		CapabilityRequirementRelationship capReqRel = new CapabilityRequirementRelationship();
+		relationships.add(capReqRel);
+		capReqRel.setRelation(pair);
 		requirementDef.setRelationships(relationships);
 
 		RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef, sdncUserDetails,
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportUpdateResourseCsarTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportUpdateResourseCsarTest.java
index 464ebe1..9e8b94e 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportUpdateResourseCsarTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportUpdateResourseCsarTest.java
@@ -21,7 +21,6 @@
 package org.openecomp.sdc.ci.tests.execute.imports;
 
 import static org.testng.AssertJUnit.assertTrue;
-import static org.testng.AssertJUnit.assertEquals;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCheckoutTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCheckoutTest.java
index efb4a15..ec1f7ad 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCheckoutTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCheckoutTest.java
@@ -34,7 +34,6 @@
 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedProductAudit;
 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
 import org.openecomp.sdc.ci.tests.utils.DbUtils;
-import org.openecomp.sdc.ci.tests.utils.Utils;
 import org.openecomp.sdc.ci.tests.utils.general.Convertor;
 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ProductRestUtils;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCreateWithValidationsTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCreateWithValidationsTest.java
index 45d3b23..2796fa8 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCreateWithValidationsTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCreateWithValidationsTest.java
@@ -38,7 +38,6 @@
 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedProductAudit;
 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
 import org.openecomp.sdc.ci.tests.utils.DbUtils;
-import org.openecomp.sdc.ci.tests.utils.Utils;
 import org.openecomp.sdc.ci.tests.utils.general.Convertor;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCrudTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCrudTest.java
index 2044d21..88c0f4d 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCrudTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCrudTest.java
@@ -34,13 +34,10 @@
 import org.openecomp.sdc.be.dao.api.ActionStatus;
 import org.openecomp.sdc.be.model.LifecycleStateEnum;
 import org.openecomp.sdc.be.model.Product;
-import org.openecomp.sdc.be.model.Resource;
 import org.openecomp.sdc.be.model.User;
 import org.openecomp.sdc.be.model.category.CategoryDefinition;
 import org.openecomp.sdc.ci.tests.api.Urls;
 import org.openecomp.sdc.ci.tests.datatypes.ProductReqDetails;
-import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
-import org.openecomp.sdc.ci.tests.datatypes.ResourceRespJavaObject;
 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;
@@ -52,13 +49,10 @@
 import org.openecomp.sdc.ci.tests.utils.rest.CatalogRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ProductRestUtils;
-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.ci.tests.utils.validation.AuditValidationUtils;
 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
 import org.openecomp.sdc.ci.tests.utils.validation.ProductValidationUtils;
-import org.openecomp.sdc.ci.tests.utils.validation.ResourceValidationUtils;
 import org.openecomp.sdc.common.api.Constants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/property/PropertyApisTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/property/PropertyApisTest.java
index 0586269..f6f6f23 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/property/PropertyApisTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/property/PropertyApisTest.java
@@ -28,7 +28,6 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.lf5.util.ResourceUtils;
 import org.json.simple.JSONObject;
 import org.json.simple.JSONValue;
 import org.junit.Rule;
@@ -46,7 +45,6 @@
 import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
 import org.openecomp.sdc.ci.tests.preRequisites.SimpleOneRsrcOneServiceTest;
-import org.openecomp.sdc.ci.tests.utils.Utils;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.PropertyRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
@@ -57,8 +55,6 @@
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
-import com.google.gson.Gson;
-
 public class PropertyApisTest extends SimpleOneRsrcOneServiceTest {
 
 	protected static final String RESOURCE_CATEGORY = "Generic/Databases";
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CheckGetResource.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CheckGetResource.java
index 0ec6b00..85dfe4e 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CheckGetResource.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CheckGetResource.java
@@ -25,7 +25,6 @@
 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
 import org.openecomp.sdc.common.util.SerializationUtils;
-import org.testng.annotations.Test;
 
 import fj.data.Either;
 
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ComponentRelationshipInVfTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ComponentRelationshipInVfTest.java
index d05dd10..675a588 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ComponentRelationshipInVfTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ComponentRelationshipInVfTest.java
@@ -39,9 +39,10 @@
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
 import org.openecomp.sdc.be.model.CapReqDef;
 import org.openecomp.sdc.be.model.CapabilityDefinition;
+import org.openecomp.sdc.be.model.CapabilityRequirementRelationship;
 import org.openecomp.sdc.be.model.ComponentInstance;
 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;
@@ -119,7 +120,7 @@
 		requirementDef.setFromNode(riReq.getUniqueId());
 		requirementDef.setToNode(riCap.getUniqueId());
 
-		RequirementAndRelationshipPair pair = new RequirementAndRelationshipPair();
+		RelationshipInfo pair = new RelationshipInfo();
 		pair.setRequirementOwnerId(riReq.getUniqueId());
 		pair.setCapabilityOwnerId(riCap.getUniqueId());
 		pair.setRequirement("host");
@@ -128,8 +129,10 @@
 		pair.setRelationships(relationship);
 		pair.setCapabilityUid(capbilityUid);
 		pair.setRequirementUid(requirementUid);
-		List<RequirementAndRelationshipPair> relationships = new ArrayList<>();
-		relationships.add(pair);
+		List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
+		CapabilityRequirementRelationship capReqRel = new CapabilityRequirementRelationship();
+		relationships.add(capReqRel);
+		capReqRel.setRelation(pair);
 		requirementDef.setRelationships(relationships);
 		return requirementDef;
 	}
@@ -179,7 +182,7 @@
 		requirementDef.setFromNode(riReq.getUniqueId());
 		requirementDef.setToNode(riCap.getUniqueId());
 
-		RequirementAndRelationshipPair pair = new RequirementAndRelationshipPair();
+		RelationshipInfo pair = new RelationshipInfo();
 		pair.setRequirementOwnerId(riReq.getUniqueId());
 		pair.setCapabilityOwnerId(riCap.getUniqueId());
 		pair.setRequirement("host");
@@ -188,8 +191,10 @@
 		pair.setRelationships(relationship);
 		pair.setCapabilityUid(capList.get(0).getUniqueId());
 		pair.setRequirementUid(reqList.get(0).getUniqueId());
-		List<RequirementAndRelationshipPair> relationships = new ArrayList<>();
-		relationships.add(pair);
+		List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
+		CapabilityRequirementRelationship capReqRel = new CapabilityRequirementRelationship();
+		relationships.add(capReqRel);
+		capReqRel.setRelation(pair);
 		requirementDef.setRelationships(relationships);
 
 		RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef, designerUser,
@@ -979,7 +984,7 @@
 		RequirementCapabilityRelDef requirementDef = setRelationshipBetweenInstances(riReq, riCap,
 				capReqDefBeforeAssociate);
 		assertTrue(requirementDef.getRelationships().size() == 1);
-		String requirement = requirementDef.getRelationships().get(0).getRequirement();
+		String requirement = requirementDef.getRelationships().get(0).getRelation().getRequirement();
 		RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef, designerUser,
 				resourceDetailsVF.getUniqueId(), ComponentTypeEnum.RESOURCE);
 		assertEquals("Check response code ", 404, associateInstances.getErrorCode().intValue());
@@ -1122,7 +1127,7 @@
 				.getCapabilities();
 		Map<String, List<RequirementDefinition>> requirementsBeforeAssociate = capReqDefBeforeAssociate
 				.getRequirements();
-		String requirementName = requirementDef.getRelationships().get(0).getRequirement();
+		String requirementName = requirementDef.getRelationships().get(0).getRelation().getRequirement();
 
 		RestResponse dissociateInstances = ComponentInstanceRestUtils.dissociateInstances(requirementDef, designerUser,
 				resourceDetailsVF.getUniqueId(), ComponentTypeEnum.RESOURCE);
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CreateResourceApiTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CreateResourceApiTest.java
index 50d1056..efa8393 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CreateResourceApiTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CreateResourceApiTest.java
@@ -23,7 +23,6 @@
 import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.STATUS_CODE_SUCCESS;
 import static org.testng.AssertJUnit.assertEquals;
 import static org.testng.AssertJUnit.assertNotNull;
-import static org.testng.AssertJUnit.assertTrue;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -31,18 +30,13 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.validation.constraints.AssertTrue;
-
-import org.apache.log4j.lf5.util.ResourceUtils;
 import org.junit.Rule;
 import org.junit.rules.TestName;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
-import org.openecomp.sdc.be.model.Component;
 import org.openecomp.sdc.be.model.LifecycleStateEnum;
 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.Urls;
@@ -52,7 +46,6 @@
 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.ArtifactTypeEnum;
 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.NormativeTypesEnum;
@@ -65,7 +58,6 @@
 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
 import org.openecomp.sdc.ci.tests.utils.DbUtils;
 import org.openecomp.sdc.ci.tests.utils.Utils;
-import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
 import org.openecomp.sdc.ci.tests.utils.general.Convertor;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
@@ -78,7 +70,6 @@
 import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils;
 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
 import org.openecomp.sdc.ci.tests.utils.validation.ResourceValidationUtils;
-import org.openecomp.sdc.ci.tests.utils.validation.ServiceValidationUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.testng.annotations.Test;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/GetAllResourceVersions.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/GetAllResourceVersions.java
index 25c3242..a337209 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/GetAllResourceVersions.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/GetAllResourceVersions.java
@@ -27,7 +27,6 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.log4j.lf5.util.ResourceUtils;
 import org.junit.rules.TestName;
 import org.openecomp.sdc.be.model.Resource;
 import org.openecomp.sdc.be.model.User;
@@ -38,7 +37,6 @@
 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.DbUtils;
-import org.openecomp.sdc.ci.tests.utils.Utils;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/GetResourceNotAbstractApiTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/GetResourceNotAbstractApiTest.java
index 562150e..ccf6142 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/GetResourceNotAbstractApiTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/GetResourceNotAbstractApiTest.java
@@ -30,7 +30,6 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.lf5.util.ResourceUtils;
 import org.junit.Rule;
 import org.junit.rules.TestName;
 import org.openecomp.sdc.be.model.User;
@@ -45,7 +44,6 @@
 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.imports.ImportGenericResourceCITest;
-import org.openecomp.sdc.ci.tests.utils.Utils;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
 import org.slf4j.Logger;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ResourceApiTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ResourceApiTest.java
index feb7b6f..df8ff58 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ResourceApiTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ResourceApiTest.java
@@ -33,7 +33,6 @@
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
 import org.apache.http.util.EntityUtils;
-import org.apache.log4j.lf5.util.ResourceUtils;
 import org.json.simple.JSONArray;
 import org.json.simple.JSONObject;
 import org.json.simple.JSONValue;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/UpdateResourceMetadataTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/UpdateResourceMetadataTest.java
index 9d519c8..2b84af9 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/UpdateResourceMetadataTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/UpdateResourceMetadataTest.java
@@ -40,7 +40,6 @@
 import org.openecomp.sdc.be.model.LifecycleStateEnum;
 import org.openecomp.sdc.be.model.Resource;
 import org.openecomp.sdc.be.model.User;
-import org.openecomp.sdc.be.model.category.CategoryDefinition;
 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
 import org.openecomp.sdc.ci.tests.api.Urls;
 import org.openecomp.sdc.ci.tests.config.Config;
@@ -432,7 +431,6 @@
 
 			return ResourceResponse;
 		} catch (FileNotFoundException e) {
-			// TODO Auto-generated catch block
 			e.printStackTrace();
 		}
 
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/VFResourceInstanceNameCRUD.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/VFResourceInstanceNameCRUD.java
index 5905010..895390f 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/VFResourceInstanceNameCRUD.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/VFResourceInstanceNameCRUD.java
@@ -57,7 +57,6 @@
 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
 import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.BeforeTest;
 import org.testng.annotations.Test;
 
 import com.google.gson.Gson;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ValidateExtendedVfData.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ValidateExtendedVfData.java
index 8a17c3c..37e7539 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ValidateExtendedVfData.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ValidateExtendedVfData.java
@@ -23,7 +23,6 @@
 import static org.testng.AssertJUnit.assertNotNull;
 import static org.testng.AssertJUnit.assertTrue;
 
-import java.io.IOException;
 import java.util.List;
 
 import org.json.simple.JSONArray;
@@ -32,8 +31,6 @@
 import org.junit.Rule;
 import org.junit.rules.TestName;
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
-import org.openecomp.sdc.be.model.ArtifactDefinition;
-import org.openecomp.sdc.be.model.Component;
 import org.openecomp.sdc.be.model.ComponentInstance;
 import org.openecomp.sdc.be.model.Resource;
 import org.openecomp.sdc.be.model.User;
@@ -46,7 +43,6 @@
 import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum;
 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
-import org.openecomp.sdc.ci.tests.execute.lifecycle.LCSbaseTest;
 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/VfComponentInstanceCRUDTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/VfComponentInstanceCRUDTest.java
index ea8b892..dddab57 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/VfComponentInstanceCRUDTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/VfComponentInstanceCRUDTest.java
@@ -40,10 +40,11 @@
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
 import org.openecomp.sdc.be.model.CapReqDef;
 import org.openecomp.sdc.be.model.CapabilityDefinition;
+import org.openecomp.sdc.be.model.CapabilityRequirementRelationship;
 import org.openecomp.sdc.be.model.ComponentInstance;
 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;
@@ -1686,7 +1687,7 @@
 		requirementDef.setFromNode(riReq.getUniqueId());
 		requirementDef.setToNode(riCap.getUniqueId());
 
-		RequirementAndRelationshipPair pair = new RequirementAndRelationshipPair();
+		RelationshipInfo pair = new RelationshipInfo();
 		pair.setRequirementOwnerId(riReq.getUniqueId());
 		pair.setCapabilityOwnerId(riCap.getUniqueId());
 		pair.setRequirement("host");
@@ -1695,8 +1696,10 @@
 		pair.setRelationships(relationship);
 		pair.setCapabilityUid(capList.get(0).getUniqueId());
 		pair.setRequirementUid(reqList.get(0).getUniqueId());
-		List<RequirementAndRelationshipPair> relationships = new ArrayList<>();
-		relationships.add(pair);
+		List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
+		CapabilityRequirementRelationship capReqRel = new CapabilityRequirementRelationship();
+		relationships.add(capReqRel);
+		capReqRel.setRelation(pair);
 		requirementDef.setRelationships(relationships);
 
 		RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef,
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ChangeServiceDistributionStatusApiTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ChangeServiceDistributionStatusApiTest.java
index 3d33853..c8a20cf 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ChangeServiceDistributionStatusApiTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ChangeServiceDistributionStatusApiTest.java
@@ -32,7 +32,6 @@
 import org.junit.rules.TestName;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
-import org.openecomp.sdc.be.model.ArtifactDefinition;
 import org.openecomp.sdc.be.model.Component;
 import org.openecomp.sdc.be.model.DistributionStatusEnum;
 import org.openecomp.sdc.be.model.LifecycleStateEnum;
@@ -45,7 +44,6 @@
 import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
 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.ServiceCategoriesEnum;
 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject;
 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
@@ -61,8 +59,6 @@
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
-import fj.data.Either;
-
 public class ChangeServiceDistributionStatusApiTest extends ComponentBaseTest {
 
 	protected ResourceReqDetails resourceDetails;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/CreateServiceMetadataApiTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/CreateServiceMetadataApiTest.java
index 8e95a6d..56cfeb5 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/CreateServiceMetadataApiTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/CreateServiceMetadataApiTest.java
@@ -20,7 +20,6 @@
 
 package org.openecomp.sdc.ci.tests.execute.service;
 
-import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.STATUS_CODE_SUCCESS;
 import static org.testng.AssertJUnit.assertEquals;
 import static org.testng.AssertJUnit.assertNotNull;
 
@@ -37,7 +36,6 @@
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
 import org.openecomp.sdc.be.model.Component;
 import org.openecomp.sdc.be.model.LifecycleStateEnum;
-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;
@@ -49,7 +47,6 @@
 import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
 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.ServiceCategoriesEnum;
 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject;
 import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum;
@@ -63,7 +60,6 @@
 import org.openecomp.sdc.ci.tests.utils.rest.ComponentInstanceRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ProductRestUtils;
-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.ci.tests.utils.validation.AuditValidationUtils;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetAllServiceVersions.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetAllServiceVersions.java
index 3460cd6..760d002 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetAllServiceVersions.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetAllServiceVersions.java
@@ -28,7 +28,6 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.cassandra.transport.Event.SchemaChange.Target;
 import org.junit.Rule;
 import org.junit.rules.TestName;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetComponentAuditApiTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetComponentAuditApiTest.java
index 5642ce4..846b5d2 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetComponentAuditApiTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetComponentAuditApiTest.java
@@ -27,10 +27,8 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 import org.apache.http.HttpStatus;
-import org.apache.log4j.lf5.util.ResourceUtils;
 import org.junit.Rule;
 import org.junit.rules.TestName;
 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
@@ -67,7 +65,6 @@
 
 import com.google.gson.JsonArray;
 import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
 
 import fj.data.Either;
 
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetServiceLatestVersionTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetServiceLatestVersionTest.java
index 55ecf69..19bed4d 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetServiceLatestVersionTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetServiceLatestVersionTest.java
@@ -46,7 +46,6 @@
 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.RestResponse;
-import org.openecomp.sdc.ci.tests.utils.Utils;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ReqCapOccurrencesTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ReqCapOccurrencesTest.java
index c21deaf..fdec834 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ReqCapOccurrencesTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ReqCapOccurrencesTest.java
@@ -39,10 +39,11 @@
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
 import org.openecomp.sdc.be.model.CapReqDef;
 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.ComponentInstance;
 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;
@@ -1045,7 +1046,7 @@
 		requirementDef.setFromNode(riReq.getUniqueId());
 		requirementDef.setToNode(riCap.getUniqueId());
 
-		RequirementAndRelationshipPair pair = new RequirementAndRelationshipPair();
+		RelationshipInfo pair = new RelationshipInfo();
 		pair.setRequirementOwnerId(riReq.getUniqueId());
 		pair.setCapabilityOwnerId(riCap.getUniqueId());
 		pair.setRequirement("host");
@@ -1054,8 +1055,10 @@
 		pair.setRelationships(relationship);
 		pair.setCapabilityUid(capbilityUid);
 		pair.setRequirementUid(requirementUid);
-		List<RequirementAndRelationshipPair> relationships = new ArrayList<>();
-		relationships.add(pair);
+		List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
+		CapabilityRequirementRelationship capReqRel = new CapabilityRequirementRelationship();
+		relationships.add(capReqRel);
+		capReqRel.setRelation(pair);
 		requirementDef.setRelationships(relationships);
 		return requirementDef;
 	}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ServiceComponentInstanceCRUDTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ServiceComponentInstanceCRUDTest.java
index 7181549..b2728ea 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ServiceComponentInstanceCRUDTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ServiceComponentInstanceCRUDTest.java
@@ -42,7 +42,6 @@
 import org.openecomp.sdc.be.model.RequirementDefinition;
 import org.openecomp.sdc.be.model.User;
 import org.openecomp.sdc.ci.tests.api.ComponentInstanceBaseTest;
-import org.openecomp.sdc.ci.tests.api.Urls;
 import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails;
 import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails;
 import org.openecomp.sdc.ci.tests.datatypes.ComponentReqDetails;
@@ -50,10 +49,8 @@
 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;
-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.RestResponse;
-import org.openecomp.sdc.ci.tests.utils.Utils;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ComponentInstanceRestUtils;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/UpdateServiceMetadataTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/UpdateServiceMetadataTest.java
index 262cb65..9ab4d0b 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/UpdateServiceMetadataTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/service/UpdateServiceMetadataTest.java
@@ -45,7 +45,6 @@
 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;
-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.RestResponse;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/user/GovernorWorkspaceApiTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/user/GovernorWorkspaceApiTest.java
index 5dd1abc..c7c2fdd 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/user/GovernorWorkspaceApiTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/user/GovernorWorkspaceApiTest.java
@@ -47,9 +47,7 @@
 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
-import org.openecomp.sdc.ci.tests.execute.lifecycle.LCSbaseTest;
 import org.openecomp.sdc.ci.tests.utils.DbUtils;
-import org.openecomp.sdc.ci.tests.utils.Utils;
 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/run/StartTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/run/StartTest.java
index 8bc967c..a515502 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/run/StartTest.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/run/StartTest.java
@@ -35,17 +35,11 @@
 import java.util.jar.JarFile;
 
 import org.apache.log4j.PropertyConfigurator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.openecomp.sdc.ci.tests.config.Config;
 import org.openecomp.sdc.ci.tests.utils.Utils;
-//import org.junit.runner.JUnitCore;
-//import org.junit.runner.Result;
-//import org.junit.runner.notification.Failure;
-import org.testng.TestListenerAdapter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.testng.TestNG;
-import org.testng.reporters.TestHTMLReporter;
-import org.testng.xml.XmlSuite;
 
 public class StartTest {
 
@@ -73,7 +67,6 @@
 		try {
 			config = Utils.getConfig();
 		} catch (FileNotFoundException e) {
-			// TODO Auto-generated catch block
 			e.printStackTrace();
 		}
 
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/run/StartTest2backup.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/run/StartTest2backup.java
index d5b06b3..c9b1e13 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/run/StartTest2backup.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/run/StartTest2backup.java
@@ -72,7 +72,6 @@
 		try {
 			config = Utils.getConfig();
 		} catch (FileNotFoundException e) {
-			// TODO Auto-generated catch block
 			e.printStackTrace();
 		}
 
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/sanity/MultipleResourceUpdate.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/sanity/MultipleResourceUpdate.java
index a33ee71..33cf6cb 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/sanity/MultipleResourceUpdate.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/sanity/MultipleResourceUpdate.java
@@ -20,14 +20,14 @@
 
 package org.openecomp.sdc.ci.tests.sanity;
 
+import static org.testng.AssertJUnit.assertTrue;
+
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 
 import org.junit.Rule;
 import org.junit.rules.TestName;
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
-import org.openecomp.sdc.be.model.Component;
 import org.openecomp.sdc.be.model.ComponentInstance;
 import org.openecomp.sdc.be.model.Resource;
 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
@@ -43,7 +43,6 @@
 import org.openecomp.sdc.ci.tests.utils.rest.ComponentInstanceRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ProductRestUtils;
 import org.testng.annotations.Test;
-import static org.testng.AssertJUnit.assertTrue;
 
 public class MultipleResourceUpdate extends ComponentBaseTest {
 
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/sanity/Onboard.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/sanity/Onboard.java
index 0f339b8..fd2b78d 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/sanity/Onboard.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/sanity/Onboard.java
@@ -21,38 +21,34 @@
 package org.openecomp.sdc.ci.tests.sanity;
 
 
-import com.aventstack.extentreports.Status;
-import com.clearspring.analytics.util.Pair;
-import fj.data.Either;
 import org.junit.Rule;
 import org.junit.rules.TestName;
-import org.openecomp.sdc.be.datatypes.enums.AssetTypeEnum;
 import org.openecomp.sdc.be.model.ComponentInstance;
 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.dataProviders.OnboardingDataProviders;
+import org.openecomp.sdc.ci.tests.dataProviders.OnbordingDataProviders;
 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.LifeCycleStatesEnum;
 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
-import org.openecomp.sdc.ci.tests.utils.CsarToscaTester;
 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.general.OnboardingUtillViaApis;
-import org.openecomp.sdc.ci.tests.utils.rest.AssetRestUtils;
-import org.openecomp.sdc.tosca.parser.api.ISdcCsarHelper;
-import org.openecomp.sdc.tosca.parser.impl.SdcToscaParserFactory;
+import org.testng.annotations.BeforeClass;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Optional;
 import org.testng.annotations.Parameters;
 import org.testng.annotations.Test;
 
-import java.io.File;
+import com.aventstack.extentreports.Status;
+import com.clearspring.analytics.util.Pair;
+
+import fj.data.Either;
 
 
 public class Onboard extends ComponentBaseTest {
@@ -66,80 +62,81 @@
 	}
 
 	protected String makeDistributionValue;
-	protected ISdcCsarHelper fdntCsarHelper;
-	protected SdcToscaParserFactory factory = SdcToscaParserFactory.getInstance();
-
+	protected String makeToscaValidationValue;
 
 
 	@Parameters({ "makeDistribution" })
 	@BeforeMethod
 	public void beforeTestReadParams(@Optional("true") String makeDistributionReadValue) {
 		makeDistributionValue = makeDistributionReadValue;                             
+		logger.info("makeDistributionReadValue - > " + makeDistributionValue);
+	}
+
+	@Parameters({ "makeToscaValidation" })
+	@BeforeClass
+	public void makeToscaValidation(@Optional("false") String makeToscaValidationReadValue) {
+		makeToscaValidationValue = makeToscaValidationReadValue;
+		logger.info("makeToscaValidationReadValue - > " + makeToscaValidationValue);
 	}
 	
 
-	@Test(dataProviderClass = OnboardingDataProviders.class, dataProvider = "VNF_List")
-	public void onboardVNFShotFlow(String filepath, String vnfFile) throws Exception, Throwable {
+	@Test(dataProviderClass = OnbordingDataProviders.class, dataProvider = "VNF_List")
+	public void onboardVNFShotFlow(String filePath, String vnfFile) throws Exception, Throwable {
 		setLog(vnfFile);
-		logger.info("Onboarding - > " + vnfFile);
-//		System.out.println("Onboarding - > " + vnfFile);
-		runOnboardToDistributionFlow(filepath, vnfFile);
+		System.out.println("print - >" + makeDistributionValue);
+		runOnboardToDistributionFlow(filePath, vnfFile);
 	}
 	
 
 	
 
 	
-	public void runOnboardToDistributionFlow(String filepath, String vnfFile) throws Exception {
+	public void runOnboardToDistributionFlow(String filePath, String vnfFile) throws Exception {
 
 		ExtentTestActions.log(Status.INFO, String.format("Going to onboard the VNF %s", vnfFile));
-		User user = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
-     
-		Pair<String, VendorSoftwareProductObject> createVendorSoftwareProduct = OnboardingUtillViaApis.createVspViaApis(filepath, vnfFile, user);
+		User user = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER3);
+     	ResourceReqDetails resourceReqDetails = ElementFactory.getDefaultResource();
+		Pair<String, VendorSoftwareProductObject> createVendorSoftwareProduct = OnboardingUtillViaApis.createVspViaApis(resourceReqDetails, filePath, vnfFile, user);
 		VendorSoftwareProductObject vendorSoftwareProductObject = createVendorSoftwareProduct.right;
-		vendorSoftwareProductObject.setVspName(createVendorSoftwareProduct.left);
+		vendorSoftwareProductObject.setName(createVendorSoftwareProduct.left);
 
 		//		create VF base on VNF imported from previous step - have, resourceReqDetails object include part of resource metadata
-		ResourceReqDetails resourceReqDetails = OnboardingUtillViaApis.prepareOnboardedResourceDetailsBeforeCreate(vendorSoftwareProductObject, vendorSoftwareProductObject.getVspName());
+//		ResourceReqDetails resourceReqDetails = ElementFactory.getDefaultResource();
+		resourceReqDetails = OnboardingUtillViaApis.prepareOnboardedResourceDetailsBeforeCreate(resourceReqDetails, vendorSoftwareProductObject);
 		ExtentTestActions.log(Status.INFO, String.format("Create VF %s From VSP", resourceReqDetails.getName()));
-		Resource resource = OnboardingUtillViaApis.createResourceFromVSP(resourceReqDetails, vendorSoftwareProductObject.getVspName());
+		Resource resource = OnboardingUtillViaApis.createResourceFromVSP(resourceReqDetails, UserRoleEnum.DESIGNER3);
 		ExtentTestActions.log(Status.INFO, String.format("Certify VF"));
-		resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
+		resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER3, LifeCycleStatesEnum.CERTIFY, true).getLeft();
 
 		//--------------------------SERVICE--------------------------------	
 		ServiceReqDetails serviceReqDetails = OnboardingUtillViaApis.prepareServiceDetailsBeforeCreate(user);
 		ExtentTestActions.log(Status.INFO, String.format("Create Service %s", serviceReqDetails.getName()));
-		Service service = AtomicOperationUtils.createCustomService(serviceReqDetails, UserRoleEnum.DESIGNER, true).left().value();
+		Service service = AtomicOperationUtils.createCustomService(serviceReqDetails, UserRoleEnum.DESIGNER3, true).left().value();
 		ExtentTestActions.log(Status.INFO, String.format("add VF to Service"));
-		Either<ComponentInstance, RestResponse> addComponentInstanceToComponentContainer = AtomicOperationUtils.addComponentInstanceToComponentContainer(resource, service, UserRoleEnum.DESIGNER, true);
+		Either<ComponentInstance, RestResponse> addComponentInstanceToComponentContainer = AtomicOperationUtils.addComponentInstanceToComponentContainer(resource, service, UserRoleEnum.DESIGNER3, true);
 		addComponentInstanceToComponentContainer.left().value();
 		ExtentTestActions.log(Status.INFO, String.format("Certify Service"));
-		service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
+		service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER3, LifeCycleStatesEnum.CERTIFY, true).getLeft();
 
+		if (makeDistributionValue.equals("true")) {
+			ExtentTestActions.log(Status.INFO, String.format("Distribute Service"));
+			AtomicOperationUtils.distributeService(service, true);
+		}
 
-//		ExtentTestActions.log(Status.INFO, String.format("Distribute Service"));
-//		AtomicOperationUtils.distributeService(service, true);
-		try{
-//			HttpResponse assetResponse = AssetRestUtils.getComponentToscaModel(AssetTypeEnum.SERVICES, service.getUUID());
-//			InputStream inputStream = assetResponse.getEntity().getContent();
-			File csarFile = AssetRestUtils.getToscaModelCsarFile(AssetTypeEnum.SERVICES, service.getUUID(), vnfFile);
+		if (makeToscaValidationValue.equals("true")) {
 
-			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("Start tosca validation"));
+			AtomicOperationUtils.toscaValidation(service ,vnfFile);
 
-			ExtentTestActions.log(Status.INFO, String.format("Tosca parser successfully parsed service CSAR"));
-
-			ExtentTestActions.log(Status.INFO, String.format("The onboarding %s test is passed ! ", vnfFile));
-
-		}catch(Exception e){
-			ExtentTestActions.log(Status.ERROR, "Tosca parser FAILED to convert service csar file to ISdcCsarHelper object...");
-			ExtentTestActions.log(Status.FAIL, e);
 
 		}
 
 
 
+		
+		ExtentTestActions.log(Status.INFO, String.format("The onboarding %s test is passed ! ", vnfFile));
 	}
 
+
+
 }
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ParametersDefinition.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ParametersDefinition.java
index a14dc8c..dbdaff3 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ParametersDefinition.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ParametersDefinition.java
@@ -20,8 +20,6 @@
 
 package org.openecomp.sdc.ci.tests.tosca.datatypes;
 
-import java.util.List;
-
 public class ParametersDefinition {
 	
 	private String type;
@@ -34,7 +32,6 @@
 	
 	public ParametersDefinition() {
 		super();
-		// TODO Auto-generated constructor stub
 	}
 
 	public ParametersDefinition(String type, String description, Object default1, String status, String entry_schema, Object value) {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaDefinition.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaDefinition.java
index d7ac4a5..3a63237 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaDefinition.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaDefinition.java
@@ -20,6 +20,8 @@
 
 package org.openecomp.sdc.ci.tests.tosca.datatypes;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -28,17 +30,15 @@
 public class ToscaDefinition {
 
 	String tosca_definitions_version;
-	Map<String, String> metadata;
-	List<Map<String, ToscaImportsDefinition>> imports;
-	Map<String, ToscaNodeTypesDefinition> node_types;
-	ToscaTopologyTemplateDefinition topology_template;
+	Map<String, String> metadata = new HashMap<>();
+	List<Map<String, ToscaImportsDefinition>> imports = new ArrayList<>();
+	Map<String, ToscaNodeTypesDefinition> node_types = new HashMap<>();
+	ToscaTopologyTemplateDefinition topology_template = new ToscaTopologyTemplateDefinition();
 
 	public ToscaDefinition() {
 		super();
 	}
 
-
-
 	public ToscaDefinition(String tosca_definitions_version, Map<String, String> metadata, List<Map<String, ToscaImportsDefinition>> imports, Map<String, ToscaNodeTypesDefinition> node_types,
 			ToscaTopologyTemplateDefinition topology_template) {
 		super();
@@ -49,20 +49,14 @@
 		this.topology_template = topology_template;
 	}
 
-
-
-	public Map<String, String> getMetadata() {
-		return metadata;
+	public ToscaDefinition(ToscaDefinition toscaDefinition){
+		this.tosca_definitions_version = toscaDefinition.tosca_definitions_version;
+		this.metadata = new HashMap<>(toscaDefinition.metadata);
+		this.imports = new ArrayList<>(toscaDefinition.imports);
+		this.node_types = new HashMap<>(toscaDefinition.node_types);
+		this.topology_template = new ToscaTopologyTemplateDefinition(toscaDefinition.topology_template);
 	}
-
-
-
-	public void setMetadata(Map<String, String> metadata) {
-		this.metadata = metadata;
-	}
-
-
-
+	
 	public List<Map<String, ToscaImportsDefinition>> getImports() {
 		return imports;
 	}
@@ -71,6 +65,14 @@
 		this.imports = imports;
 	}
 
+	public Map<String, String> getMetadata() {
+		return metadata;
+	}
+
+	public void setMetadata(Map<String, String> metadata) {
+		this.metadata = metadata;
+	}
+
 	public String getTosca_definitions_version() {
 		return tosca_definitions_version;
 	}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaImportsDefinition.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaImportsDefinition.java
index a5070b8..c4324bd 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaImportsDefinition.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaImportsDefinition.java
@@ -32,7 +32,6 @@
 	
 	public ToscaImportsDefinition() {
 		super();
-		// TODO Auto-generated constructor stub
 	}
 
 	public ToscaImportsDefinition(String name, String file, String repository, String namespace_uri, String namespace_prefix) {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaInputsTopologyTemplateDefinition.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaInputsTopologyTemplateDefinition.java
index 45feade..c3b11f2 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaInputsTopologyTemplateDefinition.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaInputsTopologyTemplateDefinition.java
@@ -20,32 +20,241 @@
 
 package org.openecomp.sdc.ci.tests.tosca.datatypes;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 
 import org.yaml.snakeyaml.TypeDescription;
 
+import com.google.gson.annotations.SerializedName;
+
 public class ToscaInputsTopologyTemplateDefinition {
 	
-	private Map<String,Map<String,Object>> inputs;
+	public String name;
+	public String type;
+	public String description;
+	public Boolean required;
+	public Boolean hidden;
+	public Boolean immutable;
+	@SerializedName("default")
+	public Object Default;
+
+	public String status;
+	public List<Object> constraints = new ArrayList<Object>();
+	public Map<String, Object> entry_schema;
+	public Object value;
+
+	public ToscaInputsTopologyTemplateDefinition(String name, String type, String description, Boolean required, Object default1, String status, List<Object> constraints, Map<String, Object> entry_schema, Object value, Boolean immutable, Boolean hidden) {
+		super();
+		this.name = name;
+		this.type = type;
+		this.description = description;
+		this.required = required;
+		Default = default1;
+		this.status = status;
+		this.constraints = constraints;
+		this.entry_schema = entry_schema;
+		this.value = value;
+		this.immutable = immutable;
+		this.hidden = hidden;
+	}
 
 	public ToscaInputsTopologyTemplateDefinition() {
-		super();
-		// TODO Auto-generated constructor stub
 	}
-
-	public Map<String, Map<String,Object>> getInputs() {
-		return inputs;
-	}
-
-	public void setInputs(Map<String, Map<String,Object>> inputs) {
-		this.inputs = inputs;
+	public ToscaInputsTopologyTemplateDefinition(ToscaInputsTopologyTemplateDefinition definition){
+//		this(definition.getName(), definition.getType(), definition.getDescription(), definition.getRequired(), definition.getDefault(), definition.getStatus(), definition.getConstraints(), definition.getEntry_schema(), definition.getValue());
+		this.name = definition.name;
+		this.type = definition.type;
+		this.description = definition.description;
+		this.required = definition.required;
+		this.Default = definition.Default;
+		this.status = definition.status;
+		this.constraints = definition.constraints;
+		this.entry_schema = definition.entry_schema;
+		this.value = definition.value;
+		this.immutable = immutable;
+		this.hidden = hidden;
 	}
 	
-	
+	public Boolean getHidden() {
+		return hidden;
+	}
+
+	public void setHidden(Boolean hidden) {
+		this.hidden = hidden;
+	}
+
+	public Boolean getImmutable() {
+		return immutable;
+	}
+
+	public void setImmutable(Boolean immutable) {
+		this.immutable = immutable;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
+	public String getDescription() {
+		return description;
+	}
+
+	public void setDescription(String description) {
+		this.description = description;
+	}
+
+	public Boolean getRequired() {
+		return required;
+	}
+
+	public void setRequired(Boolean required) {
+		this.required = required;
+	}
+
+	public Object getDefault() {
+		return Default;
+	}
+
+	public void setDefault(Object default1) {
+		Default = default1;
+	}
+
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public List<Object> getConstraints() {
+		return constraints;
+	}
+
+	public void setConstraints(List<Object> constraints) {
+		this.constraints = constraints;
+	}
+
+	public Map<String, Object> getEntry_schema() {
+		return entry_schema;
+	}
+
+	public void setEntry_schema(Map<String, Object> entry_schema) {
+		this.entry_schema = entry_schema;
+	}
+
+	public Object getValue() {
+		return value;
+	}
+
+	public void setValue(Object value) {
+		this.value = value;
+	}
+
 	//gets Type description for Yaml snake
 	public static TypeDescription getTypeDescription(){
         TypeDescription typeDescription = new TypeDescription(ToscaInputsTopologyTemplateDefinition.class);
+        typeDescription.putListPropertyType("constraints", Object.class);
+        typeDescription.putMapPropertyType("entry_schema", String.class, Object.class);
     	return typeDescription;
 	}
 
+	@Override
+	public int hashCode() {
+		final int prime = 31;
+		int result = 1;
+		result = prime * result + ((Default == null) ? 0 : Default.hashCode());
+		result = prime * result + ((constraints == null) ? 0 : constraints.hashCode());
+		result = prime * result + ((description == null) ? 0 : description.hashCode());
+		result = prime * result + ((entry_schema == null) ? 0 : entry_schema.hashCode());
+		result = prime * result + ((hidden == null) ? 0 : hidden.hashCode());
+		result = prime * result + ((immutable == null) ? 0 : immutable.hashCode());
+		result = prime * result + ((name == null) ? 0 : name.hashCode());
+		result = prime * result + ((required == null) ? 0 : required.hashCode());
+		result = prime * result + ((status == null) ? 0 : status.hashCode());
+		result = prime * result + ((type == null) ? 0 : type.hashCode());
+		result = prime * result + ((value == null) ? 0 : value.hashCode());
+		return result;
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		if (this == obj)
+			return true;
+		if (obj == null)
+			return false;
+		if (getClass() != obj.getClass())
+			return false;
+		ToscaInputsTopologyTemplateDefinition other = (ToscaInputsTopologyTemplateDefinition) obj;
+		if (Default == null) {
+			if (other.Default != null)
+				return false;
+		} else if (!Default.equals(other.Default))
+			return false;
+		if (constraints == null) {
+			if (other.constraints != null)
+				return false;
+		} else if (!constraints.equals(other.constraints))
+			return false;
+		if (description == null) {
+			if (other.description != null)
+				return false;
+		} else if (!description.equals(other.description))
+			return false;
+		if (entry_schema == null) {
+			if (other.entry_schema != null)
+				return false;
+		} else if (!entry_schema.equals(other.entry_schema))
+			return false;
+		if (hidden == null) {
+			if (other.hidden != null)
+				return false;
+		} else if (!hidden.equals(other.hidden))
+			return false;
+		if (immutable == null) {
+			if (other.immutable != null)
+				return false;
+		} else if (!immutable.equals(other.immutable))
+			return false;
+		if (name == null) {
+			if (other.name != null)
+				return false;
+		} else if (!name.equals(other.name))
+			return false;
+		if (required == null) {
+			if (other.required != null)
+				return false;
+		} else if (!required.equals(other.required))
+			return false;
+		if (status == null) {
+			if (other.status != null)
+				return false;
+		} else if (!status.equals(other.status))
+			return false;
+		if (type == null) {
+			if (other.type != null)
+				return false;
+		} else if (!type.equals(other.type))
+			return false;
+		if (value == null) {
+			if (other.value != null)
+				return false;
+		} else if (!value.equals(other.value))
+			return false;
+		return true;
+	}
+
 }
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaNodeTemplatesTopologyTemplateDefinition.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaNodeTemplatesTopologyTemplateDefinition.java
index d42ca8e..168f7c6 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaNodeTemplatesTopologyTemplateDefinition.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaNodeTemplatesTopologyTemplateDefinition.java
@@ -32,24 +32,32 @@
 	private String description;
 	private String [] directives;
 	private Map<String, Object> properties;
-	private List<Map<String, Object>> attributes;
+	private Map<String, Object> attributes;
 	private List<Map<String, Object>> requirements;
-	private List<Map<String, Object>> capabilities;
-	private List<Map<String, Object>> interfaces;
-	private List<Map<String, Object>> artifacts;
-	private List<Map<String, Object>> node_filter;
-	private String copy;
-	private Map<String, String> metadata;
-
-	
+	private Object capabilities;
+//	private List<Map<String, Object>> capabilities;
 //	private Map<String, ToscaPropertiesNodeTemplatesDefinition> properties;
 //	private Map<String, ToscaRequirementsNodeTemplatesDefinition> requirements;
 //	private Map<String, ToscaCapabilitiesNodeTemplatesDefinition> capabilities;
+	private Map<String, Object> interfaces;
+	private Map<String, Object> artifacts;
+	private Map<String, Object> node_filter;
+	private String copy;
+	private Map<String, String> metadata;
+
 
 	public ToscaNodeTemplatesTopologyTemplateDefinition() {
 		super();
 	}
 	
+	public Object getCapabilities() {
+		return capabilities;
+	}
+	
+	public void setCapabilities(Object capabilities) {
+		this.capabilities = capabilities;
+	}
+	
 	public Map<String, String> getMetadata() {
 		return metadata;
 	}
@@ -100,11 +108,11 @@
 		this.properties = properties;
 	}
 
-	public List<Map<String, Object>> getAttributes() {
+	public Map<String, Object> getAttributes() {
 		return attributes;
 	}
 
-	public void setAttributes(List<Map<String, Object>> attributes) {
+	public void setAttributes(Map<String, Object> attributes) {
 		this.attributes = attributes;
 	}
 
@@ -116,35 +124,27 @@
 		this.requirements = requirements;
 	}
 
-	public List<Map<String, Object>> getCapabilities() {
-		return capabilities;
-	}
-
-	public void setCapabilities(List<Map<String, Object>> capabilities) {
-		this.capabilities = capabilities;
-	}
-
-	public List<Map<String, Object>> getInterfaces() {
+	public Map<String, Object> getInterfaces() {
 		return interfaces;
 	}
 
-	public void setInterfaces(List<Map<String, Object>> interfaces) {
+	public void setInterfaces(Map<String, Object> interfaces) {
 		this.interfaces = interfaces;
 	}
 
-	public List<Map<String, Object>> getArtifacts() {
+	public Map<String, Object> getArtifacts() {
 		return artifacts;
 	}
 
-	public void setArtifacts(List<Map<String, Object>> artifacts) {
+	public void setArtifacts(Map<String, Object> artifacts) {
 		this.artifacts = artifacts;
 	}
 
-	public List<Map<String, Object>> getNode_filter() {
+	public Map<String, Object> getNode_filter() {
 		return node_filter;
 	}
 
-	public void setNode_filter(List<Map<String, Object>> node_filter) {
+	public void setNode_filter(Map<String, Object> node_filter) {
 		this.node_filter = node_filter;
 	}
 
@@ -161,11 +161,12 @@
         TypeDescription typeDescription = new TypeDescription(ToscaNodeTemplatesTopologyTemplateDefinition.class);
         typeDescription.putMapPropertyType("properties", String.class, Object.class);
         typeDescription.putListPropertyType("requirements", Map.class);
-        typeDescription.putListPropertyType("capabilities", Map.class);
-    	typeDescription.putListPropertyType("attributes", Map.class);
-    	typeDescription.putListPropertyType("interfaces", Map.class);
-    	typeDescription.putListPropertyType("artifacts", Map.class);
-    	typeDescription.putListPropertyType("node_filter", Map.class);
+//        typeDescription.putMapPropertyType("capabilities",String.class, Object.class);
+//        typeDescription.putListPropertyType("capabilities", Object.class);
+    	typeDescription.putMapPropertyType("attributes", String.class, Object.class);
+    	typeDescription.putMapPropertyType("interfaces", String.class, Object.class);
+    	typeDescription.putMapPropertyType("artifacts", String.class, Object.class);
+    	typeDescription.putMapPropertyType("node_filter", String.class, Object.class);
     	typeDescription.putMapPropertyType("metadata", String.class, String.class);
     	return typeDescription;
 	}
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaNodeTypesDefinition.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaNodeTypesDefinition.java
index 07fd223..b9d200a 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaNodeTypesDefinition.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaNodeTypesDefinition.java
@@ -20,6 +20,7 @@
 
 package org.openecomp.sdc.ci.tests.tosca.datatypes;
 
+import java.util.HashMap;
 import java.util.Map;
 
 // spec page 88
@@ -29,12 +30,12 @@
 	private String derived_from;
 	private String version;
 	private String description;
-	private Map<String, Object> properties;
-	private Map<String, Object> attributes;
-	private Map<String, Object> requirements;
-	private Map<String, Object> capabilities;
-	private Map<String, Object> interfaces;
-	private Map<String, Object> artifacts;
+	private Map<String, Object> properties = new HashMap<>();
+	private Map<String, Object> attributes = new HashMap<>();
+	private Map<String, Object> requirements = new HashMap<>();
+	private Map<String, Object> capabilities = new HashMap<>();
+	private Map<String, Object> interfaces = new HashMap<>();
+	private Map<String, Object> artifacts = new HashMap<>();
 	
 	public ToscaNodeTypesDefinition() {
 		super();
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaOutputsTopologyTemplateDefinition.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaOutputsTopologyTemplateDefinition.java
index 02ca03d..b370dd3 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaOutputsTopologyTemplateDefinition.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaOutputsTopologyTemplateDefinition.java
@@ -28,7 +28,6 @@
 
 	public ToscaOutputsTopologyTemplateDefinition() {
 		super();
-		// TODO Auto-generated constructor stub
 	}
 
 	public Map<String, Object> getOutputs() {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaRelationshipTemplatesTopologyTemplateDefinition.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaRelationshipTemplatesTopologyTemplateDefinition.java
index 392ffc4..881f7f5 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaRelationshipTemplatesTopologyTemplateDefinition.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaRelationshipTemplatesTopologyTemplateDefinition.java
@@ -25,7 +25,6 @@
 public class ToscaRelationshipTemplatesTopologyTemplateDefinition {
 
 	public ToscaRelationshipTemplatesTopologyTemplateDefinition() {
-		// TODO Auto-generated constructor stub
 	}
 
 	private String type;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaServiceGroupsMetadataDefinition.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaServiceGroupsMetadataDefinition.java
index 86ca8f5..4072504 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaServiceGroupsMetadataDefinition.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaServiceGroupsMetadataDefinition.java
@@ -30,7 +30,6 @@
 	
 	public ToscaServiceGroupsMetadataDefinition() {
 		super();
-		// TODO Auto-generated constructor stub
 	}
 
 	public String getVfModuleModelName() {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaSubstitutionMappingsDefinition.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaSubstitutionMappingsDefinition.java
index 957d988..9b474e9 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaSubstitutionMappingsDefinition.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaSubstitutionMappingsDefinition.java
@@ -20,6 +20,7 @@
 
 package org.openecomp.sdc.ci.tests.tosca.datatypes;
 
+import java.util.HashMap;
 import java.util.Map;
 
 import org.yaml.snakeyaml.TypeDescription;
@@ -27,12 +28,11 @@
 public class ToscaSubstitutionMappingsDefinition {
 
 	private String node_type;
-	private Map<String, Object> requirements;
-	private Map<String, Object> capabilities;
+	private Map<String, Object> requirements = new HashMap<>();
+	private Map<String, Object> capabilities = new HashMap<>();
 
 	public ToscaSubstitutionMappingsDefinition() {
 		super();
-		// TODO Auto-generated constructor stub
 	}
 	
 	public String getNode_type() {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaTopologyTemplateDefinition.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaTopologyTemplateDefinition.java
index 66672b1..9794436 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaTopologyTemplateDefinition.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaTopologyTemplateDefinition.java
@@ -20,8 +20,9 @@
 
 package org.openecomp.sdc.ci.tests.tosca.datatypes;
 
-import java.util.List;
+import java.util.HashMap;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 import org.yaml.snakeyaml.TypeDescription;
 
@@ -29,25 +30,52 @@
 public class ToscaTopologyTemplateDefinition {
 
 	String description;
-	Map<String, Object> inputs;
-	Map<String,ToscaNodeTemplatesTopologyTemplateDefinition> node_templates;
+//	Map<String, Map<String, ToscaInputsDefinition>> inputs;
+	Map<String,ToscaNodeTemplatesTopologyTemplateDefinition> node_templates = new HashMap<>();
 //	Map<String,ToscaRelationshipTemplatesTopologyTemplateDefinition> relationship_templates;
-	Map<String,ToscaGroupsTopologyTemplateDefinition> groups;
+	Map<String,ToscaGroupsTopologyTemplateDefinition> groups = new HashMap<>();
+	Map<String, ToscaInputsTopologyTemplateDefinition> inputs = new HashMap<>();
 //	Map<String,ToscaPoliciesTopologyTemplateDefinition> policies;
 //	Map<String,ToscaOutputsTopologyTemplateDefinition> outputs;
 	ToscaSubstitutionMappingsDefinition substitution_mappings;
 	
 	public ToscaTopologyTemplateDefinition() {
 		super();
-		// TODO Auto-generated constructor stub
+	}
+	
+	public ToscaTopologyTemplateDefinition(ToscaTopologyTemplateDefinition definition) {
+		this.description = definition.description;
+		this.node_templates = new HashMap<>(definition.node_templates);
+		this.groups = new HashMap<String,ToscaGroupsTopologyTemplateDefinition>(definition.groups);
+		this.inputs = definition.inputs.entrySet().stream().collect(Collectors.toMap(e -> e.getKey(), e -> new ToscaInputsTopologyTemplateDefinition(e.getValue())));
+		this.substitution_mappings = definition.substitution_mappings;
+	}
+	
+	public ToscaTopologyTemplateDefinition(String description, Map<String, ToscaNodeTemplatesTopologyTemplateDefinition> node_templates, Map<String, ToscaGroupsTopologyTemplateDefinition> groups,
+		Map<String, ToscaInputsTopologyTemplateDefinition> inputs, ToscaSubstitutionMappingsDefinition substitution_mappings) {
+	super();
+	this.description = description;
+	this.node_templates = node_templates;
+	this.groups = groups;
+	this.inputs = inputs;
+	this.substitution_mappings = substitution_mappings;
+}
+
+	public Map<String, ToscaInputsTopologyTemplateDefinition> getInputs() {
+		return inputs;
 	}
 
+	public void setInputs(Map<String, ToscaInputsTopologyTemplateDefinition> inputs) {
+		this.inputs = inputs;
+	}
 
+	public void addInputs(Map<String, ToscaInputsTopologyTemplateDefinition> inputs) {
+		this.inputs.putAll(inputs);
+	}
+	
 	public ToscaSubstitutionMappingsDefinition getSubstitution_mappings() {
 		return substitution_mappings;
 	}
-
-
 	public void setSubstitution_mappings(ToscaSubstitutionMappingsDefinition substitution_mappings) {
 		this.substitution_mappings = substitution_mappings;
 	}
@@ -60,18 +88,7 @@
 		this.description = description;
 	}
 
-	public Map<String, Object> getInputs() {
-		return inputs;
-	}
 
-	public void setInputs(Map<String, Object> inputs) {
-		this.inputs = inputs;
-	}
-
-	public void addInputs(Map<String, Object> inputs) {
-		this.inputs.putAll(inputs);
-	}
-	
 	public Map<String, ToscaNodeTemplatesTopologyTemplateDefinition> getNode_templates() {
 		return node_templates;
 	}
@@ -80,14 +97,6 @@
 		this.node_templates = node_templates;
 	}
 
-//	public Map<String, ToscaRelationshipTemplatesTopologyTemplateDefinition> getRelationship_templates() {
-//		return relationship_templates;
-//	}
-//
-//	public void setRelationship_templates(Map<String, ToscaRelationshipTemplatesTopologyTemplateDefinition> relationship_templates) {
-//		this.relationship_templates = relationship_templates;
-//	}
-
 	public Map<String, ToscaGroupsTopologyTemplateDefinition> getGroups() {
 		return groups;
 	}
@@ -95,41 +104,12 @@
 	public void setGroups(Map<String, ToscaGroupsTopologyTemplateDefinition> groups) {
 		this.groups = groups;
 	}
-//
-//	public Map<String, ToscaPoliciesTopologyTemplateDefinition> getPolicies() {
-//		return policies;
-//	}
-//
-//	public void setPolicies(Map<String, ToscaPoliciesTopologyTemplateDefinition> policies) {
-//		this.policies = policies;
-//	}
-//
-//	public Map<String, ToscaOutputsTopologyTemplateDefinition> getOutputs() {
-//		return outputs;
-//	}
-//
-//	public void setOutputs(Map<String, ToscaOutputsTopologyTemplateDefinition> outputs) {
-//		this.outputs = outputs;
-//	}
-//
-//	public Map<String, ToscaSubstitutionMappingsDefinition> getSubstitution_mappings() {
-//		return substitution_mappings;
-//	}
-//
-//	public void setSubstitution_mappings(Map<String, ToscaSubstitutionMappingsDefinition> substitution_mappings) {
-//		this.substitution_mappings = substitution_mappings;
-//	}
 
-//	@Override
-//	public String toString() {
-//		return "ToscaTopologyTemplateDefinition [description=" + description + ", inputs=" + inputs + ", node_templates=" + node_templates + ", relationship_templates=" + relationship_templates + ", groups=" + groups + ", policies="
-//				+ policies + ", outputs=" + outputs + ", substitution_mappings=" + substitution_mappings + "]";
-//	}
-
+	
 	//gets Type description for Yaml snake
 	public static TypeDescription getTypeDescription(){
         TypeDescription typeDescription = new TypeDescription(ToscaTopologyTemplateDefinition.class);
-        typeDescription.putMapPropertyType("inputs", String.class, Object.class);
+        typeDescription.putMapPropertyType("inputs", String.class, ToscaInputsTopologyTemplateDefinition.class);
         typeDescription.putMapPropertyType("node_templates", String.class, ToscaNodeTemplatesTopologyTemplateDefinition.class);
         typeDescription.putMapPropertyType("groups", String.class, ToscaGroupsTopologyTemplateDefinition.class);
     	return typeDescription;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaTopologyTemplateDefinition2.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaTopologyTemplateDefinition2.java
index 735c8a0..5c750c9 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaTopologyTemplateDefinition2.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaTopologyTemplateDefinition2.java
@@ -36,7 +36,6 @@
 	
 	public ToscaTopologyTemplateDefinition2() {
 		super();
-		// TODO Auto-generated constructor stub
 	}
 
 	public String getDescription() {
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 afdfa43..a464eb1 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.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 8e611a3..16266fb 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.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 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 4838d55..35c25b7 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.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 @@
 		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 3f000d7..9ac02a0 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.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.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 @@
 
 	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 @@
 
 	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 5926798..0c193ad 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 @@
         	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 @@
     	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 e89c6be..bd1066a 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.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 0243896..8381bbd 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.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 58ab9f3..56c350f 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.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.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.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.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 @@
 		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 @@
 		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 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 @@
 		}
 		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 619d279..cbae462 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 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.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 ddca429..8224f08 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.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 @@
 	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 @@
 		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 @@
 		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 @@
 		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 @@
 		return serviceDetails;
 	}
 
+	public static ServiceReqDetails getRandomCategoryService() {
+		ServiceReqDetails serviceReqDetails = getServiceByCategory(ServiceCategoriesEnum.getRandomElement());
+		return serviceReqDetails;
+	}
+
 	// ***** PROPERTY ***
 
 	public static PropertyReqDetails getDefaultProperty() {
@@ -851,7 +878,6 @@
 		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 @@
 		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 2c5d985..9759653 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 @@
 	}
 //	-------------------------------------------------------------------------------------------------
 	
+
+	/**
+	 * @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;
+		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;
 		}
-		
-		else if(filepath.isEmpty() && !System.getProperty("os.name").contains("Windows")){
-				filepath = FileHandling.getBasePath() + "Files" + File.separator + 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 @@
 		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 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 @@
 			}
 			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 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 @@
 
 		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 c1f311a..7e5a7d6 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 12f04e2..76e4c51 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.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.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 @@
 		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 @@
 		
 		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 @@
 				convertPayloadToFile(componentToscaArtifactPayload.left().value(), file);
 			}
 		} catch (Exception e) {
-			// TODO Auto-generated catch block
 			e.printStackTrace();
 		}
 	}
@@ -258,25 +251,25 @@
 		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 f6d3e58..dc38d40 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.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);
-		assertEquals("did not succeed to checking new VSP", 200, checkin.getErrorCode().intValue());
+	public static Pair<String, Map<String, String>> createVendorSoftwareProduct(ResourceReqDetails resourceReqDetails, String heatFileName, String filepath, User user, AmdocsLicenseMembers amdocsLicenseMembers)
+			throws Exception {
 
-		RestResponse submit = submitVendorSoftwareProduct(vspid, user);
-		assertEquals("did not succeed to submit new VSP", 200, submit.getErrorCode().intValue());
-
-		RestResponse createPackage = createPackageOfVendorSoftwareProduct(vspid, user);
-		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");
+		Map<CvfcTypeEnum, String> cvfcArtifacts = new HashMap<>();
+		return createVendorSoftwareProduct(resourceReqDetails, heatFileName, filepath, user, amdocsLicenseMembers, cvfcArtifacts);
 	}
 
-	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);
+//	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 = OnboardingUtils.submitVendorSoftwareProduct(vspid, user, vspVersion);
+		assertEquals("did not succeed to submit new VSP", 200, submit.getErrorCode().intValue());
+
+		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");
+	}
+
+	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 @@
 		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);
+
+		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 @@
 		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 @@
 		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 @@
 		
 		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);
 	}
 
-	private static RestResponse uploadSnmpPollArtifact(String filepath, String zipArtifact, String vspid, User user,
-			String vspComponentId) throws FileNotFoundException, IOException, ClientProtocolException {
+	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("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_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 {
+		Config config = Utils.getConfig();
+		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 @@
 		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 @@
 		}
 		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 @@
 		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 @@
 		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 submitVendorLicense(String vspid, User user) throws Exception {
-		return actionOnComponent(vspid, "Submit", "vendor-license-models", user);
+	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, 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 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 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 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 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 @@
 		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());
-
+		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());
 
-		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");
+		vendorSoftwareProductObject.setLicensingVersion(licensingVersion);
 
-		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]);
-		
+		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());
+
 		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 @@
 		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 @@
 			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 @@
 		}
 	}
 
+//	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);
-	}
-	
-	private static RestResponse checkoutVendorSoftwareProduct(String vspid, User user) throws Exception {
-		return actionOnComponent(vspid, "Checkout", "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);
 	}
 
-	public static RestResponse submitVendorSoftwareProduct(String vspid, User user) throws Exception {
-		return actionOnComponent(vspid, "Submit", "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 createPackageOfVendorSoftwareProduct(String vspid, User user) throws Exception {
-		return actionOnComponent(vspid, "Create_Package", "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, 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 @@
 		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 @@
 		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 7103892..366962e 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 0000000..7103892
--- /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 7191838..4ade9eb 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 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 70ed1d5..449b6be 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 0e0a974..0aadfdb 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 @@
 
 		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 951831c..0be4384 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.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 93c0d05..65bc2f5 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 @@
 
 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.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 b035694..33704a5 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.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.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 @@
 		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 ec8fd40..2f33273 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.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 19d7d72..d9b8ec3 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.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 c4b9764..6f83ec9 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.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.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 @@
 				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 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 @@
 			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 @@
 			artifactDefinition = mapper.readValue(response, ArtifactDefinition.class);
 			logger.debug(artifactDefinition.toString());
 		} catch (IOException e) {
-			// TODO Auto-generated catch block
 			e.printStackTrace();
 		}
 
@@ -280,7 +270,6 @@
 			// System.out.println("Class: "+clazz.getSimpleName()+", json:
 			// "+json);
 		} catch (IOException e) {
-			// TODO Auto-generated catch block
 			e.printStackTrace();
 		}
 
@@ -313,12 +302,12 @@
 		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 @@
 			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 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 @@
 		
 		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 b211cb7..a073006 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.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 1bef06a..4cf712f 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 @@
 
 		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 0d49d97..eb3ee33 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 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 d63a514..cd2297f 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 7423dbc..12a5ab8 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 @@
 
 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 b79e4c6..ccddc30 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.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.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 a7c7b7d..2f8a0df 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 1fa20c1..a75434e 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;
 
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/AssetLifeCycle.java b/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/AssetLifeCycle.java
index 5ac70bf..2d50ebf 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/AssetLifeCycle.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/AssetLifeCycle.java
@@ -296,8 +296,8 @@
 //			{ElementFactory.getDefaultUser(UserRoleEnum.ADMIN)},
 			{ElementFactory.getDefaultUser(UserRoleEnum.GOVERNOR)},
 			{ElementFactory.getDefaultUser(UserRoleEnum.OPS)},
-			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1)},
-			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1)},
+			/*due to those roles are not exists in the system		{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1)},
+			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1)},*/
 			};
 	}
 	
@@ -332,8 +332,8 @@
 //			{ElementFactory.getDefaultUser(UserRoleEnum.ADMIN)},
 			{ElementFactory.getDefaultUser(UserRoleEnum.GOVERNOR)},
 			{ElementFactory.getDefaultUser(UserRoleEnum.OPS)},
-			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1)},
-			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1)},
+			/*due to those roles are not exists in the system					{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1)},
+			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1)},*/
 			};
 	}
 	
@@ -370,8 +370,8 @@
 //			{ElementFactory.getDefaultUser(UserRoleEnum.ADMIN)},
 			{ElementFactory.getDefaultUser(UserRoleEnum.GOVERNOR)},
 			{ElementFactory.getDefaultUser(UserRoleEnum.OPS)},
-			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1)},
-			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1)},
+			/*due to those roles are not exists in the system		{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1)},
+			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1)},*/
 			};
 	}
 	
@@ -406,8 +406,8 @@
 //			{ElementFactory.getDefaultUser(UserRoleEnum.ADMIN)},
 			{ElementFactory.getDefaultUser(UserRoleEnum.GOVERNOR)},
 			{ElementFactory.getDefaultUser(UserRoleEnum.OPS)},
-			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1)},
-			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1)},
+			/*due to those roles are not exists in the system		{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1)},
+			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1)},*/
 			};
 	}
 	
@@ -444,8 +444,8 @@
 //			{ElementFactory.getDefaultUser(UserRoleEnum.ADMIN)},
 			{ElementFactory.getDefaultUser(UserRoleEnum.GOVERNOR)},
 			{ElementFactory.getDefaultUser(UserRoleEnum.OPS)},
-			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1)},
-			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1)},
+	/*due to those roles are not exists in the system		{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1)},
+			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1)},*/
 			};
 	}
 	
@@ -480,8 +480,8 @@
 //			{ElementFactory.getDefaultUser(UserRoleEnum.ADMIN)},
 			{ElementFactory.getDefaultUser(UserRoleEnum.GOVERNOR)},
 			{ElementFactory.getDefaultUser(UserRoleEnum.OPS)},
-			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1)},
-			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1)},
+			/*due to those roles are not exists in the system		{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1)},
+			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1)},*/
 			};
 	}
 	
@@ -518,8 +518,8 @@
 //			{ElementFactory.getDefaultUser(UserRoleEnum.ADMIN)},
 			{ElementFactory.getDefaultUser(UserRoleEnum.GOVERNOR)},
 			{ElementFactory.getDefaultUser(UserRoleEnum.OPS)},
-			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1)},
-			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1)},
+			/*due to those roles are not exists in the system		{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1)},
+			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1)},*/
 			};
 	}
 	
@@ -554,8 +554,8 @@
 //			{ElementFactory.getDefaultUser(UserRoleEnum.ADMIN)},
 			{ElementFactory.getDefaultUser(UserRoleEnum.GOVERNOR)},
 			{ElementFactory.getDefaultUser(UserRoleEnum.OPS)},
-			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1)},
-			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1)},
+			/*due to those roles are not exists in the system		{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1)},
+			{ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1)},*/
 			};
 	}
 	
@@ -624,7 +624,7 @@
 			ActionStatus actionStatus, User user, User operationUser) throws Exception {
 		
 		if(initState.equals(LifeCycleStatesEnum.STARTCERTIFICATION) && targetState.equals(LifeCycleStatesEnum.CHECKIN)){
-			throw new SkipException("Open bug DE270217");			
+			throw new SkipException("Open bug DE270217 or TDP number: 154592");			
 		}
 		
 		getExtendTest().log(Status.INFO, String.format("initState: %s, targetState: %s, errorCode: %s,"
@@ -732,7 +732,7 @@
 				currState, status, actionStatus, user, operationUser));
 		
 		if(initState.equals(LifeCycleStatesEnum.STARTCERTIFICATION) && targetState.equals(LifeCycleStatesEnum.CHECKIN)){
-			throw new SkipException("Open bug DE270217");			
+			throw new SkipException("Open bug DE270217 or TDP number: 154592");			
 		}
 		
 		Either<Resource, RestResponse> createdComponent = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VF, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, UserRoleEnum.DESIGNER, true);
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/CRUDExternalAPI.java b/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/CRUDExternalAPI.java
index 9ba6953..26d1c18 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/CRUDExternalAPI.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/CRUDExternalAPI.java
@@ -81,7 +81,6 @@
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
-import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
 import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils;
 import org.openecomp.sdc.ci.tests.utils.validation.DistributionValidationUtils;
 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
@@ -1164,7 +1163,7 @@
 			{ComponentTypeEnum.SERVICE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKOUT},
 			{ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKOUT},
 			
-			{ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN},
+			/*due to those roles are not exists in the system		{ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN},
 			{ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN},
 			{ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN},
 			{ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKOUT},
@@ -1176,7 +1175,7 @@
 			{ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKIN},
 			{ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT},
 			{ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT},
-			{ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT},
+			{ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT},*/
 			};
 	}
 		
@@ -1737,7 +1736,7 @@
 			{ComponentTypeEnum.SERVICE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKOUT, ArtifactTypeEnum.OTHER.getType()},
 			{ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKOUT, ArtifactTypeEnum.DCAE_INVENTORY_TOSCA.getType()},
 			
-			{ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN, ArtifactTypeEnum.OTHER.getType()},
+			/*due to those roles are not exists in the system		{ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN, ArtifactTypeEnum.OTHER.getType()},
 			{ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN, ArtifactTypeEnum.OTHER.getType()},
 			{ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN, ArtifactTypeEnum.DCAE_INVENTORY_TOSCA.getType()},
 			{ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKOUT, ArtifactTypeEnum.OTHER.getType()},
@@ -1749,7 +1748,7 @@
 			{ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKIN, ArtifactTypeEnum.DCAE_INVENTORY_TOSCA.getType()},
 			{ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT, ArtifactTypeEnum.OTHER.getType()},
 			{ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT, ArtifactTypeEnum.OTHER.getType()},
-			{ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT, ArtifactTypeEnum.DCAE_INVENTORY_TOSCA.getType()},
+			{ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT, ArtifactTypeEnum.DCAE_INVENTORY_TOSCA.getType()},*/
 			};
 	}
 		
@@ -2803,7 +2802,7 @@
 			{ComponentTypeEnum.SERVICE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKOUT, ArtifactTypeEnum.OTHER.getType()},
 			{ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKOUT, ArtifactTypeEnum.DCAE_INVENTORY_TOSCA.getType()},
 			
-			{ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN, ArtifactTypeEnum.OTHER.getType()},
+			/*due to those roles are not exists in the system		{ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN, ArtifactTypeEnum.OTHER.getType()},
 			{ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN, ArtifactTypeEnum.OTHER.getType()},
 			{ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN, ArtifactTypeEnum.DCAE_INVENTORY_TOSCA.getType()},
 			{ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKOUT, ArtifactTypeEnum.OTHER.getType()},
@@ -2815,7 +2814,7 @@
 			{ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKIN, ArtifactTypeEnum.DCAE_INVENTORY_TOSCA.getType()},
 			{ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT, ArtifactTypeEnum.OTHER.getType()},
 			{ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT, ArtifactTypeEnum.OTHER.getType()},
-			{ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT, ArtifactTypeEnum.DCAE_INVENTORY_TOSCA.getType()},
+			{ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT, ArtifactTypeEnum.DCAE_INVENTORY_TOSCA.getType()},*/
 			};
 	}
 		
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/DeploymentValiditaion.java b/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/DeploymentValiditaion.java
index 91a7b12..07cb7d9 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/DeploymentValiditaion.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/DeploymentValiditaion.java
@@ -44,7 +44,6 @@
 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.Component;
 import org.openecomp.sdc.be.model.Resource;
 import org.openecomp.sdc.be.model.User;
 import org.openecomp.sdc.be.model.category.CategoryDefinition;
@@ -60,7 +59,6 @@
 import org.openecomp.sdc.ci.tests.utils.rest.CatalogRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.CategoryRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
-import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils;
 import org.openecomp.sdc.common.util.ZipUtil;
 import org.testng.annotations.BeforeTest;
 import org.testng.annotations.Test;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/GetAssetServlet.java b/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/GetAssetServlet.java
index b96abc0..fdef535 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/GetAssetServlet.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/GetAssetServlet.java
@@ -60,7 +60,6 @@
 import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum;
 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
 import org.openecomp.sdc.ci.tests.utils.Utils;
-import org.openecomp.sdc.ci.tests.utils.cassandra.CassandraUtils;
 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
@@ -72,7 +71,6 @@
 import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils;
 import org.openecomp.sdc.common.api.Constants;
 import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum;
-import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 import com.google.gson.Gson;
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/GetFilteredAssetServlet.java b/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/GetFilteredAssetServlet.java
index 008cdbb..70d8ef5 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/GetFilteredAssetServlet.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/GetFilteredAssetServlet.java
@@ -69,7 +69,6 @@
 import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 public class GetFilteredAssetServlet extends ComponentBaseTest {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/GetSpecificAssetMetadataServlet.java b/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/GetSpecificAssetMetadataServlet.java
index 2cb307c..a55a458 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/GetSpecificAssetMetadataServlet.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/GetSpecificAssetMetadataServlet.java
@@ -50,7 +50,6 @@
 import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils;
 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
 import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum;
-import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 public class GetSpecificAssetMetadataServlet extends ComponentBaseTest {
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/UserAPIs.java b/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/UserAPIs.java
index ceafe20..2d1d87e 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/UserAPIs.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/UserAPIs.java
@@ -113,11 +113,11 @@
 				sizeAfterChange = allusersList.size();
 				Assert.assertEquals(sizeBeforeChange, sizeAfterChange + 1, "Expected that list will change.");
 				
-			} finally {
+				} finally {
 				deleteUser(ecompUser.getLoginId());
 			}
 							
-			}
+		}
 					
 	}
 	
@@ -179,7 +179,7 @@
 			allusersList = getAllusersList();
 			int sizeAfterChange = allusersList.size();
 					
-			assertTrue("List is Equel" , sizeBeforeChange != sizeAfterChange );
+			assertTrue("Lists are Equal" , sizeBeforeChange != sizeAfterChange );
 			
 			//update role
 			ecompRole.setId((long) 2);
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/VFCMTExternalAPI.java b/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/VFCMTExternalAPI.java
index 8da7988..cd96af2 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/VFCMTExternalAPI.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/externalApis/VFCMTExternalAPI.java
@@ -22,7 +22,6 @@
 
 import static java.util.Arrays.asList;
 
-import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -48,7 +47,6 @@
 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject;
 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
-import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
 import org.openecomp.sdc.ci.tests.utils.rest.AssetRestUtils;
 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
@@ -60,12 +58,9 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.testng.Assert;
-import org.testng.SkipException;
-import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
 
-import com.google.common.util.concurrent.ListeningExecutorService;
 import com.google.gson.Gson;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonElement;
diff --git a/test-apis-ci/src/main/resources/ci/conf/attsdc.yaml b/test-apis-ci/src/main/resources/ci/conf/attsdc.yaml
index 10402eb..904b3d1 100644
--- a/test-apis-ci/src/main/resources/ci/conf/attsdc.yaml
+++ b/test-apis-ci/src/main/resources/ci/conf/attsdc.yaml
@@ -2,6 +2,12 @@
 reportName: index.html
 catalogBeHost: localhost
 catalogFeHost: fehost
+#QA-SCRUM1
+#catalogBeHost: 135.21.125.97
+#catalogFeHost: 135.21.125.89
+#Automate
+#catalogBeHost: 135.63.125.67
+#catalogFeHost: 135.63.125.63
 esHost: eshost
 disributionClientHost: disClient
 catalogFePort: 8181
@@ -14,7 +20,7 @@
 neoDBusername: neo4j	
 neoDBpassword: 123456
 windowsDownloadDirectory: "c:\\apache-ftpserver-1.1.0\\res\\home"
-
+systemUnderDebug: false
 resourceConfigDir: src/test/resources/CI/tests
 componentsConfigDir: src/test/resources/CI/components
 importResourceConfigDir: ../catalog-be/src/main/resources/import/tosca/capability-types
diff --git a/test-apis-ci/src/main/resources/ci/conf/titan.properties b/test-apis-ci/src/main/resources/ci/conf/titan.properties
index 42e1998..5411a44 100644
--- a/test-apis-ci/src/main/resources/ci/conf/titan.properties
+++ b/test-apis-ci/src/main/resources/ci/conf/titan.properties
@@ -1,8 +1,11 @@
 storage.backend=cassandra
-#storage.hostname=cassandrahost
 storage.hostname=localhost
 storage.port=9160
 
 cache.db-cache = false
+cache.db-cache-clean-wait = 20
+cache.db-cache-time = 180000
+cache.db-cache-size = 0.5
 
-
+cache.tx-cache-size = 500000
+storage.cassandra.keyspace=sdctitan
diff --git a/test-apis-ci/src/main/resources/ci/testSuites/externalAPIs.xml b/test-apis-ci/src/main/resources/ci/testSuites/externalAPIs.xml
index 275d07e..d32839b 100644
--- a/test-apis-ci/src/main/resources/ci/testSuites/externalAPIs.xml
+++ b/test-apis-ci/src/main/resources/ci/testSuites/externalAPIs.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
-<suite name="externalApis" configfailurepolicy="continue" verbose="2" parallel="methods" thread-count="2" data-provider-thread-count="2">
+<suite name="externalApis" configfailurepolicy="continue" verbose="2" parallel="methods" thread-count="1" data-provider-thread-count="1">
 	<test name="ExternalApis"> 
 		<classes>	
 			
diff --git a/test-apis-ci/src/main/resources/ci/testSuites/onap.xml b/test-apis-ci/src/main/resources/ci/testSuites/onap.xml
index 1d5bc4b..4aad368 100644
--- a/test-apis-ci/src/main/resources/ci/testSuites/onap.xml
+++ b/test-apis-ci/src/main/resources/ci/testSuites/onap.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
 <suite name="externalApis" configfailurepolicy="continue" verbose="2" parallel="methods" thread-count="1" data-provider-thread-count="1">
+	<parameter name="makeDistribution"  value="false"/>
+	<parameter name="makeToscaValidation"  value="true"/>
 	<test name="ExternalApis"> 
 		<classes>