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;
78 import javax.servlet.ServletRequest;
83 import static org.junit.Assert.assertFalse;
84 import static org.junit.Assert.assertTrue;
86 public class PackageResourceTest {
88 private PackageResource packageResource = null;
90 private Response response = null;
92 private String csarID = "csarid";
94 private List<PackageData> packageDataList = null;
96 private PackageData packageData = null;
98 private FormDataContentDisposition fileDetail = null;
100 private InputStream inputStream = null;
102 private String operTypeId = "opertype";
104 private VnfPackage vnfPackageObj = null;
106 private CsarPackage csarPackageObj = null;
108 private PackageBasicInfo pkgBasicInfoObj = null;
110 private PackageMeta pkgMetaObj = null;
112 private PackageResponse pkgResponseObj = null;
114 private CsarFileUriResponse csarFileUriResObj = null;
117 public void setUp() {
118 packageResource = new PackageResource();
119 vnfPackageObj = new VnfPackage();
120 csarPackageObj = new CsarPackage();
121 pkgBasicInfoObj = new PackageBasicInfo();
122 pkgMetaObj = new PackageMeta();
123 pkgResponseObj = new PackageResponse();
124 csarFileUriResObj = new CsarFileUriResponse();
128 public void createTestFile() {
129 String filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
130 File file = new File(filePath);
132 file.createNewFile();
133 FileWriter writer = new FileWriter(file);
134 writer.write("This is test file.");
136 } catch(Exception e) {
140 filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
141 file = new File(filePath);
146 StringBuilder sb = new StringBuilder();
147 sb.append("test data");
149 filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "temp.zip";
150 file = new File(filePath);
152 ZipOutputStream out = new ZipOutputStream(new FileOutputStream(file));
153 ZipEntry e = new ZipEntry("temp.txt");
155 byte[] data = sb.toString().getBytes();
156 out.write(data, 0, data.length);
159 } catch(Exception e) {
165 public void testQueryPackageListByCond() throws Exception {
166 new MockUp<MarketplaceDaoImpl>() {
169 public List<PackageData> getPackageDataSubset(Map<String, String> queryParam) {
170 return new ArrayList<PackageData>();
174 response = PackageWrapper.getInstance().queryPackageListByCond(null, null, null, null, null);
175 } catch(Exception e) {
179 assertNotNull(response);
180 assertEquals(200, response.getStatus());
183 response = packageResource.queryPackageListByCond(null, null, null, null, null);
184 } catch(Exception e) {
188 // assertEquals(00,res5.getStatus());
192 public void testQueryPackageById() throws Exception {
193 new MockUp<MarketplaceDaoImpl>() {
196 public List<PackageData> getPackageData(String csarId) {
201 new MockUp<MarketplaceDaoImpl>() {
204 public List<PackageData> getPackageData(String csarId) {
205 packageDataList = new ArrayList<PackageData>();
206 packageData = new PackageData();
207 packageData.setCsarId(csarId);
208 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
209 packageData.setName("clearwater_ns.csar");
210 packageData.setSize("59,854 bytes");
211 packageData.setVersion("v1.0");
212 packageData.setProvider("Huawei");
213 packageDataList.add(packageData);
214 return packageDataList;
219 response = PackageWrapper.getInstance().queryPackageById(csarID);
220 } catch(Exception e) {
223 assertNotNull(response);
224 assertEquals(200, response.getStatus());
227 response = packageResource.queryPackageById(csarID);
228 } catch(Exception e) {
234 public void testDelPackageFaiure() {
235 new MockUp<MarketplaceDaoImpl>() {
238 public List<PackageData> getAllPackageData() {
239 return new ArrayList<PackageData>();
243 new MockUp<MarketplaceDaoImpl>() {
246 public void deletePackageData(String csarId) {
251 new MockUp<MarketplaceDaoImpl>() {
254 public List<PackageData> getPackageData(String csarId) {
255 return new ArrayList<PackageData>();
260 response = PackageWrapper.getInstance().delPackage("");
261 } catch(Exception e5) {
262 e5.printStackTrace();
264 assertEquals(500, response.getStatus());
267 response = packageResource.delPackage("");
268 } catch(Exception e) {
273 response = PackageWrapper.getInstance().delPackage(null);
274 } catch(Exception e5) {
275 e5.printStackTrace();
279 response = packageResource.delPackage(null);
280 } catch(Exception e) {
283 assertEquals(500, response.getStatus());
287 public void testDelPackageSuccess() {
288 new MockUp<MarketplaceDaoImpl>() {
291 public List<PackageData> getAllPackageData() {
292 packageDataList = new ArrayList<PackageData>();
293 packageData = new PackageData();
294 packageData.setCsarId(csarID);
295 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
296 packageData.setName("clearwater_ns.csar");
297 packageData.setSize("59,854 bytes");
298 packageData.setVersion("v1.0");
299 packageData.setProvider("Huawei");
300 packageDataList.add(packageData);
301 return packageDataList;
305 new MockUp<PackageManager>() {
308 public void deletePackage(String csarId) {
313 new MockUp<HttpFileManagerImpl>() {
316 public boolean delete(String srcPath) {
321 new MockUp<MarketplaceDaoImpl>() {
324 public List<PackageData> getPackageData(String csarId) {
325 packageDataList = new ArrayList<PackageData>();
326 packageData = new PackageData();
327 packageData.setCsarId(csarID);
328 packageData.setDownloadUri("src\\test\\resources\\");
329 packageData.setName("clearwater_ns.csar");
330 packageData.setSize("59,854 bytes");
331 packageData.setVersion("v1.0");
332 packageData.setProvider("Huawei");
333 packageDataList.add(packageData);
334 return packageDataList;
339 response = PackageWrapper.getInstance().delPackage("csarid");
340 } catch(Exception e) {
344 assertNotNull(response);
345 assertEquals(200, response.getStatus());
348 response = packageResource.delPackage("csarid");
349 } catch(Exception e) {
355 public void testGetCsarFileUri() {
356 new MockUp<MarketplaceDaoImpl>() {
359 public List<PackageData> getPackageData(String csarId) {
360 packageDataList = new ArrayList<PackageData>();
361 packageData = new PackageData();
362 packageData.setCsarId(csarId);
363 packageData.setDownloadUri("src\\test\\resources\\");
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;
373 new MockUp<PackageWrapper>() {
376 Response downloadCsarPackagesById(String csarId) throws FileNotFoundException {
378 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
379 InputStream fis = new BufferedInputStream(new FileInputStream(fileName));
380 return Response.ok(fis).header("Content-Disposition", "attachment; filename=\"" + fileName + "\"")
384 response = PackageWrapper.getInstance().getCsarFileUri("csarId");
385 assertEquals(200, response.getStatus());
388 response = packageResource.getCsarFileUri("csarId");
389 } catch(Exception e) {
395 public void testupdateDwonloadCountSuccess() throws Exception {
396 final List<PackageData> pkgList = new ArrayList<PackageData>();
397 PackageData pkgDataObj = new PackageData();
398 pkgDataObj.setDownloadCount(1);
399 pkgList.add(pkgDataObj);
400 new MockUp<MarketplaceDaoImpl>() {
403 public List<PackageData> getPackageData(String csarId) {
405 // return new ArrayList<PackageData>();
408 new MockUp<MarketplaceDaoImpl>() {
411 public void updatePackageData(PackageData oPackageData) {
417 response = PackageWrapper.getInstance().updateDwonloadCount(csarID);
418 } catch(Exception e5) {
419 e5.printStackTrace();
421 assertNotNull(response);
422 assertEquals(200, response.getStatus());
425 response = packageResource.updateDwonloadCount(csarID);
426 } catch(Exception e) {
432 public void testReUploadPackage() {
433 new MockUp<MarketplaceDaoImpl>() {
436 public List<PackageData> getPackageData(String csarId) {
437 List<PackageData> packageDataList = new ArrayList<PackageData>();
438 PackageData packageData = new PackageData();
439 packageData = new PackageData();
440 packageData.setCsarId(csarId);
441 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
442 packageData.setName("clearwater_ns.csar");
443 packageData.setSize("59,854 bytes");
444 packageData.setVersion("v1.0");
445 packageData.setProvider("Huawei");
446 packageDataList.add(packageData);
447 return packageDataList;
451 new MockUp<HttpFileManagerImpl>() {
454 public boolean delete(String srcPath) {
459 new MockUp<MarketplaceDaoImpl>() {
462 public void deletePackageData(String csarId) {
467 new MockUp<ToolUtil>() {
470 public String getTempDir(String dirName, String fileName) {
472 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
477 new MockUp<HttpFileManagerImpl>() {
480 public boolean upload(String srcPath, String dstPath) {
485 new MockUp<PackageWrapperUtil>() {
488 public PackageData getPackageData(PackageMeta meta) {
489 PackageData packageData = new PackageData();
490 packageData.setCreateTime("25-3-2017 15:26:00");
491 packageData.setDeletionPending("deletion");
492 packageData.setDownloadUri("downloaduri");
493 packageData.setFormat("format");
494 packageData.setModifyTime("time");
495 packageData.setName("name");
496 packageData.setCsarId("csarid");
497 packageData.setProvider("huawei");
498 String fileSize = "10 mb";
499 packageData.setSize(fileSize);
500 packageData.setType("type");
501 packageData.setVersion("v2.0");
502 packageData.setDetails("details");
503 packageData.setShortDesc("description");
504 packageData.setRemarks("remarks");
509 new MockUp<PackageHandler>() {
512 public PackageData create(PackageData packageData) {
513 PackageData packageDataObj = new PackageData();
514 packageDataObj.setCreateTime("25-3-2017 15:26:00");
515 packageDataObj.setDeletionPending("deletion");
516 packageDataObj.setDownloadUri("downloaduri");
517 packageDataObj.setFormat("format");
518 packageDataObj.setModifyTime("modifytime");
519 packageDataObj.setName("name");
520 packageDataObj.setCsarId("csarid");
521 packageDataObj.setProvider("huawei");
522 String fileSize = "10 mb";
523 packageDataObj.setSize(fileSize);
524 packageDataObj.setType("type");
525 packageDataObj.setVersion("v2.0");
526 packageDataObj.setDetails("details");
527 packageDataObj.setShortDesc("description");
528 packageDataObj.setRemarks("remarks");
529 return packageDataObj;
534 response = PackageWrapper.getInstance().reUploadPackage(null, null, null, null, null);
535 } catch(Exception e) {
538 assertEquals(417, response.getStatus());
541 response = packageResource.reUploadPackage(null, null, null, null, null);
542 } catch(Exception e) {
547 fileDetail = FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
548 String fileName = "src" + File.separator + "test" + File.separator + "resources" + File.separator
549 + "clearwater_ns.csar";
550 inputStream = new FileInputStream(fileName);
551 response = PackageWrapper.getInstance().reUploadPackage("csarID", inputStream, fileDetail, null, null);
552 // assertEquals( 200, response.getStatus() );
553 } catch(Exception e) {
558 response = packageResource.reUploadPackage("csarID", inputStream, null, null, null);
559 } catch(Exception e) {
565 public void testgetOperResultByOperTypeIdFailure() throws Exception {
566 final ResultKey resultKeyObj = new ResultKey();
568 new MockUp<FunctionTestHook>() {
571 ResultKey getFuncTestResultKey(PackageData packageData) {
572 resultKeyObj.setKey("key");
576 new MockUp<FunctionTestExceutor>() {
579 String getTestResultsByFuncTestKey(String key) {
584 new MockUp<MarketplaceDaoImpl>() {
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\\learwater_ns.csar");
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;
603 response = PackageWrapper.getInstance().getOperResultByOperTypeId(csarID, operTypeId);
604 } catch(Exception e5) {
605 e5.printStackTrace();
607 assertEquals(500, response.getStatus());
610 response = PackageWrapper.getInstance().getOperResultByOperTypeId("", "");
611 } catch(Exception e) {
614 assertEquals(400, response.getStatus());
617 response = packageResource.getOnBoardingResult(null, null, null);
618 } catch(Exception e) {
624 public void testgetOperResultByOperTypeIdSuccess() {
625 new MockUp<MarketplaceDaoImpl>() {
628 public List<PackageData> getPackageData(String csarId) {
629 List<PackageData> packageDataList = new ArrayList<PackageData>();
630 PackageData packageData = new PackageData();
631 packageData = new PackageData();
632 packageData.setCsarId(csarId);
633 packageData.setDownloadUri("src\\test\\resources\\learwater_ns.csar");
634 packageData.setName("clearwater_ns.csar");
635 packageData.setSize("59,854 bytes");
636 packageData.setVersion("v1.0");
637 packageData.setProvider("Airtel");
638 packageDataList.add(packageData);
639 return packageDataList;
643 new MockUp<ToolUtil>() {
646 public String getTempDir(String dirName, String fileName) {
648 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
652 new MockUp<PackageWrapper>() {
655 Response downloadCsarPackagesById(String csarId) throws FileNotFoundException {
657 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
658 InputStream fis = new BufferedInputStream(new FileInputStream(fileName));
659 return Response.ok(fis).header("Content-Disposition", "attachment; filename=\"" + fileName + "\"")
664 new MockUp<FunctionTestHook>() {
667 ResultKey getFuncTestResultKey(PackageData packageData) {
668 ResultKey resultKey = new ResultKey();
669 resultKey.setKey("key");
673 new MockUp<FunctionTestExceutor>() {
676 String getTestResultsByFuncTestKey(String key) {
682 response = PackageWrapper.getInstance().getOperResultByOperTypeId(csarID, operTypeId);
683 assertNotNull(response);
684 } catch(Exception e) {
693 public void testUploadPackage() throws Exception {
694 InputStream ins = null;
695 Response result = null;
697 * Response result1 = null; Response result2 = null; PackageData
698 * packageData = new PackageData(); packageData = getPackageData();
701 new MockUp<MarketplaceDaoImpl>() {
704 public List<PackageData> getPackageData(String csarId) {
705 List<PackageData> packageDataList = new ArrayList<PackageData>();
706 PackageData packageData = new PackageData();
707 packageData = new PackageData();
708 packageData.setCsarId(csarId);
709 packageData.setDownloadUri("src\\test\\resources\\");
710 packageData.setName("clearwater_ns.csar");
711 packageData.setSize("59,854 bytes");
712 packageData.setVersion("v1.0");
713 packageData.setProvider("Airtel");
714 packageDataList.add(packageData);
715 return packageDataList;
719 public List<PackageData> getPackageDataSubset(Map<String, String> paramsMap) {
720 List<PackageData> packageDataList = new ArrayList<PackageData>();
722 return packageDataList;
726 new MockUp<HttpFileManagerImpl>() {
729 public boolean delete(String srcPath) {
734 new MockUp<MarketplaceDaoImpl>() {
737 public void deletePackageData(String csarId) {
742 new MockUp<ToolUtil>() {
745 public String getTempDir(String dirName, String fileName) {
747 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
752 new MockUp<HttpFileManagerImpl>() {
755 public boolean upload(String srcPath, String dstPath) {
760 new MockUp<PackageHandler>() {
763 public PackageData create(PackageData packageData) {
764 PackageData packageDataObj = new PackageData();
765 packageDataObj.setCreateTime("25-3-2017 15:26:00");
766 packageDataObj.setDeletionPending("deletion");
767 packageDataObj.setDownloadUri("downloaduri");
768 packageDataObj.setFormat("format");
769 packageDataObj.setModifyTime("modifytime");
770 packageDataObj.setName("name");
771 packageDataObj.setCsarId("csarid");
772 packageDataObj.setProvider("huawei");
773 String fileSize = "10 mb";
774 packageDataObj.setSize(fileSize);
775 packageDataObj.setType("type");
776 packageDataObj.setVersion("v2.0");
777 packageDataObj.setDetails("details");
778 packageDataObj.setShortDesc("description");
779 packageDataObj.setRemarks("remarks");
780 return packageDataObj;
785 new MockUp<OpenRemoteCli>() {
788 public Result run(String host, int port, String reqId, List <String> args) {
789 Result result = Result.newBuilder().
791 setOutput("{\"error\":\"SUCCESS\"}").
798 FormDataContentDisposition fileDetail =
799 FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
802 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "clearwater_ns.csar";
803 File packageFile = new File(filenama);
806 ins = new FileInputStream(packageFile);
807 } catch(FileNotFoundException e2) {
808 e2.printStackTrace();
812 result = PackageWrapper.getInstance().uploadPackage(ins, fileDetail, null, null);
813 // PackageWrapper.getInstance().updateValidateStatus(ins);
814 } catch(Exception e3) {
815 e3.printStackTrace();
819 assertNotNull(result);
820 assertEquals(200, result.getStatus());
823 result = PackageWrapper.getInstance().uploadPackage(null, null, null, null);
824 } catch(Exception e4) {
825 e4.printStackTrace();
828 assertEquals(417, result.getStatus());
831 response = packageResource.uploadPackage(null, null, null, null);
832 } catch(Exception e) {
838 public void testUploadPackageFailedOnVtp() throws Exception {
839 InputStream ins = null;
840 Response result = null;
842 * Response result1 = null; Response result2 = null; PackageData
843 * packageData = new PackageData(); packageData = getPackageData();
846 new MockUp<MarketplaceDaoImpl>() {
849 public List<PackageData> getPackageData(String csarId) {
850 List<PackageData> packageDataList = new ArrayList<PackageData>();
851 PackageData packageData = new PackageData();
852 packageData = new PackageData();
853 packageData.setCsarId(csarId);
854 packageData.setDownloadUri("src\\test\\resources\\");
855 packageData.setName("clearwater_ns.csar");
856 packageData.setSize("59,854 bytes");
857 packageData.setVersion("v1.0");
858 packageData.setProvider("Airtel");
859 packageDataList.add(packageData);
860 return packageDataList;
864 public List<PackageData> getPackageDataSubset(Map<String, String> paramsMap) {
865 List<PackageData> packageDataList = new ArrayList<PackageData>();
867 return packageDataList;
871 new MockUp<HttpFileManagerImpl>() {
874 public boolean delete(String srcPath) {
879 new MockUp<MarketplaceDaoImpl>() {
882 public void deletePackageData(String csarId) {
887 new MockUp<ToolUtil>() {
890 public String getTempDir(String dirName, String fileName) {
892 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
897 new MockUp<HttpFileManagerImpl>() {
900 public boolean upload(String srcPath, String dstPath) {
905 new MockUp<PackageWrapperUtil>() {
908 public PackageData getPackageData(PackageMeta meta) {
909 PackageData packageData = new PackageData();
910 packageData.setCreateTime("25-3-2017 15:26:00");
911 packageData.setDeletionPending("deletion");
912 packageData.setDownloadUri("downloaduri");
913 packageData.setFormat("format");
914 packageData.setModifyTime("time");
915 packageData.setName("name");
916 packageData.setCsarId("csarid");
917 packageData.setProvider("huawei");
918 String fileSize = "10 mb";
919 packageData.setSize(fileSize);
920 packageData.setType("type");
921 packageData.setVersion("v2.0");
922 packageData.setDetails("details");
923 packageData.setShortDesc("description");
924 packageData.setRemarks("remarks");
929 new MockUp<PackageHandler>() {
932 public PackageData create(PackageData packageData) {
933 PackageData packageDataObj = new PackageData();
934 packageDataObj.setCreateTime("25-3-2017 15:26:00");
935 packageDataObj.setDeletionPending("deletion");
936 packageDataObj.setDownloadUri("downloaduri");
937 packageDataObj.setFormat("format");
938 packageDataObj.setModifyTime("modifytime");
939 packageDataObj.setName("name");
940 packageDataObj.setCsarId("csarid");
941 packageDataObj.setProvider("huawei");
942 String fileSize = "10 mb";
943 packageDataObj.setSize(fileSize);
944 packageDataObj.setType("type");
945 packageDataObj.setVersion("v2.0");
946 packageDataObj.setDetails("details");
947 packageDataObj.setShortDesc("description");
948 packageDataObj.setRemarks("remarks");
949 return packageDataObj;
954 new MockUp<OpenRemoteCli>() {
957 public Result run(String host, int port, String reqId, List <String> args) throws Exception {
958 throw new Exception();
962 FormDataContentDisposition fileDetail =
963 FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
966 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "clearwater_ns.csar";
967 File packageFile = new File(filenama);
970 ins = new FileInputStream(packageFile);
971 } catch(FileNotFoundException e2) {
972 e2.printStackTrace();
976 result = PackageWrapper.getInstance().uploadPackage(ins, fileDetail, null, null);
977 // PackageWrapper.getInstance().updateValidateStatus(ins);
978 } catch(Exception e3) {
979 e3.printStackTrace();
983 assertEquals(200, result.getStatus());
987 public void testGetOnBoardingStepsSuccess() {
988 new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
991 String getAppDeployPath() {
992 String path = "src" + File.separator + "main" + File.separator + "resources";
998 response = PackageWrapper.getInstance().getOnBoardingSteps();
999 } catch(Exception e) {
1000 e.printStackTrace();
1003 assertNotNull(response);
1006 response = packageResource.getOnBoardingSteps();
1007 } catch(Exception e) {
1008 e.printStackTrace();
1013 public void testGetOOprStatusSuccess() {
1015 response = packageResource.getOperStatus(null, null);
1016 assertNotNull(response);
1017 } catch(Exception e) {
1018 e.printStackTrace();
1023 public void testUpdateStatusSuccess(@Mocked HttpServletRequest request) {
1024 new MockUp<ServletRequest>() {
1027 public ServletInputStream getInputStream() throws IOException {
1028 ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(
1029 "{\"csar\"=\"VoLTE.csar\"}".getBytes());
1031 return new ServletInputStream(){
1032 public int read() throws IOException {
1033 return byteArrayInputStream.read();
1037 public boolean isFinished() {
1042 public boolean isReady() {
1047 public void setReadListener(ReadListener arg0) {
1054 response = packageResource.updateValidateStatus(request, null);
1055 assertNotNull(response);
1056 } catch(Exception e) {
1057 e.printStackTrace();
1062 public void testGetOnBoardingStepsFailure() {
1063 new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
1066 String getAppDeployPath() {
1067 String path = "src" + File.separator + "main" + File.separator + "resources" + File.separator
1074 response = PackageWrapper.getInstance().getOnBoardingSteps();
1075 } catch(Exception e) {
1076 e.printStackTrace();
1078 assertEquals(500, response.getStatus());
1082 public void testRestGetClient() {
1083 new MockUp<RestfulClient>() {
1085 RestResponse get(String ip, int port, String url) {
1086 RestResponse restResponse = new RestResponse();
1087 restResponse.setStatusCode(200);
1088 restResponse.setResult("success");
1089 return restResponse;
1092 String dirPath = "etc//conf//restclient.json";
1093 FileUtil.createDirectory(dirPath);
1094 MsbServer msbServer = new MsbServer();
1095 msbServer.setHost("localhost");
1096 msbServer.setPort("8080");
1097 Map<String, MsbServer> map = new HashMap<>();
1098 map.put("defaultServer", msbServer);
1099 FileUtil.writeJsonDatatoFile(dirPath, map);
1100 assertNotNull(FunctionTestExceutor.getTestResultsByFuncTestKey("GET"));
1101 FileUtil.deleteDirectory("etc");
1106 public void testRestPostClient() {
1108 OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
1109 onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
1110 onBoradFuncTestReq.setPackageName("clearwater_ns.csar");
1111 String result = FunctionTestExceutor.execFunctionTest(onBoradFuncTestReq);
1113 // assertEquals(200,result);
1118 public void testRestDeleteClient() {
1119 RestResponse rsp = RestfulClient.delete("127.0.0.1", 8987, "TestURL");
1121 if(rsp.getStatusCode() != null)
1122 assertEquals(200, rsp.getStatusCode().intValue());
1127 public void testExec() {
1129 new MockUp<FunctionTestHook>() {
1132 String getResultStorePath() {
1133 return "src/test/resources";
1137 FunctionTestHook testHookObj = new FunctionTestHook();
1138 OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
1139 onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
1140 int res = testHookObj.exec(onBoradFuncTestReq);
1142 assertEquals(res, -1);
1147 public void testwriteJsonDatatoFile() {
1149 String filePath = "src//test//resources//functionTest.json";
1150 OnBoardingResult onBoardResultObj = new OnBoardingResult();
1151 onBoardResultObj.setCsarId("csrId");
1152 onBoardResultObj.setOperStatus(1);
1153 boolean res = FileUtil.writeJsonDatatoFile(filePath, onBoardResultObj);
1155 String filePath1 = "src//test//resources";
1156 res = FileUtil.writeJsonDatatoFile(filePath1, onBoardResultObj);
1163 public void testCreateDirectory() {
1164 String dirPath = "src//test//resources//TestDirectory";
1165 boolean res = FileUtil.createDirectory(dirPath);
1171 public void testDeleteDirectory() {
1172 String dirPath = "src//test//resources//TestDirectory";
1173 boolean res = FileUtil.deleteFile(dirPath);
1175 String dirPath1 = "src//test//resources11";
1176 res = FileUtil.deleteFile(dirPath1);
1183 public void testGenerateId() {
1184 String id = MarketplaceDbUtil.generateId();
1189 public void testisNotEmpty() {
1190 boolean res = MarketplaceDbUtil.isNotEmpty(null);
1192 res = MarketplaceDbUtil.isNotEmpty("test");
1197 public void testobjectToString() {
1198 Object obj = "testexa";
1199 String res = MarketplaceDbUtil.objectToString(obj);
1201 res = MarketplaceDbUtil.objectToString(null);
1206 public void testisEmptyString() {
1207 boolean res = ToolUtil.isEmptyString(null);
1209 res = ToolUtil.isEmptyString("huawei");
1214 public void testisTrimedEmptyString() {
1215 boolean res = ToolUtil.isTrimedEmptyString(null);
1217 res = ToolUtil.isTrimedEmptyString(" huawei ");
1222 public void testisTrimedEmptyArray() {
1223 boolean res = ToolUtil.isTrimedEmptyArray(null);
1225 String[] String1={"hua","wei"};
1226 res = ToolUtil.isTrimedEmptyArray(String1);
1231 public void testisEmptyCollection() {
1232 ArrayList arr1 = new ArrayList();
1233 boolean res = ToolUtil.isEmptyCollection(arr1);
1236 res = ToolUtil.isEmptyCollection(arr1);
1241 public void testisYamlFile() {
1242 File fileObj = new File("test.yaml");
1243 boolean res = ToolUtil.isYamlFile(fileObj);
1248 public void testgenerateID() {
1249 String id = ToolUtil.generateId();
1254 public void testgetFormatFileSize() {
1255 long fileSize = 1000*1000*1000*100;
1256 String res = ToolUtil.getFormatFileSize(fileSize);
1258 res = ToolUtil.getFormatFileSize(1000000000);
1260 res = ToolUtil.getFormatFileSize(200000);
1262 res = ToolUtil.getFormatFileSize(100000);
1264 res = ToolUtil.getFormatFileSize(100);
1269 public void testObjectToString() {
1270 Object obj = "testexa";
1271 String res = ToolUtil.objectToString(obj);
1273 res = ToolUtil.objectToString(null);
1278 public void testprocessFileName() {
1279 String res = ToolUtil.processFileName("abc.txt");
1281 res = ToolUtil.processFileName("abc.zip");
1283 res = ToolUtil.processFileName("abc");
1288 public void testremoveCsarSuffix() {
1289 String res = ToolUtil.removeCsarSuffix("abc.csar");
1290 assertEquals("abc", res);
1294 public void testformatCsar() {
1295 String res = ToolUtil.formatCsar("abc");
1296 assertEquals("abc.csar", res);
1300 public void testformatFileSize() {
1301 String res = ToolUtil.formatFileSize(10000.0, 10);
1302 String expected = new DecimalFormat("#0.00").format(1000) + "M";// may
1310 assertEquals(expected, res);
1314 public void testgetFileSize() {
1315 File fileObj = new File("example.txt");
1316 String res = ToolUtil.getFileSize(fileObj, 10);
1321 public void testgetCatalogueCsarPath() {
1322 String res = ToolUtil.getCatalogueCsarPath();
1323 assertEquals(File.separator + "csar", res);
1327 public void testgetCatalogueImagePath() {
1328 String res = ToolUtil.getCatalogueImagePath();
1329 assertEquals(File.separator + "image", res);
1333 public void testdeleteFile() {
1334 boolean res = ToolUtil.deleteFile("src//test//resources", "test1.txt");
1339 public void teststoreChunkFileInLocal() {
1341 inputStream = new FileInputStream("src//test//resources//Test.txt");
1342 String res = ToolUtil.storeChunkFileInLocal("src//test//resources", "TestOut.txt", inputStream);
1343 File file = new File(res);
1344 String fileName = file.getName();
1345 assertEquals("TestOut.txt", fileName);
1347 } catch(Exception ex) {
1348 ex.printStackTrace();
1353 public void testToolUtildeleteFile() {
1355 boolean res = ToolUtil.deleteFile("src/test/resources", "TestOut.txt");
1361 public void testUnzip() {
1363 List<String> listObj = new ArrayList<String>();
1365 listObj = FileUtil.unzip("src/test/resources/temp.zip", "src/test/resources/testfolder");
1366 } catch(Exception ex) {
1367 ex.printStackTrace();
1369 assertNotNull(listObj);
1373 public void testreadJsonDatafFromFile() {
1376 FileUtil.readJsonDatafFromFile("src/main/resources/generalconfig/OnBoardingSteps.json", Object.class);
1381 public void testvalidateFile() {
1382 File fileData= null;
1383 boolean res = FileUtil.validateFile(fileData);
1388 public void testGetPkgSize() {
1389 long pkgSize = PackageWrapperUtil.getPacakgeSize("src/test/resources/Test.txt");
1390 assertTrue(pkgSize > 1);
1394 public void testPkgFormat() {
1395 assertNotNull(PackageWrapperUtil.getPackageFormat("xml"));
1396 assertNotNull(PackageWrapperUtil.getPackageFormat("yml"));
1397 assertNull(PackageWrapperUtil.getPackageFormat("pdf"));
1399 MsbDetailsHolder.getMsbDetails();
1401 IMarketplaceDao dao = new MarketplaceDaoImpl();
1403 packageDataList = new ArrayList<PackageData>();
1404 packageData = new PackageData();
1405 packageData.setCsarId("21");
1406 packageData.setDownloadUri("src\\test\\resources\\");
1407 packageData.setName("clearwater_ns.csar");
1408 packageData.setSize("59,854 bytes");
1409 packageData.setVersion("v1.0");
1410 packageData.setProvider("Huawei");
1411 packageDataList.add(packageData);
1413 dao.savePackageData(packageData);
1414 dao.getAllPackageData();
1415 dao.getPackageData("21");
1416 dao.updatePackageData(packageData);
1417 dao.deletePackageData("21");
1419 } catch(Exception e) {
1425 public void testVnfPackageSetter() {
1427 vnfPackageObj.setVnfPackageId("vnfpackageId");
1428 vnfPackageObj.setVnfPackageUrl("vnfPackageUrl");
1429 vnfPackageObj.setVnfd("vnfd");
1430 vnfPackageObj.setVersion("1");
1431 vnfPackageObj.setUsageState(EnumUsageState.NOTINUSE);
1432 vnfPackageObj.setProvider("huawei");
1433 vnfPackageObj.setOperationalState(EnumOperationalState.ENABLED);
1434 vnfPackageObj.setName("vnf");
1435 vnfPackageObj.setDeletionPending("pending");
1437 String res = vnfPackageObj.getVnfPackageId();
1438 assertEquals("vnfpackageId", res);
1439 res = vnfPackageObj.getVnfPackageUrl();
1440 assertEquals("vnfPackageUrl", res);
1441 res = vnfPackageObj.getVnfd();
1442 assertEquals("vnfd", res);
1443 res = vnfPackageObj.getVersion();
1444 assertEquals("1", res);
1445 EnumUsageState state = vnfPackageObj.getUsageState();
1446 assertEquals(EnumUsageState.NOTINUSE, state);
1447 res = vnfPackageObj.getProvider();
1448 assertEquals("huawei", res);
1449 EnumOperationalState operState = vnfPackageObj.getOperationalState();
1450 assertEquals(EnumOperationalState.ENABLED, operState);
1451 res = vnfPackageObj.getName();
1452 assertEquals("vnf", res);
1453 res = vnfPackageObj.getDeletionPending();
1454 assertEquals("pending", res);
1458 public void testCsarPackageSetter() {
1459 csarPackageObj.setCreateTime("04052017");
1460 csarPackageObj.setDeletionPending("pending");
1461 csarPackageObj.setFormat("format");
1462 csarPackageObj.setId("12");
1463 csarPackageObj.setName("csartest");
1464 csarPackageObj.setSize("10");
1465 csarPackageObj.setStatus("done");
1466 csarPackageObj.setType("type");
1467 csarPackageObj.setUrl("//network");
1469 String res = csarPackageObj.getCreateTime();
1470 assertEquals("04052017", res);
1471 res = csarPackageObj.getDeletionPending();
1472 assertEquals("pending", res);
1473 res = csarPackageObj.getFormat();
1474 assertEquals("format", res);
1475 res = csarPackageObj.getId();
1476 assertEquals("12", res);
1477 res = csarPackageObj.getName();
1478 assertEquals("csartest", res);
1479 res = csarPackageObj.getSize();
1480 assertEquals("10", res);
1481 res = csarPackageObj.getStatus();
1482 assertEquals("done", res);
1483 res = csarPackageObj.getType();
1484 assertEquals("type", res);
1485 res = csarPackageObj.getUrl();
1486 assertEquals("//network", res);
1491 public void testPackageBasicInfoSetter() {
1492 pkgBasicInfoObj.setFormat("pdf");
1493 pkgBasicInfoObj.setProvider("huawei");
1494 pkgBasicInfoObj.setType(EnumType.GSAR);
1495 pkgBasicInfoObj.setVersion("1");
1496 String res = pkgBasicInfoObj.getFormat();
1497 assertEquals("pdf", res);
1498 res = pkgBasicInfoObj.getProvider();
1499 assertEquals("huawei", res);
1500 EnumType type = pkgBasicInfoObj.getType();
1501 assertEquals(EnumType.GSAR, type);
1502 res = pkgBasicInfoObj.getVersion();
1503 assertEquals("1", res);
1507 public void testPackageMetaSetter() {
1508 pkgMetaObj.setCreateTime("05042017");
1509 pkgMetaObj.setCsarId("csarid");
1510 pkgMetaObj.setDeletionPending(true);
1511 pkgMetaObj.setDetails("details");
1512 pkgMetaObj.setDownloadCount(10);
1513 pkgMetaObj.setDownloadUri("//network");
1514 pkgMetaObj.setFormat("pdf");
1515 pkgMetaObj.setModifyTime("05042017");
1516 pkgMetaObj.setName("huawei");
1517 pkgMetaObj.setProvider("huawei");
1518 pkgMetaObj.setRemarks("tested");
1519 pkgMetaObj.setReport("done");
1520 pkgMetaObj.setShortDesc("done");
1521 pkgMetaObj.setSize("1000");
1522 pkgMetaObj.setType("type");
1523 pkgMetaObj.setVersion("1");
1525 String res = pkgMetaObj.getCreateTime();
1526 assertEquals("05042017", res);
1527 res = pkgMetaObj.getCsarId();
1528 assertEquals("csarid", res);
1529 res = pkgMetaObj.getDetails();
1530 assertEquals("details", res);
1531 res = pkgMetaObj.getDownloadCount() + "";
1532 assertEquals("10", res);
1533 res = pkgMetaObj.getDownloadUri();
1534 assertEquals("//network", res);
1535 res = pkgMetaObj.getFormat();
1536 assertEquals("pdf", res);
1537 res = pkgMetaObj.getModifyTime();
1538 assertEquals("05042017", res);
1539 res = pkgMetaObj.getName();
1540 assertEquals("huawei", res);
1541 res = pkgMetaObj.getProvider();
1542 assertEquals("huawei", res);
1543 res = pkgMetaObj.getRemarks();
1544 assertEquals("tested", res);
1545 res = pkgMetaObj.getReport();
1546 assertEquals("done", res);
1547 res = pkgMetaObj.getShortDesc();
1548 assertEquals("done", res);
1549 res = pkgMetaObj.getSize();
1550 assertEquals("1000", res);
1551 res = pkgMetaObj.getType();
1552 assertEquals("type", res);
1553 res = pkgMetaObj.getVersion();
1554 assertEquals("1", res);
1558 public void testPackageResponseSetter() {
1559 pkgResponseObj.setReportPath("localpath");
1560 String res = pkgResponseObj.getReportPath();
1561 assertEquals("localpath", res);
1566 public void testCsarFileUriResSetter() {
1567 csarFileUriResObj.setDownloadUri("downloaduri");
1568 csarFileUriResObj.setLocalPath("localpath");
1569 String res = csarFileUriResObj.getDownloadUri();
1570 assertEquals("downloaduri", res);
1571 res = csarFileUriResObj.getLocalPath();
1572 assertEquals("localpath", res);
1576 public void testGetPackageName() {
1577 String packageName = PackageWrapperUtil.getPackageName("ftpUrl/abc");
1578 assertEquals("/abc", packageName);