1 package org.openecomp.sdc.ci.tests.dataProvider;
3 import org.openecomp.sdc.ci.tests.execute.sanity.ToscaValidationTest;
4 import org.openecomp.sdc.ci.tests.utilities.FileHandling;
5 import org.openecomp.sdc.ci.tests.utils.general.OnboardingUtils;
6 import org.testng.annotations.DataProvider;
7 import org.testng.annotations.Factory;
9 import java.util.ArrayList;
10 import java.util.Collections;
11 import java.util.List;
13 public class OnbordingDataProviders {
15 protected static String filepath = FileHandling.getVnfRepositoryPath();
17 // -----------------------dataProviders-----------------------------------------
18 @DataProvider(name = "randomVNF_List", parallel = false)
19 private static final Object[][] randomVnfList() throws Exception {
20 int randomElementNumber = 3; //how many VNFs to onboard randomly
21 List<String> fileNamesFromFolder = OnboardingUtils.getVnfNamesFileListExcludeToscaParserFailure();
22 List<String> newRandomFileNamesFromFolder = getRandomElements(randomElementNumber, fileNamesFromFolder);
23 System.out.println(String.format("There are %s zip file(s) to test", newRandomFileNamesFromFolder.size()));
24 return provideData(newRandomFileNamesFromFolder, filepath);
27 @DataProvider(name = "VNF_List" , parallel = true)
28 private static final Object[][] VnfList() throws Exception {
30 List<String> fileNamesFromFolder = OnboardingUtils.getVnfNamesFileList();
32 System.out.println(String.format("There are %s zip file(s) to test", fileNamesFromFolder.size()));
33 return provideData(fileNamesFromFolder, filepath);
36 @DataProvider(name = "updateList")
37 private static final Object[][] updateList() throws Exception {
39 Object[][] objectArr = new Object[2][];
41 Object[][] filteredArObject = null;
43 objectArr[0] = new Object[]{ "1-2016-20-visbc3vf-(VOIP)_v2.1.zip", "2-2016-20-visbc3vf-(VOIP)_v2.1_RenameResourceToShay.zip" };
44 objectArr[1] = new Object[]{ "1-2017-404_vUSP_vCCF_AIC3.0-(VOIP)_v6.0.zip", "2-2017-404_vUSP_vCCF_AIC3.0-(VOIP)_v6.0_Added2TestParameters.zip" };
46 filteredArObject = OnboardingUtils.filterObjectArrWithExcludedVnfs(objectArr);
48 return filteredArObject;
53 // -----------------------factories-----------------------------------------
54 // @Factory(dataProvider = "VNF_List")
55 // public Object[] OnbordingDataProviders(String filepath, String vnfFile){
56 // return new Object[] { new ToscaValidationTest(filepath, vnfFile)};
61 // -----------------------methods-----------------------------------------
62 public static Object[][] provideData(List<String> fileNamesFromFolder, String filepath) {
64 Object[][] arObject = new Object[fileNamesFromFolder.size()][];
66 for (Object obj : fileNamesFromFolder) {
67 arObject[index++] = new Object[] { filepath, obj };
72 public static List<String> getRandomElements(int randomElementNumber, List<String> fileNamesFromFolder) {
73 if(fileNamesFromFolder.size() == 0 || fileNamesFromFolder.size() < randomElementNumber){
76 List<Integer> indexList = new ArrayList<>();
77 List<String> newRandomFileNamesFromFolder = new ArrayList<>();
78 for(int i = 0; i < fileNamesFromFolder.size(); i++){
81 Collections.shuffle(indexList);
82 Integer[] randomArray = indexList.subList(0, randomElementNumber).toArray(new Integer[randomElementNumber]);
83 for(int i = 0; i < randomArray.length; i++){
84 newRandomFileNamesFromFolder.add(fileNamesFromFolder.get(randomArray[i]));
86 return newRandomFileNamesFromFolder;
91 // private static String[][] arrangeFilesVersionPairs(List<String> filesArr) {
92 // String[][] filesArrangeByPairs = null;
94 // List<String> versionOneFiles= null;
95 // List<String> versionTowFiles= null;
97 // for ( String fileName : filesArr )
99 // if(fileName.startsWith("1-"))
101 // versionOneFiles.add(fileName);
103 // else if(fileName.startsWith("2-"))
105 // versionTowFiles.add(fileName);
109 // Collections.sort(versionOneFiles);
110 // Collections.sort(versionTowFiles);
112 // for (int i=0 ; i<versionOneFiles.size() ; i++ )
114 // for (int j=0 ; j<versionTowFiles.size() ; j++ )
120 // return filesArrangeByPairs;