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;
23 import java.io.BufferedInputStream;
24 import java.io.ByteArrayInputStream;
26 import java.io.FileInputStream;
27 import java.io.FileNotFoundException;
28 import java.io.FileOutputStream;
29 import java.io.FileWriter;
30 import java.io.IOException;
31 import java.io.InputStream;
32 import java.text.DecimalFormat;
33 import java.util.ArrayList;
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.onboarding.entity.OnBoardingResult;
67 import org.onap.vnfsdk.marketplace.onboarding.entity.OnBoradingRequest;
68 import org.onap.vnfsdk.marketplace.onboarding.entity.ResultKey;
69 import org.onap.vnfsdk.marketplace.onboarding.hooks.functiontest.FunctionTestExceutor;
70 import org.onap.vnfsdk.marketplace.onboarding.hooks.functiontest.FunctionTestHook;
71 import org.onap.vnfsdk.marketplace.resource.PackageResource;
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;
82 public class PackageResourceTest {
84 private PackageResource packageResource = null;
86 private Response response = null;
88 private String csarID = "csarid";
90 private List<PackageData> packageDataList = null;
92 private PackageData packageData = null;
94 private FormDataContentDisposition fileDetail = null;
96 private InputStream inputStream = null;
98 private String operTypeId = "opertype";
100 private VnfPackage vnfPackageObj = null;
102 private CsarPackage csarPackageObj = null;
104 private PackageBasicInfo pkgBasicInfoObj = null;
106 private PackageMeta pkgMetaObj = null;
108 private PackageResponse pkgResponseObj = null;
110 private CsarFileUriResponse csarFileUriResObj = null;
113 public void setUp() {
114 packageResource = new PackageResource();
115 vnfPackageObj = new VnfPackage();
116 csarPackageObj = new CsarPackage();
117 pkgBasicInfoObj = new PackageBasicInfo();
118 pkgMetaObj = new PackageMeta();
119 pkgResponseObj = new PackageResponse();
120 csarFileUriResObj = new CsarFileUriResponse();
124 public void createTestFile() {
125 String filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
126 File file = new File(filePath);
128 file.createNewFile();
129 FileWriter writer = new FileWriter(file);
130 writer.write("This is test file.");
132 } catch(Exception e) {
136 filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
137 file = new File(filePath);
142 StringBuilder sb = new StringBuilder();
143 sb.append("test data");
145 filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "temp.zip";
146 file = new File(filePath);
148 ZipOutputStream out = new ZipOutputStream(new FileOutputStream(file));
149 ZipEntry e = new ZipEntry("temp.txt");
151 byte[] data = sb.toString().getBytes();
152 out.write(data, 0, data.length);
155 } catch(Exception e) {
161 public void testQueryPackageListByCond() throws Exception {
162 new MockUp<MarketplaceDaoImpl>() {
165 public List<PackageData> getPackageDataSubset(Map<String, String> queryParam) {
166 return new ArrayList<PackageData>();
170 response = PackageWrapper.getInstance().queryPackageListByCond(null, null, null, null, null);
171 } catch(Exception e) {
175 assertNotNull(response);
176 assertEquals(200, response.getStatus());
179 response = packageResource.queryPackageListByCond(null, null, null, null, null);
180 } catch(Exception e) {
184 // assertEquals(00,res5.getStatus());
188 public void testQueryPackageById() throws Exception {
189 new MockUp<MarketplaceDaoImpl>() {
192 public List<PackageData> getPackageData(String csarId) {
197 new MockUp<MarketplaceDaoImpl>() {
200 public List<PackageData> getPackageData(String csarId) {
201 packageDataList = new ArrayList<PackageData>();
202 packageData = new PackageData();
203 packageData.setCsarId(csarId);
204 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
205 packageData.setName("clearwater_ns.csar");
206 packageData.setSize("59,854 bytes");
207 packageData.setVersion("v1.0");
208 packageData.setProvider("Huawei");
209 packageDataList.add(packageData);
210 return packageDataList;
215 response = PackageWrapper.getInstance().queryPackageById(csarID);
216 } catch(Exception e) {
219 assertNotNull(response);
220 assertEquals(200, response.getStatus());
223 response = packageResource.queryPackageById(csarID);
224 } catch(Exception e) {
230 public void testDelPackageFaiure() {
231 new MockUp<MarketplaceDaoImpl>() {
234 public List<PackageData> getAllPackageData() {
235 return new ArrayList<PackageData>();
239 new MockUp<MarketplaceDaoImpl>() {
242 public void deletePackageData(String csarId) {
247 new MockUp<MarketplaceDaoImpl>() {
250 public List<PackageData> getPackageData(String csarId) {
251 return new ArrayList<PackageData>();
256 response = PackageWrapper.getInstance().delPackage("");
257 } catch(Exception e5) {
258 e5.printStackTrace();
260 assertEquals(500, response.getStatus());
263 response = packageResource.delPackage("");
264 } catch(Exception e) {
269 response = PackageWrapper.getInstance().delPackage(null);
270 } catch(Exception e5) {
271 e5.printStackTrace();
275 response = packageResource.delPackage(null);
276 } catch(Exception e) {
279 assertEquals(500, response.getStatus());
283 public void testDelPackageSuccess() {
284 new MockUp<MarketplaceDaoImpl>() {
287 public List<PackageData> getAllPackageData() {
288 packageDataList = new ArrayList<PackageData>();
289 packageData = new PackageData();
290 packageData.setCsarId(csarID);
291 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
292 packageData.setName("clearwater_ns.csar");
293 packageData.setSize("59,854 bytes");
294 packageData.setVersion("v1.0");
295 packageData.setProvider("Huawei");
296 packageDataList.add(packageData);
297 return packageDataList;
301 new MockUp<PackageManager>() {
304 public void deletePackage(String csarId) {
309 new MockUp<HttpFileManagerImpl>() {
312 public boolean delete(String srcPath) {
317 new MockUp<MarketplaceDaoImpl>() {
320 public List<PackageData> getPackageData(String csarId) {
321 packageDataList = new ArrayList<PackageData>();
322 packageData = new PackageData();
323 packageData.setCsarId(csarID);
324 packageData.setDownloadUri("src\\test\\resources\\");
325 packageData.setName("clearwater_ns.csar");
326 packageData.setSize("59,854 bytes");
327 packageData.setVersion("v1.0");
328 packageData.setProvider("Huawei");
329 packageDataList.add(packageData);
330 return packageDataList;
335 response = PackageWrapper.getInstance().delPackage("csarid");
336 } catch(Exception e) {
340 assertNotNull(response);
341 assertEquals(200, response.getStatus());
344 response = packageResource.delPackage("csarid");
345 } catch(Exception e) {
351 public void testGetCsarFileUri() {
352 new MockUp<MarketplaceDaoImpl>() {
355 public List<PackageData> getPackageData(String csarId) {
356 packageDataList = new ArrayList<PackageData>();
357 packageData = new PackageData();
358 packageData.setCsarId(csarId);
359 packageData.setDownloadUri("src\\test\\resources\\");
360 packageData.setName("clearwater_ns.csar");
361 packageData.setSize("59,854 bytes");
362 packageData.setVersion("v1.0");
363 packageData.setProvider("Huawei");
364 packageDataList.add(packageData);
365 return packageDataList;
369 new MockUp<PackageWrapper>() {
372 Response downloadCsarPackagesById(String csarId) throws FileNotFoundException {
374 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
375 InputStream fis = new BufferedInputStream(new FileInputStream(fileName));
376 return Response.ok(fis).header("Content-Disposition", "attachment; filename=\"" + fileName + "\"")
380 response = PackageWrapper.getInstance().getCsarFileUri("csarId");
381 assertEquals(200, response.getStatus());
384 response = packageResource.getCsarFileUri("csarId");
385 } catch(Exception e) {
391 public void testupdateDwonloadCountSuccess() throws Exception {
392 final List<PackageData> pkgList = new ArrayList<PackageData>();
393 PackageData pkgDataObj = new PackageData();
394 pkgDataObj.setDownloadCount(1);
395 pkgList.add(pkgDataObj);
396 new MockUp<MarketplaceDaoImpl>() {
399 public List<PackageData> getPackageData(String csarId) {
401 // return new ArrayList<PackageData>();
404 new MockUp<MarketplaceDaoImpl>() {
407 public void updatePackageData(PackageData oPackageData) {
413 response = PackageWrapper.getInstance().updateDwonloadCount(csarID);
414 } catch(Exception e5) {
415 e5.printStackTrace();
417 assertNotNull(response);
418 assertEquals(200, response.getStatus());
421 response = packageResource.updateDwonloadCount(csarID);
422 } catch(Exception e) {
428 public void testReUploadPackage() {
429 new MockUp<MarketplaceDaoImpl>() {
432 public List<PackageData> getPackageData(String csarId) {
433 List<PackageData> packageDataList = new ArrayList<PackageData>();
434 PackageData packageData = new PackageData();
435 packageData = new PackageData();
436 packageData.setCsarId(csarId);
437 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
438 packageData.setName("clearwater_ns.csar");
439 packageData.setSize("59,854 bytes");
440 packageData.setVersion("v1.0");
441 packageData.setProvider("Huawei");
442 packageDataList.add(packageData);
443 return packageDataList;
447 new MockUp<HttpFileManagerImpl>() {
450 public boolean delete(String srcPath) {
455 new MockUp<MarketplaceDaoImpl>() {
458 public void deletePackageData(String csarId) {
463 new MockUp<ToolUtil>() {
466 public String getTempDir(String dirName, String fileName) {
468 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
473 new MockUp<HttpFileManagerImpl>() {
476 public boolean upload(String srcPath, String dstPath) {
481 new MockUp<PackageWrapperUtil>() {
484 public PackageData getPackageData(PackageMeta meta) {
485 PackageData packageData = new PackageData();
486 packageData.setCreateTime("25-3-2017 15:26:00");
487 packageData.setDeletionPending("deletion");
488 packageData.setDownloadUri("downloaduri");
489 packageData.setFormat("format");
490 packageData.setModifyTime("time");
491 packageData.setName("name");
492 packageData.setCsarId("csarid");
493 packageData.setProvider("huawei");
494 String fileSize = "10 mb";
495 packageData.setSize(fileSize);
496 packageData.setType("type");
497 packageData.setVersion("v2.0");
498 packageData.setDetails("details");
499 packageData.setShortDesc("description");
500 packageData.setRemarks("remarks");
505 new MockUp<PackageHandler>() {
508 public PackageData create(PackageData packageData) {
509 PackageData packageDataObj = new PackageData();
510 packageDataObj.setCreateTime("25-3-2017 15:26:00");
511 packageDataObj.setDeletionPending("deletion");
512 packageDataObj.setDownloadUri("downloaduri");
513 packageDataObj.setFormat("format");
514 packageDataObj.setModifyTime("modifytime");
515 packageDataObj.setName("name");
516 packageDataObj.setCsarId("csarid");
517 packageDataObj.setProvider("huawei");
518 String fileSize = "10 mb";
519 packageDataObj.setSize(fileSize);
520 packageDataObj.setType("type");
521 packageDataObj.setVersion("v2.0");
522 packageDataObj.setDetails("details");
523 packageDataObj.setShortDesc("description");
524 packageDataObj.setRemarks("remarks");
525 return packageDataObj;
530 response = PackageWrapper.getInstance().reUploadPackage(null, null, null, null, null);
531 } catch(Exception e) {
534 assertEquals(417, response.getStatus());
537 response = packageResource.reUploadPackage(null, null, null, null, null);
538 } catch(Exception e) {
543 fileDetail = FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
544 String fileName = "src" + File.separator + "test" + File.separator + "resources" + File.separator
545 + "clearwater_ns.csar";
546 inputStream = new FileInputStream(fileName);
547 response = PackageWrapper.getInstance().reUploadPackage("csarID", inputStream, fileDetail, null, null);
548 // assertEquals( 200, response.getStatus() );
549 } catch(Exception e) {
554 response = packageResource.reUploadPackage("csarID", inputStream, null, null, null);
555 } catch(Exception e) {
561 public void testgetOperResultByOperTypeIdFailure() throws Exception {
562 final ResultKey resultKeyObj = new ResultKey();
564 new MockUp<FunctionTestHook>() {
567 ResultKey getFuncTestResultKey(PackageData packageData) {
568 resultKeyObj.setKey("key");
572 new MockUp<FunctionTestExceutor>() {
575 String getTestResultsByFuncTestKey(String key) {
580 new MockUp<MarketplaceDaoImpl>() {
583 public List<PackageData> getPackageData(String csarId) {
584 List<PackageData> packageDataList = new ArrayList<PackageData>();
585 PackageData packageData = new PackageData();
586 packageData = new PackageData();
587 packageData.setCsarId(csarId);
588 packageData.setDownloadUri("src\\test\\resources\\learwater_ns.csar");
589 packageData.setName("clearwater_ns.csar");
590 packageData.setSize("59,854 bytes");
591 packageData.setVersion("v1.0");
592 packageData.setProvider("Airtel");
593 packageDataList.add(packageData);
594 return packageDataList;
599 response = PackageWrapper.getInstance().getOperResultByOperTypeId(csarID, operTypeId);
600 } catch(Exception e5) {
601 e5.printStackTrace();
603 assertEquals(500, response.getStatus());
606 response = PackageWrapper.getInstance().getOperResultByOperTypeId("", "");
607 } catch(Exception e) {
610 assertEquals(400, response.getStatus());
613 response = packageResource.getOnBoardingResult(null, null, null);
614 } catch(Exception e) {
620 public void testgetOperResultByOperTypeIdSuccess() {
621 new MockUp<MarketplaceDaoImpl>() {
624 public List<PackageData> getPackageData(String csarId) {
625 List<PackageData> packageDataList = new ArrayList<PackageData>();
626 PackageData packageData = new PackageData();
627 packageData = new PackageData();
628 packageData.setCsarId(csarId);
629 packageData.setDownloadUri("src\\test\\resources\\learwater_ns.csar");
630 packageData.setName("clearwater_ns.csar");
631 packageData.setSize("59,854 bytes");
632 packageData.setVersion("v1.0");
633 packageData.setProvider("Airtel");
634 packageDataList.add(packageData);
635 return packageDataList;
639 new MockUp<ToolUtil>() {
642 public String getTempDir(String dirName, String fileName) {
644 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
648 new MockUp<PackageWrapper>() {
651 Response downloadCsarPackagesById(String csarId) throws FileNotFoundException {
653 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
654 InputStream fis = new BufferedInputStream(new FileInputStream(fileName));
655 return Response.ok(fis).header("Content-Disposition", "attachment; filename=\"" + fileName + "\"")
660 new MockUp<FunctionTestHook>() {
663 ResultKey getFuncTestResultKey(PackageData packageData) {
664 ResultKey resultKey = new ResultKey();
665 resultKey.setKey("key");
669 new MockUp<FunctionTestExceutor>() {
672 String getTestResultsByFuncTestKey(String key) {
678 response = PackageWrapper.getInstance().getOperResultByOperTypeId(csarID, operTypeId);
679 } catch(Exception e) {
688 public void testUploadPackage() throws Exception {
689 InputStream ins = null;
690 Response result = null;
692 * Response result1 = null; Response result2 = null; PackageData
693 * packageData = new PackageData(); packageData = getPackageData();
696 new MockUp<MarketplaceDaoImpl>() {
699 public List<PackageData> getPackageData(String csarId) {
700 List<PackageData> packageDataList = new ArrayList<PackageData>();
701 PackageData packageData = new PackageData();
702 packageData = new PackageData();
703 packageData.setCsarId(csarId);
704 packageData.setDownloadUri("src\\test\\resources\\");
705 packageData.setName("clearwater_ns.csar");
706 packageData.setSize("59,854 bytes");
707 packageData.setVersion("v1.0");
708 packageData.setProvider("Airtel");
709 packageDataList.add(packageData);
710 return packageDataList;
714 public List<PackageData> getPackageDataSubset(Map<String, String> paramsMap) {
715 List<PackageData> packageDataList = new ArrayList<PackageData>();
717 return packageDataList;
721 new MockUp<HttpFileManagerImpl>() {
724 public boolean delete(String srcPath) {
729 new MockUp<MarketplaceDaoImpl>() {
732 public void deletePackageData(String csarId) {
737 new MockUp<ToolUtil>() {
740 public String getTempDir(String dirName, String fileName) {
742 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
747 new MockUp<HttpFileManagerImpl>() {
750 public boolean upload(String srcPath, String dstPath) {
755 new MockUp<PackageHandler>() {
758 public PackageData create(PackageData packageData) {
759 PackageData packageDataObj = new PackageData();
760 packageDataObj.setCreateTime("25-3-2017 15:26:00");
761 packageDataObj.setDeletionPending("deletion");
762 packageDataObj.setDownloadUri("downloaduri");
763 packageDataObj.setFormat("format");
764 packageDataObj.setModifyTime("modifytime");
765 packageDataObj.setName("name");
766 packageDataObj.setCsarId("csarid");
767 packageDataObj.setProvider("huawei");
768 String fileSize = "10 mb";
769 packageDataObj.setSize(fileSize);
770 packageDataObj.setType("type");
771 packageDataObj.setVersion("v2.0");
772 packageDataObj.setDetails("details");
773 packageDataObj.setShortDesc("description");
774 packageDataObj.setRemarks("remarks");
775 return packageDataObj;
780 new MockUp<OpenRemoteCli>() {
783 public Result run(String host, int port, String reqId, List <String> args) {
784 Result result = Result.newBuilder().
786 setOutput("{\"error\":\"SUCCESS\"}").
793 FormDataContentDisposition fileDetail =
794 FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
797 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "clearwater_ns.csar";
798 File packageFile = new File(filenama);
801 ins = new FileInputStream(packageFile);
802 } catch(FileNotFoundException e2) {
803 e2.printStackTrace();
807 result = PackageWrapper.getInstance().uploadPackage(ins, fileDetail, null, null);
808 // PackageWrapper.getInstance().updateValidateStatus(ins);
809 } catch(Exception e3) {
810 e3.printStackTrace();
814 assertNotNull(result);
815 assertEquals(200, result.getStatus());
818 result = PackageWrapper.getInstance().uploadPackage(null, null, null, null);
819 } catch(Exception e4) {
820 e4.printStackTrace();
823 assertEquals(417, result.getStatus());
826 response = packageResource.uploadPackage(null, null, null, null);
827 } catch(Exception e) {
833 public void testUploadPackageFailedOnVtp() throws Exception {
834 InputStream ins = null;
835 Response result = null;
837 * Response result1 = null; Response result2 = null; PackageData
838 * packageData = new PackageData(); packageData = getPackageData();
841 new MockUp<MarketplaceDaoImpl>() {
844 public List<PackageData> getPackageData(String csarId) {
845 List<PackageData> packageDataList = new ArrayList<PackageData>();
846 PackageData packageData = new PackageData();
847 packageData = new PackageData();
848 packageData.setCsarId(csarId);
849 packageData.setDownloadUri("src\\test\\resources\\");
850 packageData.setName("clearwater_ns.csar");
851 packageData.setSize("59,854 bytes");
852 packageData.setVersion("v1.0");
853 packageData.setProvider("Airtel");
854 packageDataList.add(packageData);
855 return packageDataList;
859 public List<PackageData> getPackageDataSubset(Map<String, String> paramsMap) {
860 List<PackageData> packageDataList = new ArrayList<PackageData>();
862 return packageDataList;
866 new MockUp<HttpFileManagerImpl>() {
869 public boolean delete(String srcPath) {
874 new MockUp<MarketplaceDaoImpl>() {
877 public void deletePackageData(String csarId) {
882 new MockUp<ToolUtil>() {
885 public String getTempDir(String dirName, String fileName) {
887 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
892 new MockUp<HttpFileManagerImpl>() {
895 public boolean upload(String srcPath, String dstPath) {
900 new MockUp<PackageWrapperUtil>() {
903 public PackageData getPackageData(PackageMeta meta) {
904 PackageData packageData = new PackageData();
905 packageData.setCreateTime("25-3-2017 15:26:00");
906 packageData.setDeletionPending("deletion");
907 packageData.setDownloadUri("downloaduri");
908 packageData.setFormat("format");
909 packageData.setModifyTime("time");
910 packageData.setName("name");
911 packageData.setCsarId("csarid");
912 packageData.setProvider("huawei");
913 String fileSize = "10 mb";
914 packageData.setSize(fileSize);
915 packageData.setType("type");
916 packageData.setVersion("v2.0");
917 packageData.setDetails("details");
918 packageData.setShortDesc("description");
919 packageData.setRemarks("remarks");
924 new MockUp<PackageHandler>() {
927 public PackageData create(PackageData packageData) {
928 PackageData packageDataObj = new PackageData();
929 packageDataObj.setCreateTime("25-3-2017 15:26:00");
930 packageDataObj.setDeletionPending("deletion");
931 packageDataObj.setDownloadUri("downloaduri");
932 packageDataObj.setFormat("format");
933 packageDataObj.setModifyTime("modifytime");
934 packageDataObj.setName("name");
935 packageDataObj.setCsarId("csarid");
936 packageDataObj.setProvider("huawei");
937 String fileSize = "10 mb";
938 packageDataObj.setSize(fileSize);
939 packageDataObj.setType("type");
940 packageDataObj.setVersion("v2.0");
941 packageDataObj.setDetails("details");
942 packageDataObj.setShortDesc("description");
943 packageDataObj.setRemarks("remarks");
944 return packageDataObj;
949 new MockUp<OpenRemoteCli>() {
952 public Result run(String host, int port, String reqId, List <String> args) throws Exception {
953 throw new Exception();
957 FormDataContentDisposition fileDetail =
958 FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
961 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "clearwater_ns.csar";
962 File packageFile = new File(filenama);
965 ins = new FileInputStream(packageFile);
966 } catch(FileNotFoundException e2) {
967 e2.printStackTrace();
971 result = PackageWrapper.getInstance().uploadPackage(ins, fileDetail, null, null);
972 // PackageWrapper.getInstance().updateValidateStatus(ins);
973 } catch(Exception e3) {
974 e3.printStackTrace();
978 assertEquals(200, result.getStatus());
982 public void testGetOnBoardingStepsSuccess() {
983 new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
986 String getAppDeployPath() {
987 String path = "src" + File.separator + "main" + File.separator + "resources";
993 response = PackageWrapper.getInstance().getOnBoardingSteps();
994 } catch(Exception e) {
998 assertNotNull(response);
1001 response = packageResource.getOnBoardingSteps();
1002 } catch(Exception e) {
1003 e.printStackTrace();
1008 public void testGetOOprStatusSuccess() {
1010 response = packageResource.getOperStatus(null, null);
1011 } catch(Exception e) {
1012 e.printStackTrace();
1017 public void testUpdateStatusSuccess() {
1018 MockUp mockReq = new MockUp<HttpServletRequest>() {
1021 public ServletInputStream getInputStream() throws IOException {
1022 ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(
1023 "{\"csar\"=\"VoLTE.csar\"}".getBytes());
1025 return new ServletInputStream(){
1026 public int read() throws IOException {
1027 return byteArrayInputStream.read();
1031 public boolean isFinished() {
1036 public boolean isReady() {
1041 public void setReadListener(ReadListener arg0) {
1048 response = packageResource.updateValidateStatus((HttpServletRequest) mockReq.getMockInstance(), null);
1049 } catch(Exception e) {
1050 e.printStackTrace();
1055 public void testGetOnBoardingStepsFailure() {
1056 new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
1059 String getAppDeployPath() {
1060 String path = "src" + File.separator + "main" + File.separator + "resources" + File.separator
1067 response = PackageWrapper.getInstance().getOnBoardingSteps();
1068 } catch(Exception e) {
1069 e.printStackTrace();
1071 assertEquals(500, response.getStatus());
1075 public void testRestGetClient() {
1076 FunctionTestExceutor.getTestResultsByFuncTestKey("GET");
1081 public void testRestPostClient() {
1083 OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
1084 onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
1085 onBoradFuncTestReq.setPackageName("clearwater_ns.csar");
1086 String result = FunctionTestExceutor.execFunctionTest(onBoradFuncTestReq);
1088 // assertEquals(200,result);
1093 public void testRestDeleteClient() {
1094 RestResponse rsp = RestfulClient.delete("127.0.0.1", 8987, "TestURL");
1096 if(rsp.getStatusCode() != null)
1097 assertEquals(200, rsp.getStatusCode().intValue());
1102 public void testExec() {
1104 new MockUp<FunctionTestHook>() {
1107 String getResultStorePath() {
1108 return "src/test/resources";
1112 FunctionTestHook testHookObj = new FunctionTestHook();
1113 OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
1114 onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
1115 int res = testHookObj.exec(onBoradFuncTestReq);
1117 assertEquals(res, -1);
1122 public void testwriteJsonDatatoFile() {
1124 String filePath = "src//test//resources//functionTest.json";
1125 OnBoardingResult onBoardResultObj = new OnBoardingResult();
1126 onBoardResultObj.setCsarId("csrId");
1127 onBoardResultObj.setOperStatus(1);
1128 boolean res = FileUtil.writeJsonDatatoFile(filePath, onBoardResultObj);
1129 assertEquals(res, true);
1135 public void testCreateDirectory() {
1136 String dirPath = "src//test//resources//TestDirectory";
1137 boolean res = FileUtil.createDirectory(dirPath);
1138 assertEquals(res, true);
1143 public void testDeleteDirectory() {
1144 String dirPath = "src//test//resources//TestDirectory";
1145 boolean res = FileUtil.deleteFile(dirPath);
1146 assertEquals(res, true);
1151 public void testGenerateId() {
1152 String id = MarketplaceDbUtil.generateId();
1157 public void testisNotEmpty() {
1158 boolean res = MarketplaceDbUtil.isNotEmpty(null);
1159 assertEquals(res, false);
1160 res = MarketplaceDbUtil.isNotEmpty("test");
1161 assertEquals(res, true);
1165 public void testobjectToString() {
1166 Object obj = "testexa";
1167 String res = MarketplaceDbUtil.objectToString(obj);
1169 res = MarketplaceDbUtil.objectToString(null);
1174 public void testisEmptyString() {
1175 boolean res = ToolUtil.isEmptyString(null);
1176 assertEquals(res, true);
1177 res = ToolUtil.isEmptyString("huawei");
1178 assertEquals(res, false);
1182 public void testisTrimedEmptyString() {
1183 boolean res = ToolUtil.isTrimedEmptyString(null);
1184 assertEquals(res, true);
1185 res = ToolUtil.isTrimedEmptyString(" ");
1186 assertEquals(res, true);
1190 public void testisEmptyCollection() {
1192 boolean res = ToolUtil.isEmptyCollection(new ArrayList());
1193 assertEquals(res, true);
1197 public void testisYamlFile() {
1198 File fileObj = new File("test.txt");
1199 boolean res = ToolUtil.isYamlFile(fileObj);
1200 assertEquals(res, false);
1204 public void testgenerateID() {
1205 String id = ToolUtil.generateId();
1210 public void testgetFormatFileSize() {
1211 String res = ToolUtil.getFormatFileSize(10000000);
1213 res = ToolUtil.getFormatFileSize(10000);
1215 res = ToolUtil.getFormatFileSize(100);
1220 public void testObjectToString() {
1221 Object obj = "testexa";
1222 String res = ToolUtil.objectToString(obj);
1224 res = ToolUtil.objectToString(null);
1229 public void testprocessFileName() {
1230 String res = ToolUtil.processFileName("abc.txt");
1232 res = ToolUtil.processFileName("abc.zip");
1237 public void testremoveCsarSuffix() {
1238 String res = ToolUtil.removeCsarSuffix("abc.csar");
1239 assertEquals(res, "abc");
1243 public void testformatCsar() {
1244 String res = ToolUtil.formatCsar("abc");
1245 assertEquals(res, "abc.csar");
1249 public void testformatFileSize() {
1250 String res = ToolUtil.formatFileSize(10000.0, 10);
1251 String expected = new DecimalFormat("#0.00").format(1000) + "M";// may
1259 assertEquals(res, expected);
1263 public void testgetFileSize() {
1264 File fileObj = new File("example.txt");
1265 String res = ToolUtil.getFileSize(fileObj, 10);
1270 public void testgetCatalogueCsarPath() {
1271 String res = ToolUtil.getCatalogueCsarPath();
1272 assertEquals(res, File.separator + "csar");
1276 public void testgetCatalogueImagePath() {
1277 String res = ToolUtil.getCatalogueImagePath();
1278 assertEquals(res, File.separator + "image");
1282 public void testdeleteFile() {
1283 boolean res = ToolUtil.deleteFile("src//test//resources", "test1.txt");
1284 assertEquals(res, true);
1288 public void teststoreChunkFileInLocal() {
1290 inputStream = new FileInputStream("src//test//resources//Test.txt");
1291 String res = ToolUtil.storeChunkFileInLocal("src//test//resources", "TestOut.txt", inputStream);
1292 File file = new File(res);
1293 String fileName = file.getName();
1294 assertEquals(fileName, "TestOut.txt");
1296 } catch(Exception ex) {
1297 ex.printStackTrace();
1302 public void testToolUtildeleteFile() {
1303 boolean res = ToolUtil.deleteFile("src/test/resources", "TestOut.txt");
1304 assertEquals(res, true);
1309 public void testUnzip() {
1311 List<String> listObj = new ArrayList<String>();
1313 listObj = FileUtil.unzip("src/test/resources/temp.zip", "src/test/resources/testfolder");
1314 } catch(Exception ex) {
1315 ex.printStackTrace();
1317 assertNotNull(listObj);
1321 public void testreadJsonDatafFromFile() {
1324 FileUtil.readJsonDatafFromFile("src/main/resources/generalconfig/OnBoardingSteps.json", Object.class);
1329 public void testGetPkgSize() {
1330 long pkgSize = PackageWrapperUtil.getPacakgeSize("src/test/resources/Test.txt");
1331 assertNotNull(pkgSize);
1335 public void testPkgFormat() {
1336 assertNotNull(PackageWrapperUtil.getPackageFormat("xml"));
1337 assertNotNull(PackageWrapperUtil.getPackageFormat("yml"));
1338 assertNull(PackageWrapperUtil.getPackageFormat("pdf"));
1340 MsbDetailsHolder.getMsbDetails();
1342 IMarketplaceDao dao = new MarketplaceDaoImpl();
1344 packageDataList = new ArrayList<PackageData>();
1345 packageData = new PackageData();
1346 packageData.setCsarId("21");
1347 packageData.setDownloadUri("src\\test\\resources\\");
1348 packageData.setName("clearwater_ns.csar");
1349 packageData.setSize("59,854 bytes");
1350 packageData.setVersion("v1.0");
1351 packageData.setProvider("Huawei");
1352 packageDataList.add(packageData);
1354 dao.savePackageData(packageData);
1355 dao.getAllPackageData();
1356 dao.getPackageData("21");
1357 dao.updatePackageData(packageData);
1358 dao.deletePackageData("21");
1360 } catch(Exception e) {
1366 public void testVnfPackageSetter() {
1368 vnfPackageObj.setVnfPackageId("vnfpackageId");
1369 vnfPackageObj.setVnfPackageUrl("vnfPackageUrl");
1370 vnfPackageObj.setVnfd("vnfd");
1371 vnfPackageObj.setVersion("1");
1372 vnfPackageObj.setUsageState(EnumUsageState.NotInUse);
1373 vnfPackageObj.setProvider("huawei");
1374 vnfPackageObj.setOperationalState(EnumOperationalState.Enabled);
1375 vnfPackageObj.setName("vnf");
1376 vnfPackageObj.setDeletionPending("pending");
1378 String res = vnfPackageObj.getVnfPackageId();
1379 assertEquals(res, "vnfpackageId");
1380 res = vnfPackageObj.getVnfPackageUrl();
1381 assertEquals(res, "vnfPackageUrl");
1382 res = vnfPackageObj.getVnfd();
1383 assertEquals(res, "vnfd");
1384 res = vnfPackageObj.getVersion();
1385 assertEquals(res, "1");
1386 EnumUsageState state = vnfPackageObj.getUsageState();
1387 assertEquals(state, EnumUsageState.NotInUse);
1388 res = vnfPackageObj.getProvider();
1389 assertEquals(res, "huawei");
1390 EnumOperationalState operState = vnfPackageObj.getOperationalState();
1391 assertEquals(operState, EnumOperationalState.Enabled);
1392 res = vnfPackageObj.getName();
1393 assertEquals(res, "vnf");
1394 res = vnfPackageObj.getDeletionPending();
1395 assertEquals(res, "pending");
1399 public void testCsarPackageSetter() {
1400 csarPackageObj.setCreateTime("04052017");
1401 csarPackageObj.setDeletionPending("pending");
1402 csarPackageObj.setFormat("format");
1403 csarPackageObj.setId("12");
1404 csarPackageObj.setName("csartest");
1405 csarPackageObj.setSize("10");
1406 csarPackageObj.setStatus("done");
1407 csarPackageObj.setType("type");
1408 csarPackageObj.setUrl("//network");
1410 String res = csarPackageObj.getCreateTime();
1411 assertEquals(res, "04052017");
1412 res = csarPackageObj.getDeletionPending();
1413 assertEquals(res, "pending");
1414 res = csarPackageObj.getFormat();
1415 assertEquals(res, "format");
1416 res = csarPackageObj.getId();
1417 assertEquals(res, "12");
1418 res = csarPackageObj.getName();
1419 assertEquals(res, "csartest");
1420 res = csarPackageObj.getSize();
1421 assertEquals(res, "10");
1422 res = csarPackageObj.getStatus();
1423 assertEquals(res, "done");
1424 res = csarPackageObj.getType();
1425 assertEquals(res, "type");
1426 res = csarPackageObj.getUrl();
1427 assertEquals(res, "//network");
1432 public void testPackageBasicInfoSetter() {
1433 pkgBasicInfoObj.setFormat("pdf");
1434 pkgBasicInfoObj.setProvider("huawei");
1435 pkgBasicInfoObj.setType(EnumType.GSAR);
1436 pkgBasicInfoObj.setVersion("1");
1437 String res = pkgBasicInfoObj.getFormat();
1438 assertEquals(res, "pdf");
1439 res = pkgBasicInfoObj.getProvider();
1440 assertEquals(res, "huawei");
1441 EnumType type = pkgBasicInfoObj.getType();
1442 assertEquals(type, EnumType.GSAR);
1443 res = pkgBasicInfoObj.getVersion();
1444 assertEquals(res, "1");
1448 public void testPackageMetaSetter() {
1449 pkgMetaObj.setCreateTime("05042017");
1450 pkgMetaObj.setCsarId("csarid");
1451 pkgMetaObj.setDeletionPending(true);
1452 pkgMetaObj.setDetails("details");
1453 pkgMetaObj.setDownloadCount(10);
1454 pkgMetaObj.setDownloadUri("//network");
1455 pkgMetaObj.setFormat("pdf");
1456 pkgMetaObj.setModifyTime("05042017");
1457 pkgMetaObj.setName("huawei");
1458 pkgMetaObj.setProvider("huawei");
1459 pkgMetaObj.setRemarks("tested");
1460 pkgMetaObj.setReport("done");
1461 pkgMetaObj.setShortDesc("done");
1462 pkgMetaObj.setSize("1000");
1463 pkgMetaObj.setType("type");
1464 pkgMetaObj.setVersion("1");
1466 String res = pkgMetaObj.getCreateTime();
1467 assertEquals(res, "05042017");
1468 res = pkgMetaObj.getCsarId();
1469 assertEquals(res, "csarid");
1470 res = pkgMetaObj.getDetails();
1471 assertEquals(res, "details");
1472 res = pkgMetaObj.getDownloadCount() + "";
1473 assertEquals(res, "10");
1474 res = pkgMetaObj.getDownloadUri();
1475 assertEquals(res, "//network");
1476 res = pkgMetaObj.getFormat();
1477 assertEquals(res, "pdf");
1478 res = pkgMetaObj.getModifyTime();
1479 assertEquals(res, "05042017");
1480 res = pkgMetaObj.getName();
1481 assertEquals(res, "huawei");
1482 res = pkgMetaObj.getProvider();
1483 assertEquals(res, "huawei");
1484 res = pkgMetaObj.getRemarks();
1485 assertEquals(res, "tested");
1486 res = pkgMetaObj.getReport();
1487 assertEquals(res, "done");
1488 res = pkgMetaObj.getShortDesc();
1489 assertEquals(res, "done");
1490 res = pkgMetaObj.getSize();
1491 assertEquals(res, "1000");
1492 res = pkgMetaObj.getType();
1493 assertEquals(res, "type");
1494 res = pkgMetaObj.getVersion();
1495 assertEquals(res, "1");
1499 public void testPackageResponseSetter() {
1500 pkgResponseObj.setReportPath("localpath");
1501 String res = pkgResponseObj.getReportPath();
1502 assertEquals(res, "localpath");
1507 public void testCsarFileUriResSetter() {
1508 csarFileUriResObj.setDownloadUri("downloaduri");
1509 csarFileUriResObj.setLocalPath("localpath");
1510 String res = csarFileUriResObj.getDownloadUri();
1511 assertEquals(res, "downloaduri");
1512 res = csarFileUriResObj.getLocalPath();
1513 assertEquals(res, "localpath");