2 * Copyright 2017 Huawei Technologies Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 package org.onap.vnfsdk.marketplace.resource;
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertNotNull;
21 import static org.junit.Assert.assertNull;
22 import java.io.BufferedInputStream;
23 import java.io.ByteArrayInputStream;
25 import java.io.FileInputStream;
26 import java.io.FileNotFoundException;
27 import java.io.FileOutputStream;
28 import java.io.FileWriter;
29 import java.io.IOException;
30 import java.io.InputStream;
31 import java.text.DecimalFormat;
32 import java.util.ArrayList;
33 import java.util.HashMap;
34 import java.util.List;
36 import java.util.zip.ZipEntry;
37 import java.util.zip.ZipOutputStream;
39 import javax.servlet.ReadListener;
40 import javax.servlet.ServletInputStream;
41 import javax.servlet.http.HttpServletRequest;
42 import javax.ws.rs.core.Response;
44 import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
45 import org.junit.Before;
46 import org.junit.Test;
47 import org.onap.vnfsdk.marketplace.common.FileUtil;
48 import org.onap.vnfsdk.marketplace.common.ToolUtil;
49 import org.onap.vnfsdk.marketplace.db.entity.PackageData;
50 import org.onap.vnfsdk.marketplace.db.impl.MarketplaceDaoImpl;
51 import org.onap.vnfsdk.marketplace.db.inf.IMarketplaceDao;
52 import org.onap.vnfsdk.marketplace.db.resource.PackageManager;
53 import org.onap.vnfsdk.marketplace.db.util.MarketplaceDbUtil;
54 import org.onap.vnfsdk.marketplace.db.wrapper.PackageHandler;
55 import org.onap.vnfsdk.marketplace.entity.CsarPackage;
56 import org.onap.vnfsdk.marketplace.entity.EnumOperationalState;
57 import org.onap.vnfsdk.marketplace.entity.EnumType;
58 import org.onap.vnfsdk.marketplace.entity.EnumUsageState;
59 import org.onap.vnfsdk.marketplace.entity.VnfPackage;
60 import org.onap.vnfsdk.marketplace.entity.request.PackageBasicInfo;
61 import org.onap.vnfsdk.marketplace.entity.response.CsarFileUriResponse;
62 import org.onap.vnfsdk.marketplace.entity.response.PackageMeta;
63 import org.onap.vnfsdk.marketplace.entity.response.PackageResponse;
64 import org.onap.vnfsdk.marketplace.filemanage.http.HttpFileManagerImpl;
65 import org.onap.vnfsdk.marketplace.msb.MsbDetailsHolder;
66 import org.onap.vnfsdk.marketplace.msb.MsbServer;
67 import org.onap.vnfsdk.marketplace.onboarding.entity.OnBoardingResult;
68 import org.onap.vnfsdk.marketplace.onboarding.entity.OnBoradingRequest;
69 import org.onap.vnfsdk.marketplace.onboarding.entity.ResultKey;
70 import org.onap.vnfsdk.marketplace.onboarding.hooks.functiontest.FunctionTestExceutor;
71 import org.onap.vnfsdk.marketplace.onboarding.hooks.functiontest.FunctionTestHook;
72 import org.onap.vnfsdk.marketplace.rest.RestResponse;
73 import org.onap.vnfsdk.marketplace.rest.RestfulClient;
74 import org.onap.vnfsdk.marketplace.wrapper.PackageWrapper;
75 import org.onap.vnfsdk.marketplace.wrapper.PackageWrapperUtil;
76 import org.open.infc.grpc.Result;
77 import org.open.infc.grpc.client.OpenRemoteCli;
81 import static org.junit.Assert.assertFalse;
82 import static org.junit.Assert.assertTrue;
84 public class PackageResourceTest {
86 private PackageResource packageResource = null;
88 private Response response = null;
90 private String csarID = "csarid";
92 private List<PackageData> packageDataList = null;
94 private PackageData packageData = null;
96 private FormDataContentDisposition fileDetail = null;
98 private InputStream inputStream = null;
100 private String operTypeId = "opertype";
102 private VnfPackage vnfPackageObj = null;
104 private CsarPackage csarPackageObj = null;
106 private PackageBasicInfo pkgBasicInfoObj = null;
108 private PackageMeta pkgMetaObj = null;
110 private PackageResponse pkgResponseObj = null;
112 private CsarFileUriResponse csarFileUriResObj = null;
115 public void setUp() {
116 packageResource = new PackageResource();
117 vnfPackageObj = new VnfPackage();
118 csarPackageObj = new CsarPackage();
119 pkgBasicInfoObj = new PackageBasicInfo();
120 pkgMetaObj = new PackageMeta();
121 pkgResponseObj = new PackageResponse();
122 csarFileUriResObj = new CsarFileUriResponse();
126 public void createTestFile() {
127 String filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
128 File file = new File(filePath);
130 file.createNewFile();
131 FileWriter writer = new FileWriter(file);
132 writer.write("This is test file.");
134 } catch(Exception e) {
138 filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
139 file = new File(filePath);
144 StringBuilder sb = new StringBuilder();
145 sb.append("test data");
147 filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "temp.zip";
148 file = new File(filePath);
150 ZipOutputStream out = new ZipOutputStream(new FileOutputStream(file));
151 ZipEntry e = new ZipEntry("temp.txt");
153 byte[] data = sb.toString().getBytes();
154 out.write(data, 0, data.length);
157 } catch(Exception e) {
163 public void testQueryPackageListByCond() throws Exception {
164 new MockUp<MarketplaceDaoImpl>() {
167 public List<PackageData> getPackageDataSubset(Map<String, String> queryParam) {
168 return new ArrayList<PackageData>();
172 response = PackageWrapper.getInstance().queryPackageListByCond(null, null, null, null, null);
173 } catch(Exception e) {
177 assertNotNull(response);
178 assertEquals(200, response.getStatus());
181 response = packageResource.queryPackageListByCond(null, null, null, null, null);
182 } catch(Exception e) {
186 // assertEquals(00,res5.getStatus());
190 public void testQueryPackageById() throws Exception {
191 new MockUp<MarketplaceDaoImpl>() {
194 public List<PackageData> getPackageData(String csarId) {
199 new MockUp<MarketplaceDaoImpl>() {
202 public List<PackageData> getPackageData(String csarId) {
203 packageDataList = new ArrayList<PackageData>();
204 packageData = new PackageData();
205 packageData.setCsarId(csarId);
206 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
207 packageData.setName("clearwater_ns.csar");
208 packageData.setSize("59,854 bytes");
209 packageData.setVersion("v1.0");
210 packageData.setProvider("Huawei");
211 packageDataList.add(packageData);
212 return packageDataList;
217 response = PackageWrapper.getInstance().queryPackageById(csarID);
218 } catch(Exception e) {
221 assertNotNull(response);
222 assertEquals(200, response.getStatus());
225 response = packageResource.queryPackageById(csarID);
226 } catch(Exception e) {
232 public void testDelPackageFaiure() {
233 new MockUp<MarketplaceDaoImpl>() {
236 public List<PackageData> getAllPackageData() {
237 return new ArrayList<PackageData>();
241 new MockUp<MarketplaceDaoImpl>() {
244 public void deletePackageData(String csarId) {
249 new MockUp<MarketplaceDaoImpl>() {
252 public List<PackageData> getPackageData(String csarId) {
253 return new ArrayList<PackageData>();
258 response = PackageWrapper.getInstance().delPackage("");
259 } catch(Exception e5) {
260 e5.printStackTrace();
262 assertEquals(500, response.getStatus());
265 response = packageResource.delPackage("");
266 } catch(Exception e) {
271 response = PackageWrapper.getInstance().delPackage(null);
272 } catch(Exception e5) {
273 e5.printStackTrace();
277 response = packageResource.delPackage(null);
278 } catch(Exception e) {
281 assertEquals(500, response.getStatus());
285 public void testDelPackageSuccess() {
286 new MockUp<MarketplaceDaoImpl>() {
289 public List<PackageData> getAllPackageData() {
290 packageDataList = new ArrayList<PackageData>();
291 packageData = new PackageData();
292 packageData.setCsarId(csarID);
293 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
294 packageData.setName("clearwater_ns.csar");
295 packageData.setSize("59,854 bytes");
296 packageData.setVersion("v1.0");
297 packageData.setProvider("Huawei");
298 packageDataList.add(packageData);
299 return packageDataList;
303 new MockUp<PackageManager>() {
306 public void deletePackage(String csarId) {
311 new MockUp<HttpFileManagerImpl>() {
314 public boolean delete(String srcPath) {
319 new MockUp<MarketplaceDaoImpl>() {
322 public List<PackageData> getPackageData(String csarId) {
323 packageDataList = new ArrayList<PackageData>();
324 packageData = new PackageData();
325 packageData.setCsarId(csarID);
326 packageData.setDownloadUri("src\\test\\resources\\");
327 packageData.setName("clearwater_ns.csar");
328 packageData.setSize("59,854 bytes");
329 packageData.setVersion("v1.0");
330 packageData.setProvider("Huawei");
331 packageDataList.add(packageData);
332 return packageDataList;
337 response = PackageWrapper.getInstance().delPackage("csarid");
338 } catch(Exception e) {
342 assertNotNull(response);
343 assertEquals(200, response.getStatus());
346 response = packageResource.delPackage("csarid");
347 } catch(Exception e) {
353 public void testGetCsarFileUri() {
354 new MockUp<MarketplaceDaoImpl>() {
357 public List<PackageData> getPackageData(String csarId) {
358 packageDataList = new ArrayList<PackageData>();
359 packageData = new PackageData();
360 packageData.setCsarId(csarId);
361 packageData.setDownloadUri("src\\test\\resources\\");
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;
371 new MockUp<PackageWrapper>() {
374 Response downloadCsarPackagesById(String csarId) throws FileNotFoundException {
376 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
377 InputStream fis = new BufferedInputStream(new FileInputStream(fileName));
378 return Response.ok(fis).header("Content-Disposition", "attachment; filename=\"" + fileName + "\"")
382 response = PackageWrapper.getInstance().getCsarFileUri("csarId");
383 assertEquals(200, response.getStatus());
386 response = packageResource.getCsarFileUri("csarId");
387 } catch(Exception e) {
393 public void testupdateDwonloadCountSuccess() throws Exception {
394 final List<PackageData> pkgList = new ArrayList<PackageData>();
395 PackageData pkgDataObj = new PackageData();
396 pkgDataObj.setDownloadCount(1);
397 pkgList.add(pkgDataObj);
398 new MockUp<MarketplaceDaoImpl>() {
401 public List<PackageData> getPackageData(String csarId) {
403 // return new ArrayList<PackageData>();
406 new MockUp<MarketplaceDaoImpl>() {
409 public void updatePackageData(PackageData oPackageData) {
415 response = PackageWrapper.getInstance().updateDwonloadCount(csarID);
416 } catch(Exception e5) {
417 e5.printStackTrace();
419 assertNotNull(response);
420 assertEquals(200, response.getStatus());
423 response = packageResource.updateDwonloadCount(csarID);
424 } catch(Exception e) {
430 public void testReUploadPackage() {
431 new MockUp<MarketplaceDaoImpl>() {
434 public List<PackageData> getPackageData(String csarId) {
435 List<PackageData> packageDataList = new ArrayList<PackageData>();
436 PackageData packageData = new PackageData();
437 packageData = new PackageData();
438 packageData.setCsarId(csarId);
439 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
440 packageData.setName("clearwater_ns.csar");
441 packageData.setSize("59,854 bytes");
442 packageData.setVersion("v1.0");
443 packageData.setProvider("Huawei");
444 packageDataList.add(packageData);
445 return packageDataList;
449 new MockUp<HttpFileManagerImpl>() {
452 public boolean delete(String srcPath) {
457 new MockUp<MarketplaceDaoImpl>() {
460 public void deletePackageData(String csarId) {
465 new MockUp<ToolUtil>() {
468 public String getTempDir(String dirName, String fileName) {
470 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
475 new MockUp<HttpFileManagerImpl>() {
478 public boolean upload(String srcPath, String dstPath) {
483 new MockUp<PackageWrapperUtil>() {
486 public PackageData getPackageData(PackageMeta meta) {
487 PackageData packageData = new PackageData();
488 packageData.setCreateTime("25-3-2017 15:26:00");
489 packageData.setDeletionPending("deletion");
490 packageData.setDownloadUri("downloaduri");
491 packageData.setFormat("format");
492 packageData.setModifyTime("time");
493 packageData.setName("name");
494 packageData.setCsarId("csarid");
495 packageData.setProvider("huawei");
496 String fileSize = "10 mb";
497 packageData.setSize(fileSize);
498 packageData.setType("type");
499 packageData.setVersion("v2.0");
500 packageData.setDetails("details");
501 packageData.setShortDesc("description");
502 packageData.setRemarks("remarks");
507 new MockUp<PackageHandler>() {
510 public PackageData create(PackageData packageData) {
511 PackageData packageDataObj = new PackageData();
512 packageDataObj.setCreateTime("25-3-2017 15:26:00");
513 packageDataObj.setDeletionPending("deletion");
514 packageDataObj.setDownloadUri("downloaduri");
515 packageDataObj.setFormat("format");
516 packageDataObj.setModifyTime("modifytime");
517 packageDataObj.setName("name");
518 packageDataObj.setCsarId("csarid");
519 packageDataObj.setProvider("huawei");
520 String fileSize = "10 mb";
521 packageDataObj.setSize(fileSize);
522 packageDataObj.setType("type");
523 packageDataObj.setVersion("v2.0");
524 packageDataObj.setDetails("details");
525 packageDataObj.setShortDesc("description");
526 packageDataObj.setRemarks("remarks");
527 return packageDataObj;
532 response = PackageWrapper.getInstance().reUploadPackage(null, null, null, null, null);
533 } catch(Exception e) {
536 assertEquals(417, response.getStatus());
539 response = packageResource.reUploadPackage(null, null, null, null, null);
540 } catch(Exception e) {
545 fileDetail = FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
546 String fileName = "src" + File.separator + "test" + File.separator + "resources" + File.separator
547 + "clearwater_ns.csar";
548 inputStream = new FileInputStream(fileName);
549 response = PackageWrapper.getInstance().reUploadPackage("csarID", inputStream, fileDetail, null, null);
550 // assertEquals( 200, response.getStatus() );
551 } catch(Exception e) {
556 response = packageResource.reUploadPackage("csarID", inputStream, null, null, null);
557 } catch(Exception e) {
563 public void testgetOperResultByOperTypeIdFailure() throws Exception {
564 final ResultKey resultKeyObj = new ResultKey();
566 new MockUp<FunctionTestHook>() {
569 ResultKey getFuncTestResultKey(PackageData packageData) {
570 resultKeyObj.setKey("key");
574 new MockUp<FunctionTestExceutor>() {
577 String getTestResultsByFuncTestKey(String key) {
582 new MockUp<MarketplaceDaoImpl>() {
585 public List<PackageData> getPackageData(String csarId) {
586 List<PackageData> packageDataList = new ArrayList<PackageData>();
587 PackageData packageData = new PackageData();
588 packageData = new PackageData();
589 packageData.setCsarId(csarId);
590 packageData.setDownloadUri("src\\test\\resources\\learwater_ns.csar");
591 packageData.setName("clearwater_ns.csar");
592 packageData.setSize("59,854 bytes");
593 packageData.setVersion("v1.0");
594 packageData.setProvider("Airtel");
595 packageDataList.add(packageData);
596 return packageDataList;
601 response = PackageWrapper.getInstance().getOperResultByOperTypeId(csarID, operTypeId);
602 } catch(Exception e5) {
603 e5.printStackTrace();
605 assertEquals(500, response.getStatus());
608 response = PackageWrapper.getInstance().getOperResultByOperTypeId("", "");
609 } catch(Exception e) {
612 assertEquals(400, response.getStatus());
615 response = packageResource.getOnBoardingResult(null, null, null);
616 } catch(Exception e) {
622 public void testgetOperResultByOperTypeIdSuccess() {
623 new MockUp<MarketplaceDaoImpl>() {
626 public List<PackageData> getPackageData(String csarId) {
627 List<PackageData> packageDataList = new ArrayList<PackageData>();
628 PackageData packageData = new PackageData();
629 packageData = new PackageData();
630 packageData.setCsarId(csarId);
631 packageData.setDownloadUri("src\\test\\resources\\learwater_ns.csar");
632 packageData.setName("clearwater_ns.csar");
633 packageData.setSize("59,854 bytes");
634 packageData.setVersion("v1.0");
635 packageData.setProvider("Airtel");
636 packageDataList.add(packageData);
637 return packageDataList;
641 new MockUp<ToolUtil>() {
644 public String getTempDir(String dirName, String fileName) {
646 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
650 new MockUp<PackageWrapper>() {
653 Response downloadCsarPackagesById(String csarId) throws FileNotFoundException {
655 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
656 InputStream fis = new BufferedInputStream(new FileInputStream(fileName));
657 return Response.ok(fis).header("Content-Disposition", "attachment; filename=\"" + fileName + "\"")
662 new MockUp<FunctionTestHook>() {
665 ResultKey getFuncTestResultKey(PackageData packageData) {
666 ResultKey resultKey = new ResultKey();
667 resultKey.setKey("key");
671 new MockUp<FunctionTestExceutor>() {
674 String getTestResultsByFuncTestKey(String key) {
680 response = PackageWrapper.getInstance().getOperResultByOperTypeId(csarID, operTypeId);
681 } catch(Exception e) {
690 public void testUploadPackage() throws Exception {
691 InputStream ins = null;
692 Response result = null;
694 * Response result1 = null; Response result2 = null; PackageData
695 * packageData = new PackageData(); packageData = getPackageData();
698 new MockUp<MarketplaceDaoImpl>() {
701 public List<PackageData> getPackageData(String csarId) {
702 List<PackageData> packageDataList = new ArrayList<PackageData>();
703 PackageData packageData = new PackageData();
704 packageData = new PackageData();
705 packageData.setCsarId(csarId);
706 packageData.setDownloadUri("src\\test\\resources\\");
707 packageData.setName("clearwater_ns.csar");
708 packageData.setSize("59,854 bytes");
709 packageData.setVersion("v1.0");
710 packageData.setProvider("Airtel");
711 packageDataList.add(packageData);
712 return packageDataList;
716 public List<PackageData> getPackageDataSubset(Map<String, String> paramsMap) {
717 List<PackageData> packageDataList = new ArrayList<PackageData>();
719 return packageDataList;
723 new MockUp<HttpFileManagerImpl>() {
726 public boolean delete(String srcPath) {
731 new MockUp<MarketplaceDaoImpl>() {
734 public void deletePackageData(String csarId) {
739 new MockUp<ToolUtil>() {
742 public String getTempDir(String dirName, String fileName) {
744 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
749 new MockUp<HttpFileManagerImpl>() {
752 public boolean upload(String srcPath, String dstPath) {
757 new MockUp<PackageHandler>() {
760 public PackageData create(PackageData packageData) {
761 PackageData packageDataObj = new PackageData();
762 packageDataObj.setCreateTime("25-3-2017 15:26:00");
763 packageDataObj.setDeletionPending("deletion");
764 packageDataObj.setDownloadUri("downloaduri");
765 packageDataObj.setFormat("format");
766 packageDataObj.setModifyTime("modifytime");
767 packageDataObj.setName("name");
768 packageDataObj.setCsarId("csarid");
769 packageDataObj.setProvider("huawei");
770 String fileSize = "10 mb";
771 packageDataObj.setSize(fileSize);
772 packageDataObj.setType("type");
773 packageDataObj.setVersion("v2.0");
774 packageDataObj.setDetails("details");
775 packageDataObj.setShortDesc("description");
776 packageDataObj.setRemarks("remarks");
777 return packageDataObj;
782 new MockUp<OpenRemoteCli>() {
785 public Result run(String host, int port, String reqId, List <String> args) {
786 Result result = Result.newBuilder().
788 setOutput("{\"error\":\"SUCCESS\"}").
795 FormDataContentDisposition fileDetail =
796 FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
799 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "clearwater_ns.csar";
800 File packageFile = new File(filenama);
803 ins = new FileInputStream(packageFile);
804 } catch(FileNotFoundException e2) {
805 e2.printStackTrace();
809 result = PackageWrapper.getInstance().uploadPackage(ins, fileDetail, null, null);
810 // PackageWrapper.getInstance().updateValidateStatus(ins);
811 } catch(Exception e3) {
812 e3.printStackTrace();
816 assertNotNull(result);
817 assertEquals(200, result.getStatus());
820 result = PackageWrapper.getInstance().uploadPackage(null, null, null, null);
821 } catch(Exception e4) {
822 e4.printStackTrace();
825 assertEquals(417, result.getStatus());
828 response = packageResource.uploadPackage(null, null, null, null);
829 } catch(Exception e) {
835 public void testUploadPackageFailedOnVtp() throws Exception {
836 InputStream ins = null;
837 Response result = null;
839 * Response result1 = null; Response result2 = null; PackageData
840 * packageData = new PackageData(); packageData = getPackageData();
843 new MockUp<MarketplaceDaoImpl>() {
846 public List<PackageData> getPackageData(String csarId) {
847 List<PackageData> packageDataList = new ArrayList<PackageData>();
848 PackageData packageData = new PackageData();
849 packageData = new PackageData();
850 packageData.setCsarId(csarId);
851 packageData.setDownloadUri("src\\test\\resources\\");
852 packageData.setName("clearwater_ns.csar");
853 packageData.setSize("59,854 bytes");
854 packageData.setVersion("v1.0");
855 packageData.setProvider("Airtel");
856 packageDataList.add(packageData);
857 return packageDataList;
861 public List<PackageData> getPackageDataSubset(Map<String, String> paramsMap) {
862 List<PackageData> packageDataList = new ArrayList<PackageData>();
864 return packageDataList;
868 new MockUp<HttpFileManagerImpl>() {
871 public boolean delete(String srcPath) {
876 new MockUp<MarketplaceDaoImpl>() {
879 public void deletePackageData(String csarId) {
884 new MockUp<ToolUtil>() {
887 public String getTempDir(String dirName, String fileName) {
889 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
894 new MockUp<HttpFileManagerImpl>() {
897 public boolean upload(String srcPath, String dstPath) {
902 new MockUp<PackageWrapperUtil>() {
905 public PackageData getPackageData(PackageMeta meta) {
906 PackageData packageData = new PackageData();
907 packageData.setCreateTime("25-3-2017 15:26:00");
908 packageData.setDeletionPending("deletion");
909 packageData.setDownloadUri("downloaduri");
910 packageData.setFormat("format");
911 packageData.setModifyTime("time");
912 packageData.setName("name");
913 packageData.setCsarId("csarid");
914 packageData.setProvider("huawei");
915 String fileSize = "10 mb";
916 packageData.setSize(fileSize);
917 packageData.setType("type");
918 packageData.setVersion("v2.0");
919 packageData.setDetails("details");
920 packageData.setShortDesc("description");
921 packageData.setRemarks("remarks");
926 new MockUp<PackageHandler>() {
929 public PackageData create(PackageData packageData) {
930 PackageData packageDataObj = new PackageData();
931 packageDataObj.setCreateTime("25-3-2017 15:26:00");
932 packageDataObj.setDeletionPending("deletion");
933 packageDataObj.setDownloadUri("downloaduri");
934 packageDataObj.setFormat("format");
935 packageDataObj.setModifyTime("modifytime");
936 packageDataObj.setName("name");
937 packageDataObj.setCsarId("csarid");
938 packageDataObj.setProvider("huawei");
939 String fileSize = "10 mb";
940 packageDataObj.setSize(fileSize);
941 packageDataObj.setType("type");
942 packageDataObj.setVersion("v2.0");
943 packageDataObj.setDetails("details");
944 packageDataObj.setShortDesc("description");
945 packageDataObj.setRemarks("remarks");
946 return packageDataObj;
951 new MockUp<OpenRemoteCli>() {
954 public Result run(String host, int port, String reqId, List <String> args) throws Exception {
955 throw new Exception();
959 FormDataContentDisposition fileDetail =
960 FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
963 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "clearwater_ns.csar";
964 File packageFile = new File(filenama);
967 ins = new FileInputStream(packageFile);
968 } catch(FileNotFoundException e2) {
969 e2.printStackTrace();
973 result = PackageWrapper.getInstance().uploadPackage(ins, fileDetail, null, null);
974 // PackageWrapper.getInstance().updateValidateStatus(ins);
975 } catch(Exception e3) {
976 e3.printStackTrace();
980 assertEquals(200, result.getStatus());
984 public void testGetOnBoardingStepsSuccess() {
985 new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
988 String getAppDeployPath() {
989 String path = "src" + File.separator + "main" + File.separator + "resources";
995 response = PackageWrapper.getInstance().getOnBoardingSteps();
996 } catch(Exception e) {
1000 assertNotNull(response);
1003 response = packageResource.getOnBoardingSteps();
1004 } catch(Exception e) {
1005 e.printStackTrace();
1010 public void testGetOOprStatusSuccess() {
1012 response = packageResource.getOperStatus(null, null);
1013 } catch(Exception e) {
1014 e.printStackTrace();
1019 public void testUpdateStatusSuccess() {
1020 MockUp mockReq = new MockUp<HttpServletRequest>() {
1023 public ServletInputStream getInputStream() throws IOException {
1024 ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(
1025 "{\"csar\"=\"VoLTE.csar\"}".getBytes());
1027 return new ServletInputStream(){
1028 public int read() throws IOException {
1029 return byteArrayInputStream.read();
1033 public boolean isFinished() {
1038 public boolean isReady() {
1043 public void setReadListener(ReadListener arg0) {
1050 response = packageResource.updateValidateStatus((HttpServletRequest) mockReq.getMockInstance(), null);
1051 } catch(Exception e) {
1052 e.printStackTrace();
1057 public void testGetOnBoardingStepsFailure() {
1058 new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
1061 String getAppDeployPath() {
1062 String path = "src" + File.separator + "main" + File.separator + "resources" + File.separator
1069 response = PackageWrapper.getInstance().getOnBoardingSteps();
1070 } catch(Exception e) {
1071 e.printStackTrace();
1073 assertEquals(500, response.getStatus());
1077 public void testRestGetClient() {
1078 new MockUp<RestfulClient>() {
1080 RestResponse get(String ip, int port, String url) {
1081 RestResponse restResponse = new RestResponse();
1082 restResponse.setStatusCode(200);
1083 restResponse.setResult("success");
1084 return restResponse;
1087 String dirPath = "etc//conf//restclient.json";
1088 FileUtil.createDirectory(dirPath);
1089 MsbServer msbServer = new MsbServer();
1090 msbServer.setHost("localhost");
1091 msbServer.setPort("8080");
1092 Map<String, MsbServer> map = new HashMap<>();
1093 map.put("defaultServer", msbServer);
1094 FileUtil.writeJsonDatatoFile(dirPath, map);
1095 assertNotNull(FunctionTestExceutor.getTestResultsByFuncTestKey("GET"));
1096 FileUtil.deleteDirectory("etc");
1101 public void testRestPostClient() {
1103 OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
1104 onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
1105 onBoradFuncTestReq.setPackageName("clearwater_ns.csar");
1106 String result = FunctionTestExceutor.execFunctionTest(onBoradFuncTestReq);
1108 // assertEquals(200,result);
1113 public void testRestDeleteClient() {
1114 RestResponse rsp = RestfulClient.delete("127.0.0.1", 8987, "TestURL");
1116 if(rsp.getStatusCode() != null)
1117 assertEquals(200, rsp.getStatusCode().intValue());
1122 public void testExec() {
1124 new MockUp<FunctionTestHook>() {
1127 String getResultStorePath() {
1128 return "src/test/resources";
1132 FunctionTestHook testHookObj = new FunctionTestHook();
1133 OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
1134 onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
1135 int res = testHookObj.exec(onBoradFuncTestReq);
1137 assertEquals(res, -1);
1142 public void testwriteJsonDatatoFile() {
1144 String filePath = "src//test//resources//functionTest.json";
1145 OnBoardingResult onBoardResultObj = new OnBoardingResult();
1146 onBoardResultObj.setCsarId("csrId");
1147 onBoardResultObj.setOperStatus(1);
1148 boolean res = FileUtil.writeJsonDatatoFile(filePath, onBoardResultObj);
1150 String filePath1 = "src//test//resources";
1151 res = FileUtil.writeJsonDatatoFile(filePath1, onBoardResultObj);
1158 public void testCreateDirectory() {
1159 String dirPath = "src//test//resources//TestDirectory";
1160 boolean res = FileUtil.createDirectory(dirPath);
1166 public void testDeleteDirectory() {
1167 String dirPath = "src//test//resources//TestDirectory";
1168 boolean res = FileUtil.deleteFile(dirPath);
1170 String dirPath1 = "src//test//resources11";
1171 res = FileUtil.deleteFile(dirPath1);
1178 public void testGenerateId() {
1179 String id = MarketplaceDbUtil.generateId();
1184 public void testisNotEmpty() {
1185 boolean res = MarketplaceDbUtil.isNotEmpty(null);
1187 res = MarketplaceDbUtil.isNotEmpty("test");
1192 public void testobjectToString() {
1193 Object obj = "testexa";
1194 String res = MarketplaceDbUtil.objectToString(obj);
1196 res = MarketplaceDbUtil.objectToString(null);
1201 public void testisEmptyString() {
1202 boolean res = ToolUtil.isEmptyString(null);
1204 res = ToolUtil.isEmptyString("huawei");
1209 public void testisTrimedEmptyString() {
1210 boolean res = ToolUtil.isTrimedEmptyString(null);
1212 res = ToolUtil.isTrimedEmptyString(" huawei ");
1217 public void testisTrimedEmptyArray() {
1218 boolean res = ToolUtil.isTrimedEmptyArray(null);
1220 String[] String1={"hua","wei"};
1221 res = ToolUtil.isTrimedEmptyArray(String1);
1226 public void testisEmptyCollection() {
1227 ArrayList arr1 = new ArrayList();
1228 boolean res = ToolUtil.isEmptyCollection(arr1);
1231 res = ToolUtil.isEmptyCollection(arr1);
1236 public void testisYamlFile() {
1237 File fileObj = new File("test.yaml");
1238 boolean res = ToolUtil.isYamlFile(fileObj);
1243 public void testgenerateID() {
1244 String id = ToolUtil.generateId();
1249 public void testgetFormatFileSize() {
1250 long fileSize = 1000*1000*1000*100;
1251 String res = ToolUtil.getFormatFileSize(fileSize);
1253 res = ToolUtil.getFormatFileSize(1000000000);
1255 res = ToolUtil.getFormatFileSize(200000);
1257 res = ToolUtil.getFormatFileSize(100000);
1259 res = ToolUtil.getFormatFileSize(100);
1264 public void testObjectToString() {
1265 Object obj = "testexa";
1266 String res = ToolUtil.objectToString(obj);
1268 res = ToolUtil.objectToString(null);
1273 public void testprocessFileName() {
1274 String res = ToolUtil.processFileName("abc.txt");
1276 res = ToolUtil.processFileName("abc.zip");
1278 res = ToolUtil.processFileName("abc");
1283 public void testremoveCsarSuffix() {
1284 String res = ToolUtil.removeCsarSuffix("abc.csar");
1285 assertEquals("abc", res);
1289 public void testformatCsar() {
1290 String res = ToolUtil.formatCsar("abc");
1291 assertEquals("abc.csar", res);
1295 public void testformatFileSize() {
1296 String res = ToolUtil.formatFileSize(10000.0, 10);
1297 String expected = new DecimalFormat("#0.00").format(1000) + "M";// may
1305 assertEquals(expected, res);
1309 public void testgetFileSize() {
1310 File fileObj = new File("example.txt");
1311 String res = ToolUtil.getFileSize(fileObj, 10);
1316 public void testgetCatalogueCsarPath() {
1317 String res = ToolUtil.getCatalogueCsarPath();
1318 assertEquals(File.separator + "csar", res);
1322 public void testgetCatalogueImagePath() {
1323 String res = ToolUtil.getCatalogueImagePath();
1324 assertEquals(File.separator + "image", res);
1328 public void testdeleteFile() {
1329 boolean res = ToolUtil.deleteFile("src//test//resources", "test1.txt");
1334 public void teststoreChunkFileInLocal() {
1336 inputStream = new FileInputStream("src//test//resources//Test.txt");
1337 String res = ToolUtil.storeChunkFileInLocal("src//test//resources", "TestOut.txt", inputStream);
1338 File file = new File(res);
1339 String fileName = file.getName();
1340 assertEquals("TestOut.txt", fileName);
1342 } catch(Exception ex) {
1343 ex.printStackTrace();
1348 public void testToolUtildeleteFile() {
1350 boolean res = ToolUtil.deleteFile("src/test/resources", "TestOut.txt");
1356 public void testUnzip() {
1358 List<String> listObj = new ArrayList<String>();
1360 listObj = FileUtil.unzip("src/test/resources/temp.zip", "src/test/resources/testfolder");
1361 } catch(Exception ex) {
1362 ex.printStackTrace();
1364 assertNotNull(listObj);
1368 public void testreadJsonDatafFromFile() {
1371 FileUtil.readJsonDatafFromFile("src/main/resources/generalconfig/OnBoardingSteps.json", Object.class);
1376 public void testvalidateFile() {
1377 File fileData= null;
1378 boolean res = FileUtil.validateFile(fileData);
1383 public void testGetPkgSize() {
1384 long pkgSize = PackageWrapperUtil.getPacakgeSize("src/test/resources/Test.txt");
1385 assertTrue(pkgSize > 1);
1389 public void testPkgFormat() {
1390 assertNotNull(PackageWrapperUtil.getPackageFormat("xml"));
1391 assertNotNull(PackageWrapperUtil.getPackageFormat("yml"));
1392 assertNull(PackageWrapperUtil.getPackageFormat("pdf"));
1394 MsbDetailsHolder.getMsbDetails();
1396 IMarketplaceDao dao = new MarketplaceDaoImpl();
1398 packageDataList = new ArrayList<PackageData>();
1399 packageData = new PackageData();
1400 packageData.setCsarId("21");
1401 packageData.setDownloadUri("src\\test\\resources\\");
1402 packageData.setName("clearwater_ns.csar");
1403 packageData.setSize("59,854 bytes");
1404 packageData.setVersion("v1.0");
1405 packageData.setProvider("Huawei");
1406 packageDataList.add(packageData);
1408 dao.savePackageData(packageData);
1409 dao.getAllPackageData();
1410 dao.getPackageData("21");
1411 dao.updatePackageData(packageData);
1412 dao.deletePackageData("21");
1414 } catch(Exception e) {
1420 public void testVnfPackageSetter() {
1422 vnfPackageObj.setVnfPackageId("vnfpackageId");
1423 vnfPackageObj.setVnfPackageUrl("vnfPackageUrl");
1424 vnfPackageObj.setVnfd("vnfd");
1425 vnfPackageObj.setVersion("1");
1426 vnfPackageObj.setUsageState(EnumUsageState.NOTINUSE);
1427 vnfPackageObj.setProvider("huawei");
1428 vnfPackageObj.setOperationalState(EnumOperationalState.ENABLED);
1429 vnfPackageObj.setName("vnf");
1430 vnfPackageObj.setDeletionPending("pending");
1432 String res = vnfPackageObj.getVnfPackageId();
1433 assertEquals("vnfpackageId", res);
1434 res = vnfPackageObj.getVnfPackageUrl();
1435 assertEquals("vnfPackageUrl", res);
1436 res = vnfPackageObj.getVnfd();
1437 assertEquals("vnfd", res);
1438 res = vnfPackageObj.getVersion();
1439 assertEquals("1", res);
1440 EnumUsageState state = vnfPackageObj.getUsageState();
1441 assertEquals(EnumUsageState.NOTINUSE, state);
1442 res = vnfPackageObj.getProvider();
1443 assertEquals("huawei", res);
1444 EnumOperationalState operState = vnfPackageObj.getOperationalState();
1445 assertEquals(EnumOperationalState.ENABLED, operState);
1446 res = vnfPackageObj.getName();
1447 assertEquals("vnf", res);
1448 res = vnfPackageObj.getDeletionPending();
1449 assertEquals("pending", res);
1453 public void testCsarPackageSetter() {
1454 csarPackageObj.setCreateTime("04052017");
1455 csarPackageObj.setDeletionPending("pending");
1456 csarPackageObj.setFormat("format");
1457 csarPackageObj.setId("12");
1458 csarPackageObj.setName("csartest");
1459 csarPackageObj.setSize("10");
1460 csarPackageObj.setStatus("done");
1461 csarPackageObj.setType("type");
1462 csarPackageObj.setUrl("//network");
1464 String res = csarPackageObj.getCreateTime();
1465 assertEquals("04052017", res);
1466 res = csarPackageObj.getDeletionPending();
1467 assertEquals("pending", res);
1468 res = csarPackageObj.getFormat();
1469 assertEquals("format", res);
1470 res = csarPackageObj.getId();
1471 assertEquals("12", res);
1472 res = csarPackageObj.getName();
1473 assertEquals("csartest", res);
1474 res = csarPackageObj.getSize();
1475 assertEquals("10", res);
1476 res = csarPackageObj.getStatus();
1477 assertEquals("done", res);
1478 res = csarPackageObj.getType();
1479 assertEquals("type", res);
1480 res = csarPackageObj.getUrl();
1481 assertEquals("//network", res);
1486 public void testPackageBasicInfoSetter() {
1487 pkgBasicInfoObj.setFormat("pdf");
1488 pkgBasicInfoObj.setProvider("huawei");
1489 pkgBasicInfoObj.setType(EnumType.GSAR);
1490 pkgBasicInfoObj.setVersion("1");
1491 String res = pkgBasicInfoObj.getFormat();
1492 assertEquals("pdf", res);
1493 res = pkgBasicInfoObj.getProvider();
1494 assertEquals("huawei", res);
1495 EnumType type = pkgBasicInfoObj.getType();
1496 assertEquals(EnumType.GSAR, type);
1497 res = pkgBasicInfoObj.getVersion();
1498 assertEquals("1", res);
1502 public void testPackageMetaSetter() {
1503 pkgMetaObj.setCreateTime("05042017");
1504 pkgMetaObj.setCsarId("csarid");
1505 pkgMetaObj.setDeletionPending(true);
1506 pkgMetaObj.setDetails("details");
1507 pkgMetaObj.setDownloadCount(10);
1508 pkgMetaObj.setDownloadUri("//network");
1509 pkgMetaObj.setFormat("pdf");
1510 pkgMetaObj.setModifyTime("05042017");
1511 pkgMetaObj.setName("huawei");
1512 pkgMetaObj.setProvider("huawei");
1513 pkgMetaObj.setRemarks("tested");
1514 pkgMetaObj.setReport("done");
1515 pkgMetaObj.setShortDesc("done");
1516 pkgMetaObj.setSize("1000");
1517 pkgMetaObj.setType("type");
1518 pkgMetaObj.setVersion("1");
1520 String res = pkgMetaObj.getCreateTime();
1521 assertEquals("05042017", res);
1522 res = pkgMetaObj.getCsarId();
1523 assertEquals("csarid", res);
1524 res = pkgMetaObj.getDetails();
1525 assertEquals("details", res);
1526 res = pkgMetaObj.getDownloadCount() + "";
1527 assertEquals("10", res);
1528 res = pkgMetaObj.getDownloadUri();
1529 assertEquals("//network", res);
1530 res = pkgMetaObj.getFormat();
1531 assertEquals("pdf", res);
1532 res = pkgMetaObj.getModifyTime();
1533 assertEquals("05042017", res);
1534 res = pkgMetaObj.getName();
1535 assertEquals("huawei", res);
1536 res = pkgMetaObj.getProvider();
1537 assertEquals("huawei", res);
1538 res = pkgMetaObj.getRemarks();
1539 assertEquals("tested", res);
1540 res = pkgMetaObj.getReport();
1541 assertEquals("done", res);
1542 res = pkgMetaObj.getShortDesc();
1543 assertEquals("done", res);
1544 res = pkgMetaObj.getSize();
1545 assertEquals("1000", res);
1546 res = pkgMetaObj.getType();
1547 assertEquals("type", res);
1548 res = pkgMetaObj.getVersion();
1549 assertEquals("1", res);
1553 public void testPackageResponseSetter() {
1554 pkgResponseObj.setReportPath("localpath");
1555 String res = pkgResponseObj.getReportPath();
1556 assertEquals("localpath", res);
1561 public void testCsarFileUriResSetter() {
1562 csarFileUriResObj.setDownloadUri("downloaduri");
1563 csarFileUriResObj.setLocalPath("localpath");
1564 String res = csarFileUriResObj.getDownloadUri();
1565 assertEquals("downloaduri", res);
1566 res = csarFileUriResObj.getLocalPath();
1567 assertEquals("localpath", res);
1571 public void testGetPackageName() {
1572 String packageName = PackageWrapperUtil.getPackageName("ftpUrl/abc");
1573 assertEquals("/abc", packageName);