Added oparent to sdc main
[sdc.git] / ui-ci / src / main / java / org / openecomp / sdc / ci / tests / dataProvider / OnbordingDataProviders.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdc.ci.tests.dataProvider;
22
23 import org.openecomp.sdc.ci.tests.datatypes.enums.XnfTypeEnum;
24 import org.openecomp.sdc.ci.tests.utilities.FileHandling;
25 import org.openecomp.sdc.ci.tests.utils.general.OnboardingUtils;
26 import org.testng.annotations.DataProvider;
27
28 import java.util.ArrayList;
29 import java.util.Collections;
30 import java.util.List;
31
32 public class OnbordingDataProviders {
33
34         protected static String filepath = FileHandling.getVnfRepositoryPath();
35
36 //      -----------------------dataProviders-----------------------------------------   
37         @DataProvider(name = "randomVNF_List", parallel = false)
38         private static final Object[][] randomVnfList() throws Exception {
39                 int randomElementNumber = 3; //how many VNFs to onboard randomly
40                 List<String> fileNamesFromFolder = OnboardingUtils.getVnfNamesFileListExcludeToscaParserFailure();
41                 List<String> newRandomFileNamesFromFolder = getRandomElements(randomElementNumber, fileNamesFromFolder);
42                 System.out.println(String.format("There are %s zip file(s) to test", newRandomFileNamesFromFolder.size()));
43                 return provideData(newRandomFileNamesFromFolder, filepath);
44         }
45         
46         @DataProvider(name = "VNF_List" , parallel = true)
47         private static final Object[][] VnfList() throws Exception {
48                 
49                 List<String> fileNamesFromFolder = OnboardingUtils.getXnfNamesFileList(XnfTypeEnum.VNF);
50
51                 System.out.println(String.format("There are %s zip file(s) to test", fileNamesFromFolder.size()));
52                 return provideData(fileNamesFromFolder, filepath);
53         }
54
55         @DataProvider(name = "updateList")
56         private static final Object[][] updateList() throws Exception {
57
58                 Object[][] objectArr = new Object[2][];
59
60                 Object[][] filteredArObject = null;
61
62                 objectArr[0] = new Object[]{ "1-2016-20-visbc3vf-(VOIP)_v2.1.zip", "2-2016-20-visbc3vf-(VOIP)_v2.1_RenameResourceToShay.zip" };
63                 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" };
64
65                 filteredArObject = OnboardingUtils.filterObjectArrWithExcludedVnfs(objectArr);
66
67                 return filteredArObject;
68
69
70         }
71
72         //      -----------------------factories-----------------------------------------
73 //      @Factory(dataProvider = "VNF_List")
74 //      public Object[] OnbordingDataProviders(String filepath, String vnfFile){
75 //              return new Object[] { new ToscaValidationTest(filepath, vnfFile)};
76 //      }
77         
78         
79         
80 //      -----------------------methods-----------------------------------------
81         public static Object[][] provideData(List<String> fileNamesFromFolder, String filepath) {
82                 
83                 Object[][] arObject = new Object[fileNamesFromFolder.size()][];
84                 int index = 0;
85                 for (Object obj : fileNamesFromFolder) {
86                         arObject[index++] = new Object[] { filepath, obj };
87                 }
88                 return arObject;
89         }
90         
91         public static List<String> getRandomElements(int randomElementNumber, List<String> fileNamesFromFolder) {
92                 if(fileNamesFromFolder.size() == 0 || fileNamesFromFolder.size() < randomElementNumber){
93                         return null;
94                 }else{
95                         List<Integer> indexList = new ArrayList<>();
96                         List<String> newRandomFileNamesFromFolder = new ArrayList<>(); 
97                         for(int i = 0; i < fileNamesFromFolder.size(); i++){
98                                 indexList.add(i);
99                         }
100                         Collections.shuffle(indexList);
101                         Integer[] randomArray = indexList.subList(0, randomElementNumber).toArray(new Integer[randomElementNumber]);
102                         for(int i = 0; i < randomArray.length; i++){
103                                 newRandomFileNamesFromFolder.add(fileNamesFromFolder.get(randomArray[i]));
104                         }
105                         return newRandomFileNamesFromFolder;
106                 }
107         }
108
109
110 //      private static String[][] arrangeFilesVersionPairs(List<String> filesArr) {
111 //              String[][] filesArrangeByPairs = null;
112 //
113 //              List<String> versionOneFiles= null;
114 //              List<String> versionTowFiles= null;
115 //
116 //              for ( String fileName : filesArr )
117 //              {
118 //                      if(fileName.startsWith("1-"))
119 //                      {
120 //                              versionOneFiles.add(fileName);
121 //                      }
122 //                      else if(fileName.startsWith("2-"))
123 //                      {
124 //                              versionTowFiles.add(fileName);
125 //                      }
126 //              }
127 //
128 //              Collections.sort(versionOneFiles);
129 //              Collections.sort(versionTowFiles);
130 //
131 //              for (int i=0 ; i<versionOneFiles.size() ; i++ )
132 //              {
133 //                      for (int j=0 ; j<versionTowFiles.size() ; j++ )
134 //                      {
135 //
136 //                      }
137 //              }
138 //
139 //              return filesArrangeByPairs;
140 //      }
141
142 }