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