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 } catch(Exception e) {
692 public void testUploadPackage() throws Exception {
693 InputStream ins = null;
694 Response result = null;
696 * Response result1 = null; Response result2 = null; PackageData
697 * packageData = new PackageData(); packageData = getPackageData();
700 new MockUp<MarketplaceDaoImpl>() {
703 public List<PackageData> getPackageData(String csarId) {
704 List<PackageData> packageDataList = new ArrayList<PackageData>();
705 PackageData packageData = new PackageData();
706 packageData = new PackageData();
707 packageData.setCsarId(csarId);
708 packageData.setDownloadUri("src\\test\\resources\\");
709 packageData.setName("clearwater_ns.csar");
710 packageData.setSize("59,854 bytes");
711 packageData.setVersion("v1.0");
712 packageData.setProvider("Airtel");
713 packageDataList.add(packageData);
714 return packageDataList;
718 public List<PackageData> getPackageDataSubset(Map<String, String> paramsMap) {
719 List<PackageData> packageDataList = new ArrayList<PackageData>();
721 return packageDataList;
725 new MockUp<HttpFileManagerImpl>() {
728 public boolean delete(String srcPath) {
733 new MockUp<MarketplaceDaoImpl>() {
736 public void deletePackageData(String csarId) {
741 new MockUp<ToolUtil>() {
744 public String getTempDir(String dirName, String fileName) {
746 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
751 new MockUp<HttpFileManagerImpl>() {
754 public boolean upload(String srcPath, String dstPath) {
759 new MockUp<PackageHandler>() {
762 public PackageData create(PackageData packageData) {
763 PackageData packageDataObj = new PackageData();
764 packageDataObj.setCreateTime("25-3-2017 15:26:00");
765 packageDataObj.setDeletionPending("deletion");
766 packageDataObj.setDownloadUri("downloaduri");
767 packageDataObj.setFormat("format");
768 packageDataObj.setModifyTime("modifytime");
769 packageDataObj.setName("name");
770 packageDataObj.setCsarId("csarid");
771 packageDataObj.setProvider("huawei");
772 String fileSize = "10 mb";
773 packageDataObj.setSize(fileSize);
774 packageDataObj.setType("type");
775 packageDataObj.setVersion("v2.0");
776 packageDataObj.setDetails("details");
777 packageDataObj.setShortDesc("description");
778 packageDataObj.setRemarks("remarks");
779 return packageDataObj;
784 new MockUp<OpenRemoteCli>() {
787 public Result run(String host, int port, String reqId, List <String> args) {
788 Result result = Result.newBuilder().
790 setOutput("{\"error\":\"SUCCESS\"}").
797 FormDataContentDisposition fileDetail =
798 FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
801 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "clearwater_ns.csar";
802 File packageFile = new File(filenama);
805 ins = new FileInputStream(packageFile);
806 } catch(FileNotFoundException e2) {
807 e2.printStackTrace();
811 result = PackageWrapper.getInstance().uploadPackage(ins, fileDetail, null, null);
812 // PackageWrapper.getInstance().updateValidateStatus(ins);
813 } catch(Exception e3) {
814 e3.printStackTrace();
818 assertNotNull(result);
819 assertEquals(200, result.getStatus());
822 result = PackageWrapper.getInstance().uploadPackage(null, null, null, null);
823 } catch(Exception e4) {
824 e4.printStackTrace();
827 assertEquals(417, result.getStatus());
830 response = packageResource.uploadPackage(null, null, null, null);
831 } catch(Exception e) {
837 public void testUploadPackageFailedOnVtp() throws Exception {
838 InputStream ins = null;
839 Response result = null;
841 * Response result1 = null; Response result2 = null; PackageData
842 * packageData = new PackageData(); packageData = getPackageData();
845 new MockUp<MarketplaceDaoImpl>() {
848 public List<PackageData> getPackageData(String csarId) {
849 List<PackageData> packageDataList = new ArrayList<PackageData>();
850 PackageData packageData = new PackageData();
851 packageData = new PackageData();
852 packageData.setCsarId(csarId);
853 packageData.setDownloadUri("src\\test\\resources\\");
854 packageData.setName("clearwater_ns.csar");
855 packageData.setSize("59,854 bytes");
856 packageData.setVersion("v1.0");
857 packageData.setProvider("Airtel");
858 packageDataList.add(packageData);
859 return packageDataList;
863 public List<PackageData> getPackageDataSubset(Map<String, String> paramsMap) {
864 List<PackageData> packageDataList = new ArrayList<PackageData>();
866 return packageDataList;
870 new MockUp<HttpFileManagerImpl>() {
873 public boolean delete(String srcPath) {
878 new MockUp<MarketplaceDaoImpl>() {
881 public void deletePackageData(String csarId) {
886 new MockUp<ToolUtil>() {
889 public String getTempDir(String dirName, String fileName) {
891 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
896 new MockUp<HttpFileManagerImpl>() {
899 public boolean upload(String srcPath, String dstPath) {
904 new MockUp<PackageWrapperUtil>() {
907 public PackageData getPackageData(PackageMeta meta) {
908 PackageData packageData = new PackageData();
909 packageData.setCreateTime("25-3-2017 15:26:00");
910 packageData.setDeletionPending("deletion");
911 packageData.setDownloadUri("downloaduri");
912 packageData.setFormat("format");
913 packageData.setModifyTime("time");
914 packageData.setName("name");
915 packageData.setCsarId("csarid");
916 packageData.setProvider("huawei");
917 String fileSize = "10 mb";
918 packageData.setSize(fileSize);
919 packageData.setType("type");
920 packageData.setVersion("v2.0");
921 packageData.setDetails("details");
922 packageData.setShortDesc("description");
923 packageData.setRemarks("remarks");
928 new MockUp<PackageHandler>() {
931 public PackageData create(PackageData packageData) {
932 PackageData packageDataObj = new PackageData();
933 packageDataObj.setCreateTime("25-3-2017 15:26:00");
934 packageDataObj.setDeletionPending("deletion");
935 packageDataObj.setDownloadUri("downloaduri");
936 packageDataObj.setFormat("format");
937 packageDataObj.setModifyTime("modifytime");
938 packageDataObj.setName("name");
939 packageDataObj.setCsarId("csarid");
940 packageDataObj.setProvider("huawei");
941 String fileSize = "10 mb";
942 packageDataObj.setSize(fileSize);
943 packageDataObj.setType("type");
944 packageDataObj.setVersion("v2.0");
945 packageDataObj.setDetails("details");
946 packageDataObj.setShortDesc("description");
947 packageDataObj.setRemarks("remarks");
948 return packageDataObj;
953 new MockUp<OpenRemoteCli>() {
956 public Result run(String host, int port, String reqId, List <String> args) throws Exception {
957 throw new Exception();
961 FormDataContentDisposition fileDetail =
962 FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
965 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "clearwater_ns.csar";
966 File packageFile = new File(filenama);
969 ins = new FileInputStream(packageFile);
970 } catch(FileNotFoundException e2) {
971 e2.printStackTrace();
975 result = PackageWrapper.getInstance().uploadPackage(ins, fileDetail, null, null);
976 // PackageWrapper.getInstance().updateValidateStatus(ins);
977 } catch(Exception e3) {
978 e3.printStackTrace();
982 assertEquals(200, result.getStatus());
986 public void testGetOnBoardingStepsSuccess() {
987 new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
990 String getAppDeployPath() {
991 String path = "src" + File.separator + "main" + File.separator + "resources";
997 response = PackageWrapper.getInstance().getOnBoardingSteps();
998 } catch(Exception e) {
1002 assertNotNull(response);
1005 response = packageResource.getOnBoardingSteps();
1006 } catch(Exception e) {
1007 e.printStackTrace();
1012 public void testGetOOprStatusSuccess() {
1014 response = packageResource.getOperStatus(null, null);
1015 } catch(Exception e) {
1016 e.printStackTrace();
1021 public void testUpdateStatusSuccess(@Mocked HttpServletRequest request) {
1022 new MockUp<ServletRequest>() {
1025 public ServletInputStream getInputStream() throws IOException {
1026 ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(
1027 "{\"csar\"=\"VoLTE.csar\"}".getBytes());
1029 return new ServletInputStream(){
1030 public int read() throws IOException {
1031 return byteArrayInputStream.read();
1035 public boolean isFinished() {
1040 public boolean isReady() {
1045 public void setReadListener(ReadListener arg0) {
1052 response = packageResource.updateValidateStatus(request, null);
1053 } catch(Exception e) {
1054 e.printStackTrace();
1059 public void testGetOnBoardingStepsFailure() {
1060 new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
1063 String getAppDeployPath() {
1064 String path = "src" + File.separator + "main" + File.separator + "resources" + File.separator
1071 response = PackageWrapper.getInstance().getOnBoardingSteps();
1072 } catch(Exception e) {
1073 e.printStackTrace();
1075 assertEquals(500, response.getStatus());
1079 public void testRestGetClient() {
1080 new MockUp<RestfulClient>() {
1082 RestResponse get(String ip, int port, String url) {
1083 RestResponse restResponse = new RestResponse();
1084 restResponse.setStatusCode(200);
1085 restResponse.setResult("success");
1086 return restResponse;
1089 String dirPath = "etc//conf//restclient.json";
1090 FileUtil.createDirectory(dirPath);
1091 MsbServer msbServer = new MsbServer();
1092 msbServer.setHost("localhost");
1093 msbServer.setPort("8080");
1094 Map<String, MsbServer> map = new HashMap<>();
1095 map.put("defaultServer", msbServer);
1096 FileUtil.writeJsonDatatoFile(dirPath, map);
1097 assertNotNull(FunctionTestExceutor.getTestResultsByFuncTestKey("GET"));
1098 FileUtil.deleteDirectory("etc");
1103 public void testRestPostClient() {
1105 OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
1106 onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
1107 onBoradFuncTestReq.setPackageName("clearwater_ns.csar");
1108 String result = FunctionTestExceutor.execFunctionTest(onBoradFuncTestReq);
1110 // assertEquals(200,result);
1115 public void testRestDeleteClient() {
1116 RestResponse rsp = RestfulClient.delete("127.0.0.1", 8987, "TestURL");
1118 if(rsp.getStatusCode() != null)
1119 assertEquals(200, rsp.getStatusCode().intValue());
1124 public void testExec() {
1126 new MockUp<FunctionTestHook>() {
1129 String getResultStorePath() {
1130 return "src/test/resources";
1134 FunctionTestHook testHookObj = new FunctionTestHook();
1135 OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
1136 onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
1137 int res = testHookObj.exec(onBoradFuncTestReq);
1139 assertEquals(res, -1);
1144 public void testwriteJsonDatatoFile() {
1146 String filePath = "src//test//resources//functionTest.json";
1147 OnBoardingResult onBoardResultObj = new OnBoardingResult();
1148 onBoardResultObj.setCsarId("csrId");
1149 onBoardResultObj.setOperStatus(1);
1150 boolean res = FileUtil.writeJsonDatatoFile(filePath, onBoardResultObj);
1152 String filePath1 = "src//test//resources";
1153 res = FileUtil.writeJsonDatatoFile(filePath1, onBoardResultObj);
1160 public void testCreateDirectory() {
1161 String dirPath = "src//test//resources//TestDirectory";
1162 boolean res = FileUtil.createDirectory(dirPath);
1168 public void testDeleteDirectory() {
1169 String dirPath = "src//test//resources//TestDirectory";
1170 boolean res = FileUtil.deleteFile(dirPath);
1172 String dirPath1 = "src//test//resources11";
1173 res = FileUtil.deleteFile(dirPath1);
1180 public void testGenerateId() {
1181 String id = MarketplaceDbUtil.generateId();
1186 public void testisNotEmpty() {
1187 boolean res = MarketplaceDbUtil.isNotEmpty(null);
1189 res = MarketplaceDbUtil.isNotEmpty("test");
1194 public void testobjectToString() {
1195 Object obj = "testexa";
1196 String res = MarketplaceDbUtil.objectToString(obj);
1198 res = MarketplaceDbUtil.objectToString(null);
1203 public void testisEmptyString() {
1204 boolean res = ToolUtil.isEmptyString(null);
1206 res = ToolUtil.isEmptyString("huawei");
1211 public void testisTrimedEmptyString() {
1212 boolean res = ToolUtil.isTrimedEmptyString(null);
1214 res = ToolUtil.isTrimedEmptyString(" huawei ");
1219 public void testisTrimedEmptyArray() {
1220 boolean res = ToolUtil.isTrimedEmptyArray(null);
1222 String[] String1={"hua","wei"};
1223 res = ToolUtil.isTrimedEmptyArray(String1);
1228 public void testisEmptyCollection() {
1229 ArrayList arr1 = new ArrayList();
1230 boolean res = ToolUtil.isEmptyCollection(arr1);
1233 res = ToolUtil.isEmptyCollection(arr1);
1238 public void testisYamlFile() {
1239 File fileObj = new File("test.yaml");
1240 boolean res = ToolUtil.isYamlFile(fileObj);
1245 public void testgenerateID() {
1246 String id = ToolUtil.generateId();
1251 public void testgetFormatFileSize() {
1252 long fileSize = 1000*1000*1000*100;
1253 String res = ToolUtil.getFormatFileSize(fileSize);
1255 res = ToolUtil.getFormatFileSize(1000000000);
1257 res = ToolUtil.getFormatFileSize(200000);
1259 res = ToolUtil.getFormatFileSize(100000);
1261 res = ToolUtil.getFormatFileSize(100);
1266 public void testObjectToString() {
1267 Object obj = "testexa";
1268 String res = ToolUtil.objectToString(obj);
1270 res = ToolUtil.objectToString(null);
1275 public void testprocessFileName() {
1276 String res = ToolUtil.processFileName("abc.txt");
1278 res = ToolUtil.processFileName("abc.zip");
1280 res = ToolUtil.processFileName("abc");
1285 public void testremoveCsarSuffix() {
1286 String res = ToolUtil.removeCsarSuffix("abc.csar");
1287 assertEquals("abc", res);
1291 public void testformatCsar() {
1292 String res = ToolUtil.formatCsar("abc");
1293 assertEquals("abc.csar", res);
1297 public void testformatFileSize() {
1298 String res = ToolUtil.formatFileSize(10000.0, 10);
1299 String expected = new DecimalFormat("#0.00").format(1000) + "M";// may
1307 assertEquals(expected, res);
1311 public void testgetFileSize() {
1312 File fileObj = new File("example.txt");
1313 String res = ToolUtil.getFileSize(fileObj, 10);
1318 public void testgetCatalogueCsarPath() {
1319 String res = ToolUtil.getCatalogueCsarPath();
1320 assertEquals(File.separator + "csar", res);
1324 public void testgetCatalogueImagePath() {
1325 String res = ToolUtil.getCatalogueImagePath();
1326 assertEquals(File.separator + "image", res);
1330 public void testdeleteFile() {
1331 boolean res = ToolUtil.deleteFile("src//test//resources", "test1.txt");
1336 public void teststoreChunkFileInLocal() {
1338 inputStream = new FileInputStream("src//test//resources//Test.txt");
1339 String res = ToolUtil.storeChunkFileInLocal("src//test//resources", "TestOut.txt", inputStream);
1340 File file = new File(res);
1341 String fileName = file.getName();
1342 assertEquals("TestOut.txt", fileName);
1344 } catch(Exception ex) {
1345 ex.printStackTrace();
1350 public void testToolUtildeleteFile() {
1352 boolean res = ToolUtil.deleteFile("src/test/resources", "TestOut.txt");
1358 public void testUnzip() {
1360 List<String> listObj = new ArrayList<String>();
1362 listObj = FileUtil.unzip("src/test/resources/temp.zip", "src/test/resources/testfolder");
1363 } catch(Exception ex) {
1364 ex.printStackTrace();
1366 assertNotNull(listObj);
1370 public void testreadJsonDatafFromFile() {
1373 FileUtil.readJsonDatafFromFile("src/main/resources/generalconfig/OnBoardingSteps.json", Object.class);
1378 public void testvalidateFile() {
1379 File fileData= null;
1380 boolean res = FileUtil.validateFile(fileData);
1385 public void testGetPkgSize() {
1386 long pkgSize = PackageWrapperUtil.getPacakgeSize("src/test/resources/Test.txt");
1387 assertTrue(pkgSize > 1);
1391 public void testPkgFormat() {
1392 assertNotNull(PackageWrapperUtil.getPackageFormat("xml"));
1393 assertNotNull(PackageWrapperUtil.getPackageFormat("yml"));
1394 assertNull(PackageWrapperUtil.getPackageFormat("pdf"));
1396 MsbDetailsHolder.getMsbDetails();
1398 IMarketplaceDao dao = new MarketplaceDaoImpl();
1400 packageDataList = new ArrayList<PackageData>();
1401 packageData = new PackageData();
1402 packageData.setCsarId("21");
1403 packageData.setDownloadUri("src\\test\\resources\\");
1404 packageData.setName("clearwater_ns.csar");
1405 packageData.setSize("59,854 bytes");
1406 packageData.setVersion("v1.0");
1407 packageData.setProvider("Huawei");
1408 packageDataList.add(packageData);
1410 dao.savePackageData(packageData);
1411 dao.getAllPackageData();
1412 dao.getPackageData("21");
1413 dao.updatePackageData(packageData);
1414 dao.deletePackageData("21");
1416 } catch(Exception e) {
1422 public void testVnfPackageSetter() {
1424 vnfPackageObj.setVnfPackageId("vnfpackageId");
1425 vnfPackageObj.setVnfPackageUrl("vnfPackageUrl");
1426 vnfPackageObj.setVnfd("vnfd");
1427 vnfPackageObj.setVersion("1");
1428 vnfPackageObj.setUsageState(EnumUsageState.NOTINUSE);
1429 vnfPackageObj.setProvider("huawei");
1430 vnfPackageObj.setOperationalState(EnumOperationalState.ENABLED);
1431 vnfPackageObj.setName("vnf");
1432 vnfPackageObj.setDeletionPending("pending");
1434 String res = vnfPackageObj.getVnfPackageId();
1435 assertEquals("vnfpackageId", res);
1436 res = vnfPackageObj.getVnfPackageUrl();
1437 assertEquals("vnfPackageUrl", res);
1438 res = vnfPackageObj.getVnfd();
1439 assertEquals("vnfd", res);
1440 res = vnfPackageObj.getVersion();
1441 assertEquals("1", res);
1442 EnumUsageState state = vnfPackageObj.getUsageState();
1443 assertEquals(EnumUsageState.NOTINUSE, state);
1444 res = vnfPackageObj.getProvider();
1445 assertEquals("huawei", res);
1446 EnumOperationalState operState = vnfPackageObj.getOperationalState();
1447 assertEquals(EnumOperationalState.ENABLED, operState);
1448 res = vnfPackageObj.getName();
1449 assertEquals("vnf", res);
1450 res = vnfPackageObj.getDeletionPending();
1451 assertEquals("pending", res);
1455 public void testCsarPackageSetter() {
1456 csarPackageObj.setCreateTime("04052017");
1457 csarPackageObj.setDeletionPending("pending");
1458 csarPackageObj.setFormat("format");
1459 csarPackageObj.setId("12");
1460 csarPackageObj.setName("csartest");
1461 csarPackageObj.setSize("10");
1462 csarPackageObj.setStatus("done");
1463 csarPackageObj.setType("type");
1464 csarPackageObj.setUrl("//network");
1466 String res = csarPackageObj.getCreateTime();
1467 assertEquals("04052017", res);
1468 res = csarPackageObj.getDeletionPending();
1469 assertEquals("pending", res);
1470 res = csarPackageObj.getFormat();
1471 assertEquals("format", res);
1472 res = csarPackageObj.getId();
1473 assertEquals("12", res);
1474 res = csarPackageObj.getName();
1475 assertEquals("csartest", res);
1476 res = csarPackageObj.getSize();
1477 assertEquals("10", res);
1478 res = csarPackageObj.getStatus();
1479 assertEquals("done", res);
1480 res = csarPackageObj.getType();
1481 assertEquals("type", res);
1482 res = csarPackageObj.getUrl();
1483 assertEquals("//network", res);
1488 public void testPackageBasicInfoSetter() {
1489 pkgBasicInfoObj.setFormat("pdf");
1490 pkgBasicInfoObj.setProvider("huawei");
1491 pkgBasicInfoObj.setType(EnumType.GSAR);
1492 pkgBasicInfoObj.setVersion("1");
1493 String res = pkgBasicInfoObj.getFormat();
1494 assertEquals("pdf", res);
1495 res = pkgBasicInfoObj.getProvider();
1496 assertEquals("huawei", res);
1497 EnumType type = pkgBasicInfoObj.getType();
1498 assertEquals(EnumType.GSAR, type);
1499 res = pkgBasicInfoObj.getVersion();
1500 assertEquals("1", res);
1504 public void testPackageMetaSetter() {
1505 pkgMetaObj.setCreateTime("05042017");
1506 pkgMetaObj.setCsarId("csarid");
1507 pkgMetaObj.setDeletionPending(true);
1508 pkgMetaObj.setDetails("details");
1509 pkgMetaObj.setDownloadCount(10);
1510 pkgMetaObj.setDownloadUri("//network");
1511 pkgMetaObj.setFormat("pdf");
1512 pkgMetaObj.setModifyTime("05042017");
1513 pkgMetaObj.setName("huawei");
1514 pkgMetaObj.setProvider("huawei");
1515 pkgMetaObj.setRemarks("tested");
1516 pkgMetaObj.setReport("done");
1517 pkgMetaObj.setShortDesc("done");
1518 pkgMetaObj.setSize("1000");
1519 pkgMetaObj.setType("type");
1520 pkgMetaObj.setVersion("1");
1522 String res = pkgMetaObj.getCreateTime();
1523 assertEquals("05042017", res);
1524 res = pkgMetaObj.getCsarId();
1525 assertEquals("csarid", res);
1526 res = pkgMetaObj.getDetails();
1527 assertEquals("details", res);
1528 res = pkgMetaObj.getDownloadCount() + "";
1529 assertEquals("10", res);
1530 res = pkgMetaObj.getDownloadUri();
1531 assertEquals("//network", res);
1532 res = pkgMetaObj.getFormat();
1533 assertEquals("pdf", res);
1534 res = pkgMetaObj.getModifyTime();
1535 assertEquals("05042017", res);
1536 res = pkgMetaObj.getName();
1537 assertEquals("huawei", res);
1538 res = pkgMetaObj.getProvider();
1539 assertEquals("huawei", res);
1540 res = pkgMetaObj.getRemarks();
1541 assertEquals("tested", res);
1542 res = pkgMetaObj.getReport();
1543 assertEquals("done", res);
1544 res = pkgMetaObj.getShortDesc();
1545 assertEquals("done", res);
1546 res = pkgMetaObj.getSize();
1547 assertEquals("1000", res);
1548 res = pkgMetaObj.getType();
1549 assertEquals("type", res);
1550 res = pkgMetaObj.getVersion();
1551 assertEquals("1", res);
1555 public void testPackageResponseSetter() {
1556 pkgResponseObj.setReportPath("localpath");
1557 String res = pkgResponseObj.getReportPath();
1558 assertEquals("localpath", res);
1563 public void testCsarFileUriResSetter() {
1564 csarFileUriResObj.setDownloadUri("downloaduri");
1565 csarFileUriResObj.setLocalPath("localpath");
1566 String res = csarFileUriResObj.getDownloadUri();
1567 assertEquals("downloaduri", res);
1568 res = csarFileUriResObj.getLocalPath();
1569 assertEquals("localpath", res);
1573 public void testGetPackageName() {
1574 String packageName = PackageWrapperUtil.getPackageName("ftpUrl/abc");
1575 assertEquals("/abc", packageName);