re base code
[sdc.git] / ui-ci / src / main / java / org / openecomp / sdc / ci / tests / dataProvider / OnbordingDataProviders.java
1 package org.openecomp.sdc.ci.tests.dataProvider;
2
3 import org.openecomp.sdc.ci.tests.utilities.FileHandling;
4 import org.openecomp.sdc.ci.tests.utils.general.OnboardingUtils;
5 import org.testng.annotations.DataProvider;
6
7 import java.util.ArrayList;
8 import java.util.Collections;
9 import java.util.List;
10
11 public class OnbordingDataProviders {
12
13         protected static String filepath = FileHandling.getVnfRepositoryPath();
14
15 //      -----------------------dataProviders-----------------------------------------   
16         @DataProvider(name = "randomVNF_List", parallel = false)
17         private static final Object[][] randomVnfList() throws Exception {
18                 int randomElementNumber = 3; //how many VNFs to onboard randomly
19                 List<String> fileNamesFromFolder = OnboardingUtils.getVnfNamesFileListExcludeToscaParserFailure();
20                 List<String> newRandomFileNamesFromFolder = getRandomElements(randomElementNumber, fileNamesFromFolder);
21                 System.out.println(String.format("There are %s zip file(s) to test", newRandomFileNamesFromFolder.size()));
22                 return provideData(newRandomFileNamesFromFolder, filepath);
23         }
24         
25         @DataProvider(name = "VNF_List" , parallel = true)
26         private static final Object[][] VnfList() throws Exception {
27                 
28                 List<String> fileNamesFromFolder = OnboardingUtils.getVnfNamesFileList();
29
30                 System.out.println(String.format("There are %s zip file(s) to test", fileNamesFromFolder.size()));
31                 return provideData(fileNamesFromFolder, filepath);
32         }
33
34         @DataProvider(name = "updateList")
35         private static final Object[][] updateList() throws Exception {
36
37                 Object[][] objectArr = new Object[2][];
38
39                 Object[][] filteredArObject = null;
40
41                 objectArr[0] = new Object[]{ "1-2016-20-visbc3vf-(VOIP)_v2.1.zip", "2-2016-20-visbc3vf-(VOIP)_v2.1_RenameResourceToShay.zip" };
42                 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" };
43
44                 filteredArObject = OnboardingUtils.filterObjectArrWithExcludedVnfs(objectArr);
45
46                 return filteredArObject;
47
48
49         }
50
51         //      -----------------------factories-----------------------------------------
52 //      @Factory(dataProvider = "VNF_List")
53 //      public Object[] OnbordingDataProviders(String filepath, String vnfFile){
54 //              return new Object[] { new ToscaValidationTest(filepath, vnfFile)};
55 //      }
56         
57         
58         
59 //      -----------------------methods-----------------------------------------
60         public static Object[][] provideData(List<String> fileNamesFromFolder, String filepath) {
61                 
62                 Object[][] arObject = new Object[fileNamesFromFolder.size()][];
63                 int index = 0;
64                 for (Object obj : fileNamesFromFolder) {
65                         arObject[index++] = new Object[] { filepath, obj };
66                 }
67                 return arObject;
68         }
69         
70         public static List<String> getRandomElements(int randomElementNumber, List<String> fileNamesFromFolder) {
71                 if(fileNamesFromFolder.size() == 0 || fileNamesFromFolder.size() < randomElementNumber){
72                         return null;
73                 }else{
74                         List<Integer> indexList = new ArrayList<>();
75                         List<String> newRandomFileNamesFromFolder = new ArrayList<>(); 
76                         for(int i = 0; i < fileNamesFromFolder.size(); i++){
77                                 indexList.add(i);
78                         }
79                         Collections.shuffle(indexList);
80                         Integer[] randomArray = indexList.subList(0, randomElementNumber).toArray(new Integer[randomElementNumber]);
81                         for(int i = 0; i < randomArray.length; i++){
82                                 newRandomFileNamesFromFolder.add(fileNamesFromFolder.get(randomArray[i]));
83                         }
84                         return newRandomFileNamesFromFolder;
85                 }
86         }
87
88
89 //      private static String[][] arrangeFilesVersionPairs(List<String> filesArr) {
90 //              String[][] filesArrangeByPairs = null;
91 //
92 //              List<String> versionOneFiles= null;
93 //              List<String> versionTowFiles= null;
94 //
95 //              for ( String fileName : filesArr )
96 //              {
97 //                      if(fileName.startsWith("1-"))
98 //                      {
99 //                              versionOneFiles.add(fileName);
100 //                      }
101 //                      else if(fileName.startsWith("2-"))
102 //                      {
103 //                              versionTowFiles.add(fileName);
104 //                      }
105 //              }
106 //
107 //              Collections.sort(versionOneFiles);
108 //              Collections.sort(versionTowFiles);
109 //
110 //              for (int i=0 ; i<versionOneFiles.size() ; i++ )
111 //              {
112 //                      for (int j=0 ; j<versionTowFiles.size() ; j++ )
113 //                      {
114 //
115 //                      }
116 //              }
117 //
118 //              return filesArrangeByPairs;
119 //      }
120
121 }