[sdc] sync
[sdc.git] / ui-ci / src / main / java / org / openecomp / sdc / ci / tests / execute / sanity / OnboardViaApis.java
index cb647ae..2ce944d 100644 (file)
@@ -28,6 +28,7 @@ import java.io.FileOutputStream;
 import java.nio.charset.StandardCharsets;
 import java.sql.Timestamp;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -39,6 +40,7 @@ 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.datatypes.AmdocsLicenseMembers;
 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
@@ -66,8 +68,8 @@ public class OnboardViaApis{
 
        private static final String FULL_PATH = "C://tmp//CSARs//";
        
-       public static Object[][] provideData(Object[] fileNamesFromFolder, String filepath) {
-               Object[][] arObject = new Object[fileNamesFromFolder.length][];
+       public static Object[][] provideData(List<String> fileNamesFromFolder, String filepath) {
+               Object[][] arObject = new Object[fileNamesFromFolder.size()][];
 
                int index = 0;
                for (Object obj : fileNamesFromFolder) {
@@ -80,31 +82,32 @@ public class OnboardViaApis{
        private static final Object[][] VnfList() throws Exception {
                String filepath = FileHandling.getVnfRepositoryPath();
                
-               Object[] fileNamesFromFolder = FileHandling.getZipFileNamesFromFolder(filepath);
-               System.out.println(String.format("There are %s zip file(s) to test", fileNamesFromFolder.length));
+//             Object[] fileNamesFromFolder = FileHandling.getZipFileNamesFromFolder(filepath);
+               List<String> fileNamesFromFolder = FileHandling.getZipFileNamesFromFolder(filepath);
+               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");
+               fileNamesFromFolder.removeAll(exludeVnfList);
+               System.out.println(String.format("There are %s zip file(s) to test", fileNamesFromFolder.size()));
                return provideData(fileNamesFromFolder, filepath);
        }
 
        
 //-------------------------------------------------------------------------------------------------------
        User sdncDesignerDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
-               private static String vendorId;
-               private static String vendorLicenseName;
-               private static String vendorLicenseAgreementId;
-               private static String featureGroupId;
-               ResourceReqDetails resourceDetails;
-               Timestamp timestamp = new Timestamp(System.currentTimeMillis());
+       ResourceReqDetails resourceDetails;
+       Timestamp timestamp = new Timestamp(System.currentTimeMillis());
         
         
-               @BeforeMethod
-               public void before(){
-                       LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
-                       lc.getLogger("org.apache").setLevel(Level.OFF);
-                       lc.getLogger("org.*").setLevel(Level.OFF);
-                       lc.getLogger("org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest").setLevel(Level.OFF);
-                       resourceDetails = ElementFactory.getDefaultResource();
-                       
-               }
+       @BeforeMethod
+       public void before(){
+               LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
+               lc.getLogger("org.apache").setLevel(Level.OFF);
+               lc.getLogger("org.*").setLevel(Level.OFF);
+               lc.getLogger("org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest").setLevel(Level.OFF);
+               resourceDetails = ElementFactory.getDefaultResource();
+       }
                
        @Test(dataProvider = "VNF_List")
        public void onboardVNFTestViaApis(String filepath, String vnfFile) throws Exception, Throwable {
@@ -125,6 +128,35 @@ public class OnboardViaApis{
                
        }
        
+       
+       @Test
+       public void onboardingAndParser() throws Exception {
+               Service service = null;
+               String filepath = getFilePath();
+//             Object[] fileNamesFromFolder = FileHandling.getZipFileNamesFromFolder(filepath);
+               List<String> fileNamesFromFolder = FileHandling.getZipFileNamesFromFolder(filepath);
+               String vnfFile = fileNamesFromFolder.get(7);
+               System.err.println(timestamp + " Starting test with VNF: " + vnfFile);
+               service = runOnboardViaApisOnly(filepath, vnfFile);
+               
+//             AtomicOperationUtils.getServiceObjectByNameAndVersion(sdncModifierDetails, serviceName, serviceVersion);
+//        RestResponse distributeService = AtomicOperationUtils.distributeService(service, true);
+//        Map<Long, ServiceDistributionStatus> convertServiceDistributionStatusToObject = ResponseParser.convertServiceDistributionStatusToObject(distributeService.getResponse());
+//        convertServiceDistributionStatusToObject.
+       }
+       
+       public static String getFilePath() {
+               String filepath = System.getProperty("filepath");
+               if (filepath == null && System.getProperty("os.name").contains("Windows")) {
+                       filepath = FileHandling.getResourcesFilesPath() +"VNFs";
+               }
+               
+               else if(filepath.isEmpty() && !System.getProperty("os.name").contains("Windows")){
+                               filepath = FileHandling.getBasePath() + File.separator + "Files" + File.separator +"VNFs";
+               }
+               return filepath;
+       }
+       
        public static void downloadToscaCsarToDirectory(Service service, File file) {
                try {
                        Either<String,RestResponse> serviceToscaArtifactPayload = AtomicOperationUtils.getServiceToscaArtifactPayload(service, "assettoscacsar");
@@ -171,8 +203,8 @@ public class OnboardViaApis{
        
        public Pair<String, Map<String, String>> onboardAndValidateViaApi(String filepath, String vnfFile, User user) throws Exception {
        
-               createVendorLicense(user);
-               Pair<String, Map<String, String>> createVendorSoftwareProduct = createVendorSoftwareProduct(vnfFile, filepath, user);
+               AmdocsLicenseMembers amdocsLicenseMembers = createVendorLicense(user);
+               Pair<String, Map<String, String>> createVendorSoftwareProduct = createVendorSoftwareProduct(vnfFile, filepath, user, amdocsLicenseMembers);
                String vspName = createVendorSoftwareProduct.left;
                List<String> tags = new ArrayList<>();
                tags.add(vspName);
@@ -191,9 +223,9 @@ public class OnboardViaApis{
                return createVendorSoftwareProduct;
        }
        
-       public static Pair<String, Map<String, String>> createVendorSoftwareProduct(String HeatFileName, String filepath, User user)
+       public static Pair<String, Map<String, String>> createVendorSoftwareProduct(String HeatFileName, String filepath, User user, AmdocsLicenseMembers amdocsLicenseMembers)
                        throws Exception {
-               Pair<String, Map<String, String>> pair = createVSP(HeatFileName, filepath, user);
+               Pair<String, Map<String, String>> pair = createVSP(HeatFileName, filepath, user, amdocsLicenseMembers);
                
                String vspid = pair.right.get("vspId");
                                
@@ -213,35 +245,29 @@ public class OnboardViaApis{
                assertEquals("did not succeed to create package of new VSP ", 200, createPackage.getErrorCode().intValue());
 
        }
-       public static void createVendorLicense(User user) throws Exception {
-               vendorLicenseName = "ciLicense" + UUID.randomUUID().toString().split("-")[0];
+       public static AmdocsLicenseMembers createVendorLicense(User user) throws Exception {
+               
+               AmdocsLicenseMembers amdocsLicenseMembers;
+               String vendorLicenseName = "ciLicense" + UUID.randomUUID().toString().split("-")[0];
                RestResponse vendorLicenseResponse = OnboardingUtils.createVendorLicenseModels_1(vendorLicenseName, user);
-               assertEquals("did not succeed to create vendor license model", 200,
-                               vendorLicenseResponse.getErrorCode().intValue());
-               vendorId = ResponseParser.getValueFromJsonResponse(vendorLicenseResponse.getResponse(), "value");
+               assertEquals("did not succeed to create vendor license model", 200, vendorLicenseResponse.getErrorCode().intValue());
+               String vendorId = ResponseParser.getValueFromJsonResponse(vendorLicenseResponse.getResponse(), "value");
 
                RestResponse vendorKeyGroupsResponse = OnboardingUtils.createVendorKeyGroups_2(vendorId, user);
-               assertEquals("did not succeed to create vendor key groups", 200,
-                               vendorKeyGroupsResponse.getErrorCode().intValue());
+               assertEquals("did not succeed to create vendor key groups", 200, vendorKeyGroupsResponse.getErrorCode().intValue());
                String keyGroupId = ResponseParser.getValueFromJsonResponse(vendorKeyGroupsResponse.getResponse(), "value");
 
                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");
+               assertEquals("did not succeed to create vendor entitlement pool", 200, vendorEntitlementPool.getErrorCode().intValue());
+               String entitlementPoolId = ResponseParser.getValueFromJsonResponse(vendorEntitlementPool.getResponse(), "value");
 
-               RestResponse vendorLicenseFeatureGroups = OnboardingUtils.createVendorLicenseFeatureGroups_4(vendorId, keyGroupId,
-                               entitlementPoolId, user);
-               assertEquals("did not succeed to create vendor license feature groups", 200,
-                               vendorLicenseFeatureGroups.getErrorCode().intValue());
-               featureGroupId = ResponseParser.getValueFromJsonResponse(vendorLicenseFeatureGroups.getResponse(), "value");
+               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 = OnboardingUtils.createVendorLicenseAgreement_5(vendorId, featureGroupId, user);
-               assertEquals("did not succeed to create vendor license agreement", 200,
-                               vendorLicenseAgreement.getErrorCode().intValue());
-               vendorLicenseAgreementId = ResponseParser.getValueFromJsonResponse(vendorLicenseAgreement.getResponse(),
-                               "value");
+               assertEquals("did not succeed to create vendor license agreement", 200, vendorLicenseAgreement.getErrorCode().intValue());
+               String vendorLicenseAgreementId = ResponseParser.getValueFromJsonResponse(vendorLicenseAgreement.getResponse(), "value");
 
                RestResponse checkinVendorLicense = OnboardingUtils.checkinVendorLicense(vendorId, user);
                assertEquals("did not succeed to checkin vendor license", 200, checkinVendorLicense.getErrorCode().intValue());
@@ -249,13 +275,16 @@ public class OnboardViaApis{
                RestResponse submitVendorLicense = OnboardingUtils.submitVendorLicense(vendorId, user);
                assertEquals("did not succeed to submit vendor license", 200, submitVendorLicense.getErrorCode().intValue());
 
+               amdocsLicenseMembers = new AmdocsLicenseMembers(vendorId, vendorLicenseName, vendorLicenseAgreementId, featureGroupId);
+               
+               return amdocsLicenseMembers;
        }
        
        
-       public static Pair<String, Map<String, String>> createVSP(String HeatFileName, String filepath, User user) throws Exception {
+       public static Pair<String, Map<String, String>> createVSP(String HeatFileName, String filepath, User user, AmdocsLicenseMembers amdocsLicenseMembers) throws Exception {
                String vspName = OnboardingUtils.handleFilename(HeatFileName);
                
-               Pair<RestResponse, Map<String, String>> createNewVspPair = OnboardingUtils.createNewVendorSoftwareProduct(vspName, vendorLicenseName, vendorId, vendorLicenseAgreementId, featureGroupId, user);
+               Pair<RestResponse, Map<String, String>> createNewVspPair = OnboardingUtils.createNewVendorSoftwareProduct(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");
@@ -271,7 +300,7 @@ public class OnboardViaApis{
                }
                vspObject.put("vspId", vspid);
                vspObject.put("componentId", componentId);
-               vspObject.put("vendorName", vendorLicenseName);
+               vspObject.put("vendorName", amdocsLicenseMembers.getVendorLicenseName());
                vspObject.put("attContact", user.getUserId());
                
                RestResponse uploadHeatPackage = OnboardingUtils.uploadHeatPackage(filepath, HeatFileName, vspid, user);