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