Sync Integ to Master
[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.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;
8
9 import java.util.ArrayList;
10 import java.util.Collections;
11 import java.util.List;
12
13 public class OnbordingDataProviders {
14
15         protected static String filepath = FileHandling.getVnfRepositoryPath();
16
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);
25         }
26         
27         @DataProvider(name = "VNF_List" , parallel = true)
28         private static final Object[][] VnfList() throws Exception {
29                 
30                 List<String> fileNamesFromFolder = OnboardingUtils.getVnfNamesFileList();
31
32                 System.out.println(String.format("There are %s zip file(s) to test", fileNamesFromFolder.size()));
33                 return provideData(fileNamesFromFolder, filepath);
34         }
35
36         @DataProvider(name = "updateList")
37         private static final Object[][] updateList() throws Exception {
38
39                 Object[][] objectArr = new Object[2][];
40
41                 Object[][] filteredArObject = null;
42
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" };
45
46                 filteredArObject = OnboardingUtils.filterObjectArrWithExcludedVnfs(objectArr);
47
48                 return filteredArObject;
49
50
51         }
52
53         //      -----------------------factories-----------------------------------------
54 //      @Factory(dataProvider = "VNF_List")
55 //      public Object[] OnbordingDataProviders(String filepath, String vnfFile){
56 //              return new Object[] { new ToscaValidationTest(filepath, vnfFile)};
57 //      }
58         
59         
60         
61 //      -----------------------methods-----------------------------------------
62         public static Object[][] provideData(List<String> fileNamesFromFolder, String filepath) {
63                 
64                 Object[][] arObject = new Object[fileNamesFromFolder.size()][];
65                 int index = 0;
66                 for (Object obj : fileNamesFromFolder) {
67                         arObject[index++] = new Object[] { filepath, obj };
68                 }
69                 return arObject;
70         }
71         
72         public static List<String> getRandomElements(int randomElementNumber, List<String> fileNamesFromFolder) {
73                 if(fileNamesFromFolder.size() == 0 || fileNamesFromFolder.size() < randomElementNumber){
74                         return null;
75                 }else{
76                         List<Integer> indexList = new ArrayList<>();
77                         List<String> newRandomFileNamesFromFolder = new ArrayList<>(); 
78                         for(int i = 0; i < fileNamesFromFolder.size(); i++){
79                                 indexList.add(i);
80                         }
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]));
85                         }
86                         return newRandomFileNamesFromFolder;
87                 }
88         }
89
90
91 //      private static String[][] arrangeFilesVersionPairs(List<String> filesArr) {
92 //              String[][] filesArrangeByPairs = null;
93 //
94 //              List<String> versionOneFiles= null;
95 //              List<String> versionTowFiles= null;
96 //
97 //              for ( String fileName : filesArr )
98 //              {
99 //                      if(fileName.startsWith("1-"))
100 //                      {
101 //                              versionOneFiles.add(fileName);
102 //                      }
103 //                      else if(fileName.startsWith("2-"))
104 //                      {
105 //                              versionTowFiles.add(fileName);
106 //                      }
107 //              }
108 //
109 //              Collections.sort(versionOneFiles);
110 //              Collections.sort(versionTowFiles);
111 //
112 //              for (int i=0 ; i<versionOneFiles.size() ; i++ )
113 //              {
114 //                      for (int j=0 ; j<versionTowFiles.size() ; j++ )
115 //                      {
116 //
117 //                      }
118 //              }
119 //
120 //              return filesArrangeByPairs;
121 //      }
122
123 }