c9c03cc92e4a5f61786a0147e45bef73c1fb94be
[vnfsdk/refrepo.git] /
1 /**
2  * Copyright 2017 Huawei Technologies Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package org.onap.vnfsdk.marketplace.resource;
18
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertNotNull;
21 import static org.junit.Assert.assertNull;
22
23 import java.io.BufferedInputStream;
24 import java.io.File;
25 import java.io.FileInputStream;
26 import java.io.FileNotFoundException;
27 import java.io.FileOutputStream;
28 import java.io.FileWriter;
29 import java.io.InputStream;
30 import java.text.DecimalFormat;
31 import java.util.ArrayList;
32 import java.util.List;
33 import java.util.Map;
34 import java.util.zip.ZipEntry;
35 import java.util.zip.ZipOutputStream;
36
37 import javax.ws.rs.core.Response;
38
39 import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
40 import org.junit.Before;
41 import org.junit.Test;
42 import org.onap.vnfsdk.marketplace.common.FileUtil;
43 import org.onap.vnfsdk.marketplace.common.ToolUtil;
44 import org.onap.vnfsdk.marketplace.db.entity.PackageData;
45 import org.onap.vnfsdk.marketplace.db.impl.MarketplaceDaoImpl;
46 import org.onap.vnfsdk.marketplace.db.inf.IMarketplaceDao;
47 import org.onap.vnfsdk.marketplace.db.resource.PackageManager;
48 import org.onap.vnfsdk.marketplace.db.util.MarketplaceDbUtil;
49 import org.onap.vnfsdk.marketplace.db.wrapper.PackageHandler;
50 import org.onap.vnfsdk.marketplace.entity.CsarPackage;
51 import org.onap.vnfsdk.marketplace.entity.EnumOperationalState;
52 import org.onap.vnfsdk.marketplace.entity.EnumType;
53 import org.onap.vnfsdk.marketplace.entity.EnumUsageState;
54 import org.onap.vnfsdk.marketplace.entity.VnfPackage;
55 import org.onap.vnfsdk.marketplace.entity.request.PackageBasicInfo;
56 import org.onap.vnfsdk.marketplace.entity.response.CsarFileUriResponse;
57 import org.onap.vnfsdk.marketplace.entity.response.PackageMeta;
58 import org.onap.vnfsdk.marketplace.entity.response.PackageResponse;
59 import org.onap.vnfsdk.marketplace.filemanage.http.HttpFileManagerImpl;
60 import org.onap.vnfsdk.marketplace.msb.MsbDetailsHolder;
61 import org.onap.vnfsdk.marketplace.onboarding.entity.OnBoardingResult;
62 import org.onap.vnfsdk.marketplace.onboarding.entity.OnBoradingRequest;
63 import org.onap.vnfsdk.marketplace.onboarding.entity.ResultKey;
64 import org.onap.vnfsdk.marketplace.onboarding.hooks.functiontest.FunctionTestExceutor;
65 import org.onap.vnfsdk.marketplace.onboarding.hooks.functiontest.FunctionTestHook;
66 import org.onap.vnfsdk.marketplace.rest.RestResponse;
67 import org.onap.vnfsdk.marketplace.rest.RestfulClient;
68 import org.onap.vnfsdk.marketplace.wrapper.PackageWrapper;
69 import org.onap.vnfsdk.marketplace.wrapper.PackageWrapperUtil;
70
71 import mockit.Mock;
72 import mockit.MockUp;
73
74 public class PackageResourceTest {
75
76     private PackageResource packageResource = null;
77
78     private Response response = null;
79
80     private String csarID = "csarid";
81
82     private List<PackageData> packageDataList = null;
83
84     private PackageData packageData = null;
85
86     private FormDataContentDisposition fileDetail = null;
87
88     private InputStream inputStream = null;
89
90     private String operTypeId = "opertype";
91
92     private VnfPackage vnfPackageObj = null;
93
94     private CsarPackage csarPackageObj = null;
95
96     private PackageBasicInfo pkgBasicInfoObj = null;
97
98     private PackageMeta pkgMetaObj = null;
99
100     private PackageResponse pkgResponseObj = null;
101
102     private CsarFileUriResponse csarFileUriResObj = null;
103
104     @Before
105     public void setUp() {
106         packageResource = new PackageResource();
107         vnfPackageObj = new VnfPackage();
108         csarPackageObj = new CsarPackage();
109         pkgBasicInfoObj = new PackageBasicInfo();
110         pkgMetaObj = new PackageMeta();
111         pkgResponseObj = new PackageResponse();
112         csarFileUriResObj = new CsarFileUriResponse();
113     }
114
115     @Before
116     public void createTestFile() {
117         String filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
118         File file = new File(filePath);
119         try {
120             file.createNewFile();
121             FileWriter writer = new FileWriter(file);
122             writer.write("This is test file.");
123             writer.close();
124         } catch(Exception e) {
125             e.printStackTrace();
126         }
127
128         filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
129         file = new File(filePath);
130         if(!file.exists()) {
131             file.mkdirs();
132         }
133
134         StringBuilder sb = new StringBuilder();
135         sb.append("test data");
136
137         filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "temp.zip";
138         file = new File(filePath);
139         try {
140             ZipOutputStream out = new ZipOutputStream(new FileOutputStream(file));
141             ZipEntry e = new ZipEntry("temp.txt");
142             out.putNextEntry(e);
143             byte[] data = sb.toString().getBytes();
144             out.write(data, 0, data.length);
145             out.closeEntry();
146             out.close();
147         } catch(Exception e) {
148             e.printStackTrace();
149         }
150     }
151
152     @Test
153     public void testQueryPackageListByCond() throws Exception {
154         new MockUp<MarketplaceDaoImpl>() {
155
156             @Mock
157             public List<PackageData> getPackageDataSubset(Map<String, String> queryParam) {
158                 return new ArrayList<PackageData>();
159             }
160         };
161         try {
162             response = PackageWrapper.getInstance().queryPackageListByCond(null, null, null, null, null);
163         } catch(Exception e) {
164             e.printStackTrace();
165         }
166
167         assertNotNull(response);
168         assertEquals(200, response.getStatus());
169         // assertNull(res5);
170         // assertEquals(00,res5.getStatus());
171     }
172
173     @Test
174     public void testQueryPackageById() throws Exception {
175         new MockUp<MarketplaceDaoImpl>() {
176
177             @Mock
178             public List<PackageData> getPackageData(String csarId) {
179                 return null;
180             }
181
182         };
183         new MockUp<MarketplaceDaoImpl>() {
184
185             @Mock
186             public List<PackageData> getPackageData(String csarId) {
187                 packageDataList = new ArrayList<PackageData>();
188                 packageData = new PackageData();
189                 packageData.setCsarId(csarId);
190                 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
191                 packageData.setName("clearwater_ns.csar");
192                 packageData.setSize("59,854  bytes");
193                 packageData.setVersion("v1.0");
194                 packageData.setProvider("Huawei");
195                 packageDataList.add(packageData);
196                 return packageDataList;
197             }
198         };
199
200         try {
201             response = PackageWrapper.getInstance().queryPackageById(csarID);
202         } catch(Exception e) {
203             e.printStackTrace();
204         }
205         assertNotNull(response);
206         assertEquals(200, response.getStatus());
207     }
208
209     @Test
210     public void testDelPackageFaiure() {
211         new MockUp<MarketplaceDaoImpl>() {
212
213             @Mock
214             public List<PackageData> getAllPackageData() {
215                 return new ArrayList<PackageData>();
216             }
217         };
218
219         new MockUp<MarketplaceDaoImpl>() {
220
221             @Mock
222             public void deletePackageData(String csarId) {
223                 return;
224             }
225         };
226
227         new MockUp<MarketplaceDaoImpl>() {
228
229             @Mock
230             public List<PackageData> getPackageData(String csarId) {
231                 return new ArrayList<PackageData>();
232             }
233         };
234
235         try {
236             response = PackageWrapper.getInstance().delPackage("");
237         } catch(Exception e5) {
238             e5.printStackTrace();
239         }
240         assertEquals(500, response.getStatus());
241
242         try {
243             response = PackageWrapper.getInstance().delPackage(null);
244         } catch(Exception e5) {
245             e5.printStackTrace();
246         }
247         assertEquals(500, response.getStatus());
248     }
249
250     @Test
251     public void testDelPackageSuccess() {
252         new MockUp<MarketplaceDaoImpl>() {
253
254             @Mock
255             public List<PackageData> getAllPackageData() {
256                 packageDataList = new ArrayList<PackageData>();
257                 packageData = new PackageData();
258                 packageData.setCsarId(csarID);
259                 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
260                 packageData.setName("clearwater_ns.csar");
261                 packageData.setSize("59,854  bytes");
262                 packageData.setVersion("v1.0");
263                 packageData.setProvider("Huawei");
264                 packageDataList.add(packageData);
265                 return packageDataList;
266             }
267         };
268
269         new MockUp<PackageManager>() {
270
271             @Mock
272             public void deletePackage(String csarId) {
273                 return;
274             }
275         };
276
277         new MockUp<HttpFileManagerImpl>() {
278
279             @Mock
280             public boolean delete(String srcPath) {
281                 return true;
282             }
283         };
284
285         new MockUp<MarketplaceDaoImpl>() {
286
287             @Mock
288             public List<PackageData> getPackageData(String csarId) {
289                 packageDataList = new ArrayList<PackageData>();
290                 packageData = new PackageData();
291                 packageData.setCsarId(csarID);
292                 packageData.setDownloadUri("src\\test\\resources\\");
293                 packageData.setName("clearwater_ns.csar");
294                 packageData.setSize("59,854  bytes");
295                 packageData.setVersion("v1.0");
296                 packageData.setProvider("Huawei");
297                 packageDataList.add(packageData);
298                 return packageDataList;
299             }
300         };
301
302         try {
303             response = PackageWrapper.getInstance().delPackage("csarid");
304         } catch(Exception e) {
305             e.printStackTrace();
306         }
307
308         assertNotNull(response);
309         assertEquals(200, response.getStatus());
310     }
311
312     @Test
313     public void testGetCsarFileUri() {
314         new MockUp<MarketplaceDaoImpl>() {
315
316             @Mock
317             public List<PackageData> getPackageData(String csarId) {
318                 packageDataList = new ArrayList<PackageData>();
319                 packageData = new PackageData();
320                 packageData.setCsarId(csarId);
321                 packageData.setDownloadUri("src\\test\\resources\\");
322                 packageData.setName("clearwater_ns.csar");
323                 packageData.setSize("59,854  bytes");
324                 packageData.setVersion("v1.0");
325                 packageData.setProvider("Huawei");
326                 packageDataList.add(packageData);
327                 return packageDataList;
328             }
329         };
330
331         new MockUp<PackageWrapper>() {
332
333             @Mock
334             Response downloadCsarPackagesById(String csarId) throws FileNotFoundException {
335                 String fileName =
336                         "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
337                 InputStream fis = new BufferedInputStream(new FileInputStream(fileName));
338                 return Response.ok(fis).header("Content-Disposition", "attachment; filename=\"" + fileName + "\"")
339                         .build();
340             }
341         };
342         response = PackageWrapper.getInstance().getCsarFileUri("csarId");
343         assertEquals(200, response.getStatus());
344
345     }
346
347     @Test
348     public void testupdateDwonloadCountSuccess() throws Exception {
349         final List<PackageData> pkgList = new ArrayList<PackageData>();
350         PackageData pkgDataObj = new PackageData();
351         pkgDataObj.setDownloadCount(1);
352         pkgList.add(pkgDataObj);
353         new MockUp<MarketplaceDaoImpl>() {
354
355             @Mock
356             public List<PackageData> getPackageData(String csarId) {
357                 return pkgList;
358                 // return new ArrayList<PackageData>();
359             }
360         };
361         new MockUp<MarketplaceDaoImpl>() {
362
363             @Mock
364             public void updatePackageData(PackageData oPackageData) {
365                 return;
366
367             }
368         };
369         try {
370             response = PackageWrapper.getInstance().updateDwonloadCount(csarID);
371         } catch(Exception e5) {
372             e5.printStackTrace();
373         }
374         assertNotNull(response);
375         assertEquals(200, response.getStatus());
376     }
377
378     @Test
379     public void testReUploadPackage() {
380         new MockUp<MarketplaceDaoImpl>() {
381
382             @Mock
383             public List<PackageData> getPackageData(String csarId) {
384                 List<PackageData> packageDataList = new ArrayList<PackageData>();
385                 PackageData packageData = new PackageData();
386                 packageData = new PackageData();
387                 packageData.setCsarId(csarId);
388                 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
389                 packageData.setName("clearwater_ns.csar");
390                 packageData.setSize("59,854  bytes");
391                 packageData.setVersion("v1.0");
392                 packageData.setProvider("Huawei");
393                 packageDataList.add(packageData);
394                 return packageDataList;
395             }
396         };
397
398         new MockUp<HttpFileManagerImpl>() {
399
400             @Mock
401             public boolean delete(String srcPath) {
402                 return true;
403             }
404         };
405
406         new MockUp<MarketplaceDaoImpl>() {
407
408             @Mock
409             public void deletePackageData(String csarId) {
410                 return;
411             }
412         };
413
414         new MockUp<ToolUtil>() {
415
416             @Mock
417             public String getTempDir(String dirName, String fileName) {
418                 String fileN =
419                         "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
420                 return fileN;
421             }
422         };
423
424         new MockUp<HttpFileManagerImpl>() {
425
426             @Mock
427             public boolean upload(String srcPath, String dstPath) {
428                 return true;
429             }
430         };
431
432         new MockUp<PackageWrapperUtil>() {
433
434             @Mock
435             public PackageData getPackageData(PackageMeta meta) {
436                 PackageData packageData = new PackageData();
437                 packageData.setCreateTime("25-3-2017 15:26:00");
438                 packageData.setDeletionPending("deletion");
439                 packageData.setDownloadUri("downloaduri");
440                 packageData.setFormat("format");
441                 packageData.setModifyTime("time");
442                 packageData.setName("name");
443                 packageData.setCsarId("csarid");
444                 packageData.setProvider("huawei");
445                 String fileSize = "10 mb";
446                 packageData.setSize(fileSize);
447                 packageData.setType("type");
448                 packageData.setVersion("v2.0");
449                 packageData.setDetails("details");
450                 packageData.setShortDesc("description");
451                 packageData.setRemarks("remarks");
452                 return packageData;
453             }
454         };
455
456         new MockUp<PackageHandler>() {
457
458             @Mock
459             public PackageData create(PackageData packageData) {
460                 PackageData packageDataObj = new PackageData();
461                 packageDataObj.setCreateTime("25-3-2017 15:26:00");
462                 packageDataObj.setDeletionPending("deletion");
463                 packageDataObj.setDownloadUri("downloaduri");
464                 packageDataObj.setFormat("format");
465                 packageDataObj.setModifyTime("modifytime");
466                 packageDataObj.setName("name");
467                 packageDataObj.setCsarId("csarid");
468                 packageDataObj.setProvider("huawei");
469                 String fileSize = "10 mb";
470                 packageDataObj.setSize(fileSize);
471                 packageDataObj.setType("type");
472                 packageDataObj.setVersion("v2.0");
473                 packageDataObj.setDetails("details");
474                 packageDataObj.setShortDesc("description");
475                 packageDataObj.setRemarks("remarks");
476                 return packageDataObj;
477             }
478         };
479
480         try {
481             response = PackageWrapper.getInstance().reUploadPackage(null, null, null, null, null);
482         } catch(Exception e) {
483             e.printStackTrace();
484         }
485         assertEquals(417, response.getStatus());
486
487         try {
488             fileDetail = FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
489             String fileName = "src" + File.separator + "test" + File.separator + "resources" + File.separator
490                     + "clearwater_ns.csar";
491             inputStream = new FileInputStream(fileName);
492             response = PackageWrapper.getInstance().reUploadPackage("csarID", inputStream, fileDetail, null, null);
493             // assertEquals( 200, response.getStatus() );
494         } catch(Exception e) {
495             e.printStackTrace();
496         }
497     }
498
499     @Test
500     public void testgetOperResultByOperTypeIdFailure() throws Exception {
501         final ResultKey resultKeyObj = new ResultKey();
502
503         new MockUp<FunctionTestHook>() {
504
505             @Mock
506             ResultKey getFuncTestResultKey(PackageData packageData) {
507                 resultKeyObj.setKey("key");
508                 return resultKeyObj;
509             }
510         };
511         new MockUp<FunctionTestExceutor>() {
512
513             @Mock
514             String getTestResultsByFuncTestKey(String key) {
515                 return null;
516             }
517         };
518
519         new MockUp<MarketplaceDaoImpl>() {
520
521             @Mock
522             public List<PackageData> getPackageData(String csarId) {
523                 List<PackageData> packageDataList = new ArrayList<PackageData>();
524                 PackageData packageData = new PackageData();
525                 packageData = new PackageData();
526                 packageData.setCsarId(csarId);
527                 packageData.setDownloadUri("src\\test\\resources\\learwater_ns.csar");
528                 packageData.setName("clearwater_ns.csar");
529                 packageData.setSize("59,854  bytes");
530                 packageData.setVersion("v1.0");
531                 packageData.setProvider("Airtel");
532                 packageDataList.add(packageData);
533                 return packageDataList;
534             }
535         };
536
537         try {
538             response = PackageWrapper.getInstance().getOperResultByOperTypeId(csarID, operTypeId);
539         } catch(Exception e5) {
540             e5.printStackTrace();
541         }
542         assertEquals(500, response.getStatus());
543
544         try {
545             response = PackageWrapper.getInstance().getOperResultByOperTypeId("", "");
546         } catch(Exception e) {
547             e.printStackTrace();
548         }
549         assertEquals(400, response.getStatus());
550     }
551
552     @Test
553     public void testgetOperResultByOperTypeIdSuccess() {
554         new MockUp<MarketplaceDaoImpl>() {
555
556             @Mock
557             public List<PackageData> getPackageData(String csarId) {
558                 List<PackageData> packageDataList = new ArrayList<PackageData>();
559                 PackageData packageData = new PackageData();
560                 packageData = new PackageData();
561                 packageData.setCsarId(csarId);
562                 packageData.setDownloadUri("src\\test\\resources\\learwater_ns.csar");
563                 packageData.setName("clearwater_ns.csar");
564                 packageData.setSize("59,854  bytes");
565                 packageData.setVersion("v1.0");
566                 packageData.setProvider("Airtel");
567                 packageDataList.add(packageData);
568                 return packageDataList;
569             }
570         };
571
572         new MockUp<ToolUtil>() {
573
574             @Mock
575             public String getTempDir(String dirName, String fileName) {
576                 String filena =
577                         "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
578                 return filena;
579             }
580         };
581         new MockUp<PackageWrapper>() {
582
583             @Mock
584             Response downloadCsarPackagesById(String csarId) throws FileNotFoundException {
585                 String fileName =
586                         "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
587                 InputStream fis = new BufferedInputStream(new FileInputStream(fileName));
588                 return Response.ok(fis).header("Content-Disposition", "attachment; filename=\"" + fileName + "\"")
589                         .build();
590             }
591         };
592
593         new MockUp<FunctionTestHook>() {
594
595             @Mock
596             ResultKey getFuncTestResultKey(PackageData packageData) {
597                 ResultKey resultKey = new ResultKey();
598                 resultKey.setKey("key");
599                 return resultKey;
600             }
601         };
602         new MockUp<FunctionTestExceutor>() {
603
604             @Mock
605             String getTestResultsByFuncTestKey(String key) {
606                 return "key";
607             }
608         };
609
610         try {
611             response = PackageWrapper.getInstance().getOperResultByOperTypeId(csarID, operTypeId);
612         } catch(Exception e) {
613             e.printStackTrace();
614         }
615     }
616
617     // @Ignore
618     @Test
619     public void testUploadPackage() throws Exception {
620         InputStream ins = null;
621         Response result = null;
622         /*
623          * Response result1 = null; Response result2 = null; PackageData
624          * packageData = new PackageData(); packageData = getPackageData();
625          */
626
627         new MockUp<MarketplaceDaoImpl>() {
628
629             @Mock
630             public List<PackageData> getPackageData(String csarId) {
631                 List<PackageData> packageDataList = new ArrayList<PackageData>();
632                 PackageData packageData = new PackageData();
633                 packageData = new PackageData();
634                 packageData.setCsarId(csarId);
635                 packageData.setDownloadUri("src\\test\\resources\\");
636                 packageData.setName("clearwater_ns.csar");
637                 packageData.setSize("59,854  bytes");
638                 packageData.setVersion("v1.0");
639                 packageData.setProvider("Airtel");
640                 packageDataList.add(packageData);
641                 return packageDataList;
642             }
643             
644             @Mock
645             public List<PackageData> getPackageDataSubset(Map<String, String> paramsMap) {
646                 List<PackageData> packageDataList = new ArrayList<PackageData>();
647                
648                 return packageDataList;
649             }
650         };
651
652         new MockUp<HttpFileManagerImpl>() {
653
654             @Mock
655             public boolean delete(String srcPath) {
656                 return true;
657             }
658         };
659
660         new MockUp<MarketplaceDaoImpl>() {
661
662             @Mock
663             public void deletePackageData(String csarId) {
664                 return;
665             }
666         };
667
668         new MockUp<ToolUtil>() {
669
670             @Mock
671             public String getTempDir(String dirName, String fileName) {
672                 String filena =
673                         "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
674                 return filena;
675             }
676         };
677
678         new MockUp<HttpFileManagerImpl>() {
679
680             @Mock
681             public boolean upload(String srcPath, String dstPath) {
682                 return false;
683             }
684         };
685
686         new MockUp<PackageWrapperUtil>() {
687
688             @Mock
689             public PackageData getPackageData(PackageMeta meta) {
690                 PackageData packageData = new PackageData();
691                 packageData.setCreateTime("25-3-2017 15:26:00");
692                 packageData.setDeletionPending("deletion");
693                 packageData.setDownloadUri("downloaduri");
694                 packageData.setFormat("format");
695                 packageData.setModifyTime("time");
696                 packageData.setName("name");
697                 packageData.setCsarId("csarid");
698                 packageData.setProvider("huawei");
699                 String fileSize = "10 mb";
700                 packageData.setSize(fileSize);
701                 packageData.setType("type");
702                 packageData.setVersion("v2.0");
703                 packageData.setDetails("details");
704                 packageData.setShortDesc("description");
705                 packageData.setRemarks("remarks");
706                 return packageData;
707             }
708         };
709
710         new MockUp<PackageHandler>() {
711
712             @Mock
713             public PackageData create(PackageData packageData) {
714                 PackageData packageDataObj = new PackageData();
715                 packageDataObj.setCreateTime("25-3-2017 15:26:00");
716                 packageDataObj.setDeletionPending("deletion");
717                 packageDataObj.setDownloadUri("downloaduri");
718                 packageDataObj.setFormat("format");
719                 packageDataObj.setModifyTime("modifytime");
720                 packageDataObj.setName("name");
721                 packageDataObj.setCsarId("csarid");
722                 packageDataObj.setProvider("huawei");
723                 String fileSize = "10 mb";
724                 packageDataObj.setSize(fileSize);
725                 packageDataObj.setType("type");
726                 packageDataObj.setVersion("v2.0");
727                 packageDataObj.setDetails("details");
728                 packageDataObj.setShortDesc("description");
729                 packageDataObj.setRemarks("remarks");
730                 return packageDataObj;
731             }
732         };
733
734         FormDataContentDisposition fileDetail =
735                 FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
736
737         String filenama =
738                 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "clearwater_ns.csar";
739         File packageFile = new File(filenama);
740
741         try {
742             ins = new FileInputStream(packageFile);
743         } catch(FileNotFoundException e2) {
744             e2.printStackTrace();
745         }
746         if(ins != null) {
747             try {
748                 result = PackageWrapper.getInstance().uploadPackage(ins, fileDetail, null, null);
749                 // PackageWrapper.getInstance().updateValidateStatus(ins);
750             } catch(Exception e3) {
751                 e3.printStackTrace();
752             }
753         }
754
755         assertNotNull(result);
756         assertEquals(200, result.getStatus());
757
758         try {
759             result = PackageWrapper.getInstance().uploadPackage(null, null, null, null);
760         } catch(Exception e4) {
761             e4.printStackTrace();
762         }
763
764         assertEquals(417, result.getStatus());
765     }
766
767     @Test
768     public void testGetOnBoardingStepsSuccess() {
769         new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
770
771             @Mock
772             String getAppDeployPath() {
773                 String path = "src" + File.separator + "main" + File.separator + "resources";
774                 return path;
775             }
776         };
777
778         try {
779             response = PackageWrapper.getInstance().getOnBoardingSteps();
780         } catch(Exception e) {
781             e.printStackTrace();
782         }
783
784         assertNotNull(response);
785     }
786
787     @Test
788     public void testGetOnBoardingStepsFailure() {
789         new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
790
791             @Mock
792             String getAppDeployPath() {
793                 String path = "src" + File.separator + "main" + File.separator + "resources" + File.separator
794                         + "generalconfig";
795                 return path;
796             }
797         };
798
799         try {
800             response = PackageWrapper.getInstance().getOnBoardingSteps();
801         } catch(Exception e) {
802             e.printStackTrace();
803         }
804         assertEquals(500, response.getStatus());
805     }
806
807     @Test
808     public void testRestGetClient() {
809         FunctionTestExceutor.getTestResultsByFuncTestKey("GET");
810
811     }
812
813     @Test
814     public void testRestPostClient() {
815
816         OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
817         onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
818         onBoradFuncTestReq.setPackageName("clearwater_ns.csar");
819         String result = FunctionTestExceutor.execFunctionTest(onBoradFuncTestReq);
820         assertNull(result);
821         // assertEquals(200,result);
822
823     }
824
825     @Test
826     public void testRestDeleteClient() {
827         RestResponse rsp = RestfulClient.delete("127.0.0.1", 8987, "TestURL");
828         assertNotNull(rsp);
829         if(rsp.getStatusCode() != null)
830             assertEquals(200, rsp.getStatusCode().intValue());
831
832     }
833
834     @Test
835     public void testExec() {
836
837         new MockUp<FunctionTestHook>() {
838
839             @Mock
840             String getResultStorePath() {
841                 return "src/test/resources";
842
843             }
844         };
845         FunctionTestHook testHookObj = new FunctionTestHook();
846         OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
847         onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
848         int res = testHookObj.exec(onBoradFuncTestReq);
849
850         assertEquals(res, -1);
851     }
852
853     @Test
854
855     public void testwriteJsonDatatoFile() {
856
857         String filePath = "src//test//resources//functionTest.json";
858         OnBoardingResult onBoardResultObj = new OnBoardingResult();
859         onBoardResultObj.setCsarId("csrId");
860         onBoardResultObj.setOperStatus(1);
861         boolean res = FileUtil.writeJsonDatatoFile(filePath, onBoardResultObj);
862         assertEquals(res, true);
863
864     }
865
866     @Test
867
868     public void testCreateDirectory() {
869         String dirPath = "src//test//resources//TestDirectory";
870         boolean res = FileUtil.createDirectory(dirPath);
871         assertEquals(res, true);
872     }
873
874     @Test
875
876     public void testDeleteDirectory() {
877         String dirPath = "src//test//resources//TestDirectory";
878         boolean res = FileUtil.deleteFile(dirPath);
879         assertEquals(res, true);
880     }
881
882     @Test
883
884     public void testGenerateId() {
885         String id = MarketplaceDbUtil.generateId();
886         assertNotNull(id);
887     }
888
889     @Test
890     public void testisNotEmpty() {
891         boolean res = MarketplaceDbUtil.isNotEmpty(null);
892         assertEquals(res, false);
893         res = MarketplaceDbUtil.isNotEmpty("test");
894         assertEquals(res, true);
895     }
896
897     @Test
898     public void testobjectToString() {
899         Object obj = "testexa";
900         String res = MarketplaceDbUtil.objectToString(obj);
901         assertNotNull(res);
902         res = MarketplaceDbUtil.objectToString(null);
903         assertNull(res);
904     }
905
906     @Test
907     public void testisEmptyString() {
908         boolean res = ToolUtil.isEmptyString(null);
909         assertEquals(res, true);
910         res = ToolUtil.isEmptyString("huawei");
911         assertEquals(res, false);
912     }
913
914     @Test
915     public void testisTrimedEmptyString() {
916         boolean res = ToolUtil.isTrimedEmptyString(null);
917         assertEquals(res, true);
918         res = ToolUtil.isTrimedEmptyString("    ");
919         assertEquals(res, true);
920     }
921
922     @Test
923     public void testisEmptyCollection() {
924
925         boolean res = ToolUtil.isEmptyCollection(new ArrayList());
926         assertEquals(res, true);
927     }
928
929     @Test
930     public void testisYamlFile() {
931         File fileObj = new File("test.txt");
932         boolean res = ToolUtil.isYamlFile(fileObj);
933         assertEquals(res, false);
934     }
935
936     @Test
937     public void testgenerateID() {
938         String id = ToolUtil.generateId();
939         assertNotNull(id);
940     }
941
942     @Test
943     public void testgetFormatFileSize() {
944         String res = ToolUtil.getFormatFileSize(10000000);
945         assertNotNull(res);
946         res = ToolUtil.getFormatFileSize(10000);
947         assertNotNull(res);
948         res = ToolUtil.getFormatFileSize(100);
949         assertNotNull(res);
950     }
951
952     @Test
953     public void testObjectToString() {
954         Object obj = "testexa";
955         String res = ToolUtil.objectToString(obj);
956         assertNotNull(res);
957         res = ToolUtil.objectToString(null);
958         assertNotNull(res);
959     }
960
961     @Test
962     public void testprocessFileName() {
963         String res = ToolUtil.processFileName("abc.txt");
964         assertNotNull(res);
965         res = ToolUtil.processFileName("abc.zip");
966         assertNotNull(res);
967     }
968
969     @Test
970     public void testremoveCsarSuffix() {
971         String res = ToolUtil.removeCsarSuffix("abc.csar");
972         assertEquals(res, "abc");
973     }
974
975     @Test
976     public void testformatCsar() {
977         String res = ToolUtil.formatCsar("abc");
978         assertEquals(res, "abc.csar");
979     }
980
981     @Test
982     public void testformatFileSize() {
983         String res = ToolUtil.formatFileSize(10000.0, 10);
984         String expected = new DecimalFormat("#0.00").format(1000) + "M";// may
985                                                                         // be
986                                                                         // "1000.00"
987                                                                         // or
988                                                                         // "1000,00"
989                                                                         // depending
990                                                                         // on
991                                                                         // Locale
992         assertEquals(res, expected);
993     }
994
995     @Test
996     public void testgetFileSize() {
997         File fileObj = new File("example.txt");
998         String res = ToolUtil.getFileSize(fileObj, 10);
999         assertNotNull(res);
1000     }
1001
1002     @Test
1003     public void testgetCatalogueCsarPath() {
1004         String res = ToolUtil.getCatalogueCsarPath();
1005         assertEquals(res, File.separator + "csar");
1006     }
1007
1008     @Test
1009     public void testgetCatalogueImagePath() {
1010         String res = ToolUtil.getCatalogueImagePath();
1011         assertEquals(res, File.separator + "image");
1012     }
1013
1014     @Test
1015     public void testdeleteFile() {
1016         boolean res = ToolUtil.deleteFile("src//test//resources", "test1.txt");
1017         assertEquals(res, true);
1018     }
1019
1020     @Test
1021     public void teststoreChunkFileInLocal() {
1022         try {
1023             inputStream = new FileInputStream("src//test//resources//Test.txt");
1024             String res = ToolUtil.storeChunkFileInLocal("src//test//resources", "TestOut.txt", inputStream);
1025             File file = new File(res);
1026             String fileName = file.getName();
1027             assertEquals(fileName, "TestOut.txt");
1028
1029         } catch(Exception ex) {
1030             ex.printStackTrace();
1031         }
1032     }
1033
1034     @Test
1035     public void testToolUtildeleteFile() {
1036         boolean res = ToolUtil.deleteFile("src/test/resources", "TestOut.txt");
1037         assertEquals(res, true);
1038     }
1039
1040
1041     @Test
1042     public void testUnzip() {
1043
1044         List<String> listObj = new ArrayList<String>();
1045         try {
1046             listObj = FileUtil.unzip("src/test/resources/temp.zip", "src/test/resources/testfolder");
1047         } catch(Exception ex) {
1048             ex.printStackTrace();
1049         }
1050         assertNotNull(listObj);
1051     }
1052
1053     @Test
1054     public void testreadJsonDatafFromFile() {
1055
1056         Object obj =
1057                 FileUtil.readJsonDatafFromFile("src/main/resources/generalconfig/OnBoardingSteps.json", Object.class);
1058         assertNotNull(obj);
1059     }
1060
1061     @Test
1062     public void testGetPkgSize() {
1063         long pkgSize = PackageWrapperUtil.getPacakgeSize("src/test/resources/Test.txt");
1064         assertNotNull(pkgSize);
1065     }
1066
1067     @Test
1068     public void testPkgFormat() {
1069         assertNotNull(PackageWrapperUtil.getPackageFormat("xml"));
1070         assertNotNull(PackageWrapperUtil.getPackageFormat("yml"));
1071         assertNull(PackageWrapperUtil.getPackageFormat("pdf"));        
1072
1073         MsbDetailsHolder.getMsbDetails();
1074         try {
1075             IMarketplaceDao dao = new MarketplaceDaoImpl();
1076             
1077             packageDataList = new ArrayList<PackageData>();
1078             packageData = new PackageData();
1079             packageData.setCsarId("21");
1080             packageData.setDownloadUri("src\\test\\resources\\");
1081             packageData.setName("clearwater_ns.csar");
1082             packageData.setSize("59,854  bytes");
1083             packageData.setVersion("v1.0");
1084             packageData.setProvider("Huawei");
1085             packageDataList.add(packageData);
1086             
1087             dao.savePackageData(packageData);
1088             dao.getAllPackageData();
1089             dao.getPackageData("21");
1090             dao.updatePackageData(packageData);
1091             dao.deletePackageData("21");           
1092             
1093         } catch(Exception e) {
1094         }
1095
1096     }
1097
1098     @Test
1099     public void testVnfPackageSetter() {
1100
1101         vnfPackageObj.setVnfPackageId("vnfpackageId");
1102         vnfPackageObj.setVnfPackageUrl("vnfPackageUrl");
1103         vnfPackageObj.setVnfd("vnfd");
1104         vnfPackageObj.setVersion("1");
1105         vnfPackageObj.setUsageState(EnumUsageState.NotInUse);
1106         vnfPackageObj.setProvider("huawei");
1107         vnfPackageObj.setOperationalState(EnumOperationalState.Enabled);
1108         vnfPackageObj.setName("vnf");
1109         vnfPackageObj.setDeletionPending("pending");
1110
1111         String res = vnfPackageObj.getVnfPackageId();
1112         assertEquals(res, "vnfpackageId");
1113         res = vnfPackageObj.getVnfPackageUrl();
1114         assertEquals(res, "vnfPackageUrl");
1115         res = vnfPackageObj.getVnfd();
1116         assertEquals(res, "vnfd");
1117         res = vnfPackageObj.getVersion();
1118         assertEquals(res, "1");
1119         EnumUsageState state = vnfPackageObj.getUsageState();
1120         assertEquals(state, EnumUsageState.NotInUse);
1121         res = vnfPackageObj.getProvider();
1122         assertEquals(res, "huawei");
1123         EnumOperationalState operState = vnfPackageObj.getOperationalState();
1124         assertEquals(operState, EnumOperationalState.Enabled);
1125         res = vnfPackageObj.getName();
1126         assertEquals(res, "vnf");
1127         res = vnfPackageObj.getDeletionPending();
1128         assertEquals(res, "pending");
1129     }
1130
1131     @Test
1132     public void testCsarPackageSetter() {
1133         csarPackageObj.setCreateTime("04052017");
1134         csarPackageObj.setDeletionPending("pending");
1135         csarPackageObj.setFormat("format");
1136         csarPackageObj.setId("12");
1137         csarPackageObj.setName("csartest");
1138         csarPackageObj.setSize("10");
1139         csarPackageObj.setStatus("done");
1140         csarPackageObj.setType("type");
1141         csarPackageObj.setUrl("//network");
1142
1143         String res = csarPackageObj.getCreateTime();
1144         assertEquals(res, "04052017");
1145         res = csarPackageObj.getDeletionPending();
1146         assertEquals(res, "pending");
1147         res = csarPackageObj.getFormat();
1148         assertEquals(res, "format");
1149         res = csarPackageObj.getId();
1150         assertEquals(res, "12");
1151         res = csarPackageObj.getName();
1152         assertEquals(res, "csartest");
1153         res = csarPackageObj.getSize();
1154         assertEquals(res, "10");
1155         res = csarPackageObj.getStatus();
1156         assertEquals(res, "done");
1157         res = csarPackageObj.getType();
1158         assertEquals(res, "type");
1159         res = csarPackageObj.getUrl();
1160         assertEquals(res, "//network");
1161
1162     }
1163
1164     @Test
1165     public void testPackageBasicInfoSetter() {
1166         pkgBasicInfoObj.setFormat("pdf");
1167         pkgBasicInfoObj.setProvider("huawei");
1168         pkgBasicInfoObj.setType(EnumType.GSAR);
1169         pkgBasicInfoObj.setVersion("1");
1170         String res = pkgBasicInfoObj.getFormat();
1171         assertEquals(res, "pdf");
1172         res = pkgBasicInfoObj.getProvider();
1173         assertEquals(res, "huawei");
1174         EnumType type = pkgBasicInfoObj.getType();
1175         assertEquals(type, EnumType.GSAR);
1176         res = pkgBasicInfoObj.getVersion();
1177         assertEquals(res, "1");
1178     }
1179
1180     @Test
1181     public void testPackageMetaSetter() {
1182         pkgMetaObj.setCreateTime("05042017");
1183         pkgMetaObj.setCsarId("csarid");
1184         pkgMetaObj.setDeletionPending(true);
1185         pkgMetaObj.setDetails("details");
1186         pkgMetaObj.setDownloadCount(10);
1187         pkgMetaObj.setDownloadUri("//network");
1188         pkgMetaObj.setFormat("pdf");
1189         pkgMetaObj.setModifyTime("05042017");
1190         pkgMetaObj.setName("huawei");
1191         pkgMetaObj.setProvider("huawei");
1192         pkgMetaObj.setRemarks("tested");
1193         pkgMetaObj.setReport("done");
1194         pkgMetaObj.setShortDesc("done");
1195         pkgMetaObj.setSize("1000");
1196         pkgMetaObj.setType("type");
1197         pkgMetaObj.setVersion("1");
1198
1199         String res = pkgMetaObj.getCreateTime();
1200         assertEquals(res, "05042017");
1201         res = pkgMetaObj.getCsarId();
1202         assertEquals(res, "csarid");
1203         res = pkgMetaObj.getDetails();
1204         assertEquals(res, "details");
1205         res = pkgMetaObj.getDownloadCount() + "";
1206         assertEquals(res, "10");
1207         res = pkgMetaObj.getDownloadUri();
1208         assertEquals(res, "//network");
1209         res = pkgMetaObj.getFormat();
1210         assertEquals(res, "pdf");
1211         res = pkgMetaObj.getModifyTime();
1212         assertEquals(res, "05042017");
1213         res = pkgMetaObj.getName();
1214         assertEquals(res, "huawei");
1215         res = pkgMetaObj.getProvider();
1216         assertEquals(res, "huawei");
1217         res = pkgMetaObj.getRemarks();
1218         assertEquals(res, "tested");
1219         res = pkgMetaObj.getReport();
1220         assertEquals(res, "done");
1221         res = pkgMetaObj.getShortDesc();
1222         assertEquals(res, "done");
1223         res = pkgMetaObj.getSize();
1224         assertEquals(res, "1000");
1225         res = pkgMetaObj.getType();
1226         assertEquals(res, "type");
1227         res = pkgMetaObj.getVersion();
1228         assertEquals(res, "1");
1229     }
1230
1231     @Test
1232     public void testPackageResponseSetter() {
1233         pkgResponseObj.setReportPath("localpath");
1234         String res = pkgResponseObj.getReportPath();
1235         assertEquals(res, "localpath");
1236
1237     }
1238
1239     @Test
1240     public void testCsarFileUriResSetter() {
1241         csarFileUriResObj.setDownloadUri("downloaduri");
1242         csarFileUriResObj.setLocalPath("localpath");
1243         String res = csarFileUriResObj.getDownloadUri();
1244         assertEquals(res, "downloaduri");
1245         res = csarFileUriResObj.getLocalPath();
1246         assertEquals(res, "localpath");
1247
1248     }
1249 }