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