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;
25 import java.io.FileInputStream;
26 import java.io.FileNotFoundException;
27 import java.io.FileOutputStream;
28 import java.io.FileWriter;
29 import java.io.InputStream;
30 import java.text.DecimalFormat;
31 import java.util.ArrayList;
32 import java.util.List;
34 import java.util.zip.ZipEntry;
35 import java.util.zip.ZipOutputStream;
37 import javax.ws.rs.core.Response;
39 import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
40 import org.junit.Before;
41 import org.junit.Test;
42 import org.onap.vnfsdk.marketplace.common.FileUtil;
43 import org.onap.vnfsdk.marketplace.common.ToolUtil;
44 import org.onap.vnfsdk.marketplace.db.entity.PackageData;
45 import org.onap.vnfsdk.marketplace.db.impl.MarketplaceDaoImpl;
46 import org.onap.vnfsdk.marketplace.db.inf.IMarketplaceDao;
47 import org.onap.vnfsdk.marketplace.db.resource.PackageManager;
48 import org.onap.vnfsdk.marketplace.db.util.MarketplaceDbUtil;
49 import org.onap.vnfsdk.marketplace.db.wrapper.PackageHandler;
50 import org.onap.vnfsdk.marketplace.entity.CsarPackage;
51 import org.onap.vnfsdk.marketplace.entity.EnumOperationalState;
52 import org.onap.vnfsdk.marketplace.entity.EnumType;
53 import org.onap.vnfsdk.marketplace.entity.EnumUsageState;
54 import org.onap.vnfsdk.marketplace.entity.VnfPackage;
55 import org.onap.vnfsdk.marketplace.entity.request.PackageBasicInfo;
56 import org.onap.vnfsdk.marketplace.entity.response.CsarFileUriResponse;
57 import org.onap.vnfsdk.marketplace.entity.response.PackageMeta;
58 import org.onap.vnfsdk.marketplace.entity.response.PackageResponse;
59 import org.onap.vnfsdk.marketplace.filemanage.http.HttpFileManagerImpl;
60 import org.onap.vnfsdk.marketplace.msb.MsbDetailsHolder;
61 import org.onap.vnfsdk.marketplace.onboarding.entity.OnBoardingResult;
62 import org.onap.vnfsdk.marketplace.onboarding.entity.OnBoradingRequest;
63 import org.onap.vnfsdk.marketplace.onboarding.entity.ResultKey;
64 import org.onap.vnfsdk.marketplace.onboarding.hooks.functiontest.FunctionTestExceutor;
65 import org.onap.vnfsdk.marketplace.onboarding.hooks.functiontest.FunctionTestHook;
66 import org.onap.vnfsdk.marketplace.rest.RestResponse;
67 import org.onap.vnfsdk.marketplace.rest.RestfulClient;
68 import org.onap.vnfsdk.marketplace.wrapper.PackageWrapper;
69 import org.onap.vnfsdk.marketplace.wrapper.PackageWrapperUtil;
70 import org.open.infc.grpc.Result;
71 import org.open.infc.grpc.client.OpenRemoteCli;
76 public class PackageResourceTest {
78 private PackageResource packageResource = null;
80 private Response response = null;
82 private String csarID = "csarid";
84 private List<PackageData> packageDataList = null;
86 private PackageData packageData = null;
88 private FormDataContentDisposition fileDetail = null;
90 private InputStream inputStream = null;
92 private String operTypeId = "opertype";
94 private VnfPackage vnfPackageObj = null;
96 private CsarPackage csarPackageObj = null;
98 private PackageBasicInfo pkgBasicInfoObj = null;
100 private PackageMeta pkgMetaObj = null;
102 private PackageResponse pkgResponseObj = null;
104 private CsarFileUriResponse csarFileUriResObj = null;
107 public void setUp() {
108 packageResource = new PackageResource();
109 vnfPackageObj = new VnfPackage();
110 csarPackageObj = new CsarPackage();
111 pkgBasicInfoObj = new PackageBasicInfo();
112 pkgMetaObj = new PackageMeta();
113 pkgResponseObj = new PackageResponse();
114 csarFileUriResObj = new CsarFileUriResponse();
118 public void createTestFile() {
119 String filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
120 File file = new File(filePath);
122 file.createNewFile();
123 FileWriter writer = new FileWriter(file);
124 writer.write("This is test file.");
126 } catch(Exception e) {
130 filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
131 file = new File(filePath);
136 StringBuilder sb = new StringBuilder();
137 sb.append("test data");
139 filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "temp.zip";
140 file = new File(filePath);
142 ZipOutputStream out = new ZipOutputStream(new FileOutputStream(file));
143 ZipEntry e = new ZipEntry("temp.txt");
145 byte[] data = sb.toString().getBytes();
146 out.write(data, 0, data.length);
149 } catch(Exception e) {
155 public void testQueryPackageListByCond() throws Exception {
156 new MockUp<MarketplaceDaoImpl>() {
159 public List<PackageData> getPackageDataSubset(Map<String, String> queryParam) {
160 return new ArrayList<PackageData>();
164 response = PackageWrapper.getInstance().queryPackageListByCond(null, null, null, null, null);
165 } catch(Exception e) {
169 assertNotNull(response);
170 assertEquals(200, response.getStatus());
172 // assertEquals(00,res5.getStatus());
176 public void testQueryPackageById() throws Exception {
177 new MockUp<MarketplaceDaoImpl>() {
180 public List<PackageData> getPackageData(String csarId) {
185 new MockUp<MarketplaceDaoImpl>() {
188 public List<PackageData> getPackageData(String csarId) {
189 packageDataList = new ArrayList<PackageData>();
190 packageData = new PackageData();
191 packageData.setCsarId(csarId);
192 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
193 packageData.setName("clearwater_ns.csar");
194 packageData.setSize("59,854 bytes");
195 packageData.setVersion("v1.0");
196 packageData.setProvider("Huawei");
197 packageDataList.add(packageData);
198 return packageDataList;
203 response = PackageWrapper.getInstance().queryPackageById(csarID);
204 } catch(Exception e) {
207 assertNotNull(response);
208 assertEquals(200, response.getStatus());
212 public void testDelPackageFaiure() {
213 new MockUp<MarketplaceDaoImpl>() {
216 public List<PackageData> getAllPackageData() {
217 return new ArrayList<PackageData>();
221 new MockUp<MarketplaceDaoImpl>() {
224 public void deletePackageData(String csarId) {
229 new MockUp<MarketplaceDaoImpl>() {
232 public List<PackageData> getPackageData(String csarId) {
233 return new ArrayList<PackageData>();
238 response = PackageWrapper.getInstance().delPackage("");
239 } catch(Exception e5) {
240 e5.printStackTrace();
242 assertEquals(500, response.getStatus());
245 response = PackageWrapper.getInstance().delPackage(null);
246 } catch(Exception e5) {
247 e5.printStackTrace();
249 assertEquals(500, response.getStatus());
253 public void testDelPackageSuccess() {
254 new MockUp<MarketplaceDaoImpl>() {
257 public List<PackageData> getAllPackageData() {
258 packageDataList = new ArrayList<PackageData>();
259 packageData = new PackageData();
260 packageData.setCsarId(csarID);
261 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
262 packageData.setName("clearwater_ns.csar");
263 packageData.setSize("59,854 bytes");
264 packageData.setVersion("v1.0");
265 packageData.setProvider("Huawei");
266 packageDataList.add(packageData);
267 return packageDataList;
271 new MockUp<PackageManager>() {
274 public void deletePackage(String csarId) {
279 new MockUp<HttpFileManagerImpl>() {
282 public boolean delete(String srcPath) {
287 new MockUp<MarketplaceDaoImpl>() {
290 public List<PackageData> getPackageData(String csarId) {
291 packageDataList = new ArrayList<PackageData>();
292 packageData = new PackageData();
293 packageData.setCsarId(csarID);
294 packageData.setDownloadUri("src\\test\\resources\\");
295 packageData.setName("clearwater_ns.csar");
296 packageData.setSize("59,854 bytes");
297 packageData.setVersion("v1.0");
298 packageData.setProvider("Huawei");
299 packageDataList.add(packageData);
300 return packageDataList;
305 response = PackageWrapper.getInstance().delPackage("csarid");
306 } catch(Exception e) {
310 assertNotNull(response);
311 assertEquals(200, response.getStatus());
315 public void testGetCsarFileUri() {
316 new MockUp<MarketplaceDaoImpl>() {
319 public List<PackageData> getPackageData(String csarId) {
320 packageDataList = new ArrayList<PackageData>();
321 packageData = new PackageData();
322 packageData.setCsarId(csarId);
323 packageData.setDownloadUri("src\\test\\resources\\");
324 packageData.setName("clearwater_ns.csar");
325 packageData.setSize("59,854 bytes");
326 packageData.setVersion("v1.0");
327 packageData.setProvider("Huawei");
328 packageDataList.add(packageData);
329 return packageDataList;
333 new MockUp<PackageWrapper>() {
336 Response downloadCsarPackagesById(String csarId) throws FileNotFoundException {
338 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
339 InputStream fis = new BufferedInputStream(new FileInputStream(fileName));
340 return Response.ok(fis).header("Content-Disposition", "attachment; filename=\"" + fileName + "\"")
344 response = PackageWrapper.getInstance().getCsarFileUri("csarId");
345 assertEquals(200, response.getStatus());
350 public void testupdateDwonloadCountSuccess() throws Exception {
351 final List<PackageData> pkgList = new ArrayList<PackageData>();
352 PackageData pkgDataObj = new PackageData();
353 pkgDataObj.setDownloadCount(1);
354 pkgList.add(pkgDataObj);
355 new MockUp<MarketplaceDaoImpl>() {
358 public List<PackageData> getPackageData(String csarId) {
360 // return new ArrayList<PackageData>();
363 new MockUp<MarketplaceDaoImpl>() {
366 public void updatePackageData(PackageData oPackageData) {
372 response = PackageWrapper.getInstance().updateDwonloadCount(csarID);
373 } catch(Exception e5) {
374 e5.printStackTrace();
376 assertNotNull(response);
377 assertEquals(200, response.getStatus());
381 public void testReUploadPackage() {
382 new MockUp<MarketplaceDaoImpl>() {
385 public List<PackageData> getPackageData(String csarId) {
386 List<PackageData> packageDataList = new ArrayList<PackageData>();
387 PackageData packageData = new PackageData();
388 packageData = new PackageData();
389 packageData.setCsarId(csarId);
390 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
391 packageData.setName("clearwater_ns.csar");
392 packageData.setSize("59,854 bytes");
393 packageData.setVersion("v1.0");
394 packageData.setProvider("Huawei");
395 packageDataList.add(packageData);
396 return packageDataList;
400 new MockUp<HttpFileManagerImpl>() {
403 public boolean delete(String srcPath) {
408 new MockUp<MarketplaceDaoImpl>() {
411 public void deletePackageData(String csarId) {
416 new MockUp<ToolUtil>() {
419 public String getTempDir(String dirName, String fileName) {
421 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
426 new MockUp<HttpFileManagerImpl>() {
429 public boolean upload(String srcPath, String dstPath) {
434 new MockUp<PackageWrapperUtil>() {
437 public PackageData getPackageData(PackageMeta meta) {
438 PackageData packageData = new PackageData();
439 packageData.setCreateTime("25-3-2017 15:26:00");
440 packageData.setDeletionPending("deletion");
441 packageData.setDownloadUri("downloaduri");
442 packageData.setFormat("format");
443 packageData.setModifyTime("time");
444 packageData.setName("name");
445 packageData.setCsarId("csarid");
446 packageData.setProvider("huawei");
447 String fileSize = "10 mb";
448 packageData.setSize(fileSize);
449 packageData.setType("type");
450 packageData.setVersion("v2.0");
451 packageData.setDetails("details");
452 packageData.setShortDesc("description");
453 packageData.setRemarks("remarks");
458 new MockUp<PackageHandler>() {
461 public PackageData create(PackageData packageData) {
462 PackageData packageDataObj = new PackageData();
463 packageDataObj.setCreateTime("25-3-2017 15:26:00");
464 packageDataObj.setDeletionPending("deletion");
465 packageDataObj.setDownloadUri("downloaduri");
466 packageDataObj.setFormat("format");
467 packageDataObj.setModifyTime("modifytime");
468 packageDataObj.setName("name");
469 packageDataObj.setCsarId("csarid");
470 packageDataObj.setProvider("huawei");
471 String fileSize = "10 mb";
472 packageDataObj.setSize(fileSize);
473 packageDataObj.setType("type");
474 packageDataObj.setVersion("v2.0");
475 packageDataObj.setDetails("details");
476 packageDataObj.setShortDesc("description");
477 packageDataObj.setRemarks("remarks");
478 return packageDataObj;
483 response = PackageWrapper.getInstance().reUploadPackage(null, null, null, null, null);
484 } catch(Exception e) {
487 assertEquals(417, response.getStatus());
490 fileDetail = FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
491 String fileName = "src" + File.separator + "test" + File.separator + "resources" + File.separator
492 + "clearwater_ns.csar";
493 inputStream = new FileInputStream(fileName);
494 response = PackageWrapper.getInstance().reUploadPackage("csarID", inputStream, fileDetail, null, null);
495 // assertEquals( 200, response.getStatus() );
496 } catch(Exception e) {
502 public void testgetOperResultByOperTypeIdFailure() throws Exception {
503 final ResultKey resultKeyObj = new ResultKey();
505 new MockUp<FunctionTestHook>() {
508 ResultKey getFuncTestResultKey(PackageData packageData) {
509 resultKeyObj.setKey("key");
513 new MockUp<FunctionTestExceutor>() {
516 String getTestResultsByFuncTestKey(String key) {
521 new MockUp<MarketplaceDaoImpl>() {
524 public List<PackageData> getPackageData(String csarId) {
525 List<PackageData> packageDataList = new ArrayList<PackageData>();
526 PackageData packageData = new PackageData();
527 packageData = new PackageData();
528 packageData.setCsarId(csarId);
529 packageData.setDownloadUri("src\\test\\resources\\learwater_ns.csar");
530 packageData.setName("clearwater_ns.csar");
531 packageData.setSize("59,854 bytes");
532 packageData.setVersion("v1.0");
533 packageData.setProvider("Airtel");
534 packageDataList.add(packageData);
535 return packageDataList;
540 response = PackageWrapper.getInstance().getOperResultByOperTypeId(csarID, operTypeId);
541 } catch(Exception e5) {
542 e5.printStackTrace();
544 assertEquals(500, response.getStatus());
547 response = PackageWrapper.getInstance().getOperResultByOperTypeId("", "");
548 } catch(Exception e) {
551 assertEquals(400, response.getStatus());
555 public void testgetOperResultByOperTypeIdSuccess() {
556 new MockUp<MarketplaceDaoImpl>() {
559 public List<PackageData> getPackageData(String csarId) {
560 List<PackageData> packageDataList = new ArrayList<PackageData>();
561 PackageData packageData = new PackageData();
562 packageData = new PackageData();
563 packageData.setCsarId(csarId);
564 packageData.setDownloadUri("src\\test\\resources\\learwater_ns.csar");
565 packageData.setName("clearwater_ns.csar");
566 packageData.setSize("59,854 bytes");
567 packageData.setVersion("v1.0");
568 packageData.setProvider("Airtel");
569 packageDataList.add(packageData);
570 return packageDataList;
574 new MockUp<ToolUtil>() {
577 public String getTempDir(String dirName, String fileName) {
579 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
583 new MockUp<PackageWrapper>() {
586 Response downloadCsarPackagesById(String csarId) throws FileNotFoundException {
588 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
589 InputStream fis = new BufferedInputStream(new FileInputStream(fileName));
590 return Response.ok(fis).header("Content-Disposition", "attachment; filename=\"" + fileName + "\"")
595 new MockUp<FunctionTestHook>() {
598 ResultKey getFuncTestResultKey(PackageData packageData) {
599 ResultKey resultKey = new ResultKey();
600 resultKey.setKey("key");
604 new MockUp<FunctionTestExceutor>() {
607 String getTestResultsByFuncTestKey(String key) {
613 response = PackageWrapper.getInstance().getOperResultByOperTypeId(csarID, operTypeId);
614 } catch(Exception e) {
621 public void testUploadPackage() throws Exception {
622 InputStream ins = null;
623 Response result = null;
625 * Response result1 = null; Response result2 = null; PackageData
626 * packageData = new PackageData(); packageData = getPackageData();
629 new MockUp<MarketplaceDaoImpl>() {
632 public List<PackageData> getPackageData(String csarId) {
633 List<PackageData> packageDataList = new ArrayList<PackageData>();
634 PackageData packageData = new PackageData();
635 packageData = new PackageData();
636 packageData.setCsarId(csarId);
637 packageData.setDownloadUri("src\\test\\resources\\");
638 packageData.setName("clearwater_ns.csar");
639 packageData.setSize("59,854 bytes");
640 packageData.setVersion("v1.0");
641 packageData.setProvider("Airtel");
642 packageDataList.add(packageData);
643 return packageDataList;
647 public List<PackageData> getPackageDataSubset(Map<String, String> paramsMap) {
648 List<PackageData> packageDataList = new ArrayList<PackageData>();
650 return packageDataList;
654 new MockUp<HttpFileManagerImpl>() {
657 public boolean delete(String srcPath) {
662 new MockUp<MarketplaceDaoImpl>() {
665 public void deletePackageData(String csarId) {
670 new MockUp<ToolUtil>() {
673 public String getTempDir(String dirName, String fileName) {
675 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
680 new MockUp<HttpFileManagerImpl>() {
683 public boolean upload(String srcPath, String dstPath) {
688 new MockUp<PackageWrapperUtil>() {
691 public PackageData getPackageData(PackageMeta meta) {
692 PackageData packageData = new PackageData();
693 packageData.setCreateTime("25-3-2017 15:26:00");
694 packageData.setDeletionPending("deletion");
695 packageData.setDownloadUri("downloaduri");
696 packageData.setFormat("format");
697 packageData.setModifyTime("time");
698 packageData.setName("name");
699 packageData.setCsarId("csarid");
700 packageData.setProvider("huawei");
701 String fileSize = "10 mb";
702 packageData.setSize(fileSize);
703 packageData.setType("type");
704 packageData.setVersion("v2.0");
705 packageData.setDetails("details");
706 packageData.setShortDesc("description");
707 packageData.setRemarks("remarks");
712 new MockUp<PackageHandler>() {
715 public PackageData create(PackageData packageData) {
716 PackageData packageDataObj = new PackageData();
717 packageDataObj.setCreateTime("25-3-2017 15:26:00");
718 packageDataObj.setDeletionPending("deletion");
719 packageDataObj.setDownloadUri("downloaduri");
720 packageDataObj.setFormat("format");
721 packageDataObj.setModifyTime("modifytime");
722 packageDataObj.setName("name");
723 packageDataObj.setCsarId("csarid");
724 packageDataObj.setProvider("huawei");
725 String fileSize = "10 mb";
726 packageDataObj.setSize(fileSize);
727 packageDataObj.setType("type");
728 packageDataObj.setVersion("v2.0");
729 packageDataObj.setDetails("details");
730 packageDataObj.setShortDesc("description");
731 packageDataObj.setRemarks("remarks");
732 return packageDataObj;
737 new MockUp<OpenRemoteCli>() {
740 public Result run(String[] args) {
741 Result result = Result.newBuilder().
743 setOutput("{\"error\":\"SUCCESS\"}").
750 FormDataContentDisposition fileDetail =
751 FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
754 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "clearwater_ns.csar";
755 File packageFile = new File(filenama);
758 ins = new FileInputStream(packageFile);
759 } catch(FileNotFoundException e2) {
760 e2.printStackTrace();
764 result = PackageWrapper.getInstance().uploadPackage(ins, fileDetail, null, null);
765 // PackageWrapper.getInstance().updateValidateStatus(ins);
766 } catch(Exception e3) {
767 e3.printStackTrace();
771 assertNotNull(result);
772 assertEquals(200, result.getStatus());
775 result = PackageWrapper.getInstance().uploadPackage(null, null, null, null);
776 } catch(Exception e4) {
777 e4.printStackTrace();
780 assertEquals(417, result.getStatus());
784 public void testUploadPackageFailedOnVtp() throws Exception {
785 InputStream ins = null;
786 Response result = null;
788 * Response result1 = null; Response result2 = null; PackageData
789 * packageData = new PackageData(); packageData = getPackageData();
792 new MockUp<MarketplaceDaoImpl>() {
795 public List<PackageData> getPackageData(String csarId) {
796 List<PackageData> packageDataList = new ArrayList<PackageData>();
797 PackageData packageData = new PackageData();
798 packageData = new PackageData();
799 packageData.setCsarId(csarId);
800 packageData.setDownloadUri("src\\test\\resources\\");
801 packageData.setName("clearwater_ns.csar");
802 packageData.setSize("59,854 bytes");
803 packageData.setVersion("v1.0");
804 packageData.setProvider("Airtel");
805 packageDataList.add(packageData);
806 return packageDataList;
810 public List<PackageData> getPackageDataSubset(Map<String, String> paramsMap) {
811 List<PackageData> packageDataList = new ArrayList<PackageData>();
813 return packageDataList;
817 new MockUp<HttpFileManagerImpl>() {
820 public boolean delete(String srcPath) {
825 new MockUp<MarketplaceDaoImpl>() {
828 public void deletePackageData(String csarId) {
833 new MockUp<ToolUtil>() {
836 public String getTempDir(String dirName, String fileName) {
838 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
843 new MockUp<HttpFileManagerImpl>() {
846 public boolean upload(String srcPath, String dstPath) {
851 new MockUp<PackageWrapperUtil>() {
854 public PackageData getPackageData(PackageMeta meta) {
855 PackageData packageData = new PackageData();
856 packageData.setCreateTime("25-3-2017 15:26:00");
857 packageData.setDeletionPending("deletion");
858 packageData.setDownloadUri("downloaduri");
859 packageData.setFormat("format");
860 packageData.setModifyTime("time");
861 packageData.setName("name");
862 packageData.setCsarId("csarid");
863 packageData.setProvider("huawei");
864 String fileSize = "10 mb";
865 packageData.setSize(fileSize);
866 packageData.setType("type");
867 packageData.setVersion("v2.0");
868 packageData.setDetails("details");
869 packageData.setShortDesc("description");
870 packageData.setRemarks("remarks");
875 new MockUp<PackageHandler>() {
878 public PackageData create(PackageData packageData) {
879 PackageData packageDataObj = new PackageData();
880 packageDataObj.setCreateTime("25-3-2017 15:26:00");
881 packageDataObj.setDeletionPending("deletion");
882 packageDataObj.setDownloadUri("downloaduri");
883 packageDataObj.setFormat("format");
884 packageDataObj.setModifyTime("modifytime");
885 packageDataObj.setName("name");
886 packageDataObj.setCsarId("csarid");
887 packageDataObj.setProvider("huawei");
888 String fileSize = "10 mb";
889 packageDataObj.setSize(fileSize);
890 packageDataObj.setType("type");
891 packageDataObj.setVersion("v2.0");
892 packageDataObj.setDetails("details");
893 packageDataObj.setShortDesc("description");
894 packageDataObj.setRemarks("remarks");
895 return packageDataObj;
900 new MockUp<OpenRemoteCli>() {
903 public Result run(String[] args) throws Exception {
904 throw new Exception();
908 FormDataContentDisposition fileDetail =
909 FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
912 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "clearwater_ns.csar";
913 File packageFile = new File(filenama);
916 ins = new FileInputStream(packageFile);
917 } catch(FileNotFoundException e2) {
918 e2.printStackTrace();
922 result = PackageWrapper.getInstance().uploadPackage(ins, fileDetail, null, null);
923 // PackageWrapper.getInstance().updateValidateStatus(ins);
924 } catch(Exception e3) {
925 e3.printStackTrace();
929 assertEquals(500, result.getStatus());
933 public void testGetOnBoardingStepsSuccess() {
934 new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
937 String getAppDeployPath() {
938 String path = "src" + File.separator + "main" + File.separator + "resources";
944 response = PackageWrapper.getInstance().getOnBoardingSteps();
945 } catch(Exception e) {
949 assertNotNull(response);
953 public void testGetOnBoardingStepsFailure() {
954 new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
957 String getAppDeployPath() {
958 String path = "src" + File.separator + "main" + File.separator + "resources" + File.separator
965 response = PackageWrapper.getInstance().getOnBoardingSteps();
966 } catch(Exception e) {
969 assertEquals(500, response.getStatus());
973 public void testRestGetClient() {
974 FunctionTestExceutor.getTestResultsByFuncTestKey("GET");
979 public void testRestPostClient() {
981 OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
982 onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
983 onBoradFuncTestReq.setPackageName("clearwater_ns.csar");
984 String result = FunctionTestExceutor.execFunctionTest(onBoradFuncTestReq);
986 // assertEquals(200,result);
991 public void testRestDeleteClient() {
992 RestResponse rsp = RestfulClient.delete("127.0.0.1", 8987, "TestURL");
994 if(rsp.getStatusCode() != null)
995 assertEquals(200, rsp.getStatusCode().intValue());
1000 public void testExec() {
1002 new MockUp<FunctionTestHook>() {
1005 String getResultStorePath() {
1006 return "src/test/resources";
1010 FunctionTestHook testHookObj = new FunctionTestHook();
1011 OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
1012 onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
1013 int res = testHookObj.exec(onBoradFuncTestReq);
1015 assertEquals(res, -1);
1020 public void testwriteJsonDatatoFile() {
1022 String filePath = "src//test//resources//functionTest.json";
1023 OnBoardingResult onBoardResultObj = new OnBoardingResult();
1024 onBoardResultObj.setCsarId("csrId");
1025 onBoardResultObj.setOperStatus(1);
1026 boolean res = FileUtil.writeJsonDatatoFile(filePath, onBoardResultObj);
1027 assertEquals(res, true);
1033 public void testCreateDirectory() {
1034 String dirPath = "src//test//resources//TestDirectory";
1035 boolean res = FileUtil.createDirectory(dirPath);
1036 assertEquals(res, true);
1041 public void testDeleteDirectory() {
1042 String dirPath = "src//test//resources//TestDirectory";
1043 boolean res = FileUtil.deleteFile(dirPath);
1044 assertEquals(res, true);
1049 public void testGenerateId() {
1050 String id = MarketplaceDbUtil.generateId();
1055 public void testisNotEmpty() {
1056 boolean res = MarketplaceDbUtil.isNotEmpty(null);
1057 assertEquals(res, false);
1058 res = MarketplaceDbUtil.isNotEmpty("test");
1059 assertEquals(res, true);
1063 public void testobjectToString() {
1064 Object obj = "testexa";
1065 String res = MarketplaceDbUtil.objectToString(obj);
1067 res = MarketplaceDbUtil.objectToString(null);
1072 public void testisEmptyString() {
1073 boolean res = ToolUtil.isEmptyString(null);
1074 assertEquals(res, true);
1075 res = ToolUtil.isEmptyString("huawei");
1076 assertEquals(res, false);
1080 public void testisTrimedEmptyString() {
1081 boolean res = ToolUtil.isTrimedEmptyString(null);
1082 assertEquals(res, true);
1083 res = ToolUtil.isTrimedEmptyString(" ");
1084 assertEquals(res, true);
1088 public void testisEmptyCollection() {
1090 boolean res = ToolUtil.isEmptyCollection(new ArrayList());
1091 assertEquals(res, true);
1095 public void testisYamlFile() {
1096 File fileObj = new File("test.txt");
1097 boolean res = ToolUtil.isYamlFile(fileObj);
1098 assertEquals(res, false);
1102 public void testgenerateID() {
1103 String id = ToolUtil.generateId();
1108 public void testgetFormatFileSize() {
1109 String res = ToolUtil.getFormatFileSize(10000000);
1111 res = ToolUtil.getFormatFileSize(10000);
1113 res = ToolUtil.getFormatFileSize(100);
1118 public void testObjectToString() {
1119 Object obj = "testexa";
1120 String res = ToolUtil.objectToString(obj);
1122 res = ToolUtil.objectToString(null);
1127 public void testprocessFileName() {
1128 String res = ToolUtil.processFileName("abc.txt");
1130 res = ToolUtil.processFileName("abc.zip");
1135 public void testremoveCsarSuffix() {
1136 String res = ToolUtil.removeCsarSuffix("abc.csar");
1137 assertEquals(res, "abc");
1141 public void testformatCsar() {
1142 String res = ToolUtil.formatCsar("abc");
1143 assertEquals(res, "abc.csar");
1147 public void testformatFileSize() {
1148 String res = ToolUtil.formatFileSize(10000.0, 10);
1149 String expected = new DecimalFormat("#0.00").format(1000) + "M";// may
1157 assertEquals(res, expected);
1161 public void testgetFileSize() {
1162 File fileObj = new File("example.txt");
1163 String res = ToolUtil.getFileSize(fileObj, 10);
1168 public void testgetCatalogueCsarPath() {
1169 String res = ToolUtil.getCatalogueCsarPath();
1170 assertEquals(res, File.separator + "csar");
1174 public void testgetCatalogueImagePath() {
1175 String res = ToolUtil.getCatalogueImagePath();
1176 assertEquals(res, File.separator + "image");
1180 public void testdeleteFile() {
1181 boolean res = ToolUtil.deleteFile("src//test//resources", "test1.txt");
1182 assertEquals(res, true);
1186 public void teststoreChunkFileInLocal() {
1188 inputStream = new FileInputStream("src//test//resources//Test.txt");
1189 String res = ToolUtil.storeChunkFileInLocal("src//test//resources", "TestOut.txt", inputStream);
1190 File file = new File(res);
1191 String fileName = file.getName();
1192 assertEquals(fileName, "TestOut.txt");
1194 } catch(Exception ex) {
1195 ex.printStackTrace();
1200 public void testToolUtildeleteFile() {
1201 boolean res = ToolUtil.deleteFile("src/test/resources", "TestOut.txt");
1202 assertEquals(res, true);
1207 public void testUnzip() {
1209 List<String> listObj = new ArrayList<String>();
1211 listObj = FileUtil.unzip("src/test/resources/temp.zip", "src/test/resources/testfolder");
1212 } catch(Exception ex) {
1213 ex.printStackTrace();
1215 assertNotNull(listObj);
1219 public void testreadJsonDatafFromFile() {
1222 FileUtil.readJsonDatafFromFile("src/main/resources/generalconfig/OnBoardingSteps.json", Object.class);
1227 public void testGetPkgSize() {
1228 long pkgSize = PackageWrapperUtil.getPacakgeSize("src/test/resources/Test.txt");
1229 assertNotNull(pkgSize);
1233 public void testPkgFormat() {
1234 assertNotNull(PackageWrapperUtil.getPackageFormat("xml"));
1235 assertNotNull(PackageWrapperUtil.getPackageFormat("yml"));
1236 assertNull(PackageWrapperUtil.getPackageFormat("pdf"));
1238 MsbDetailsHolder.getMsbDetails();
1240 IMarketplaceDao dao = new MarketplaceDaoImpl();
1242 packageDataList = new ArrayList<PackageData>();
1243 packageData = new PackageData();
1244 packageData.setCsarId("21");
1245 packageData.setDownloadUri("src\\test\\resources\\");
1246 packageData.setName("clearwater_ns.csar");
1247 packageData.setSize("59,854 bytes");
1248 packageData.setVersion("v1.0");
1249 packageData.setProvider("Huawei");
1250 packageDataList.add(packageData);
1252 dao.savePackageData(packageData);
1253 dao.getAllPackageData();
1254 dao.getPackageData("21");
1255 dao.updatePackageData(packageData);
1256 dao.deletePackageData("21");
1258 } catch(Exception e) {
1264 public void testVnfPackageSetter() {
1266 vnfPackageObj.setVnfPackageId("vnfpackageId");
1267 vnfPackageObj.setVnfPackageUrl("vnfPackageUrl");
1268 vnfPackageObj.setVnfd("vnfd");
1269 vnfPackageObj.setVersion("1");
1270 vnfPackageObj.setUsageState(EnumUsageState.NotInUse);
1271 vnfPackageObj.setProvider("huawei");
1272 vnfPackageObj.setOperationalState(EnumOperationalState.Enabled);
1273 vnfPackageObj.setName("vnf");
1274 vnfPackageObj.setDeletionPending("pending");
1276 String res = vnfPackageObj.getVnfPackageId();
1277 assertEquals(res, "vnfpackageId");
1278 res = vnfPackageObj.getVnfPackageUrl();
1279 assertEquals(res, "vnfPackageUrl");
1280 res = vnfPackageObj.getVnfd();
1281 assertEquals(res, "vnfd");
1282 res = vnfPackageObj.getVersion();
1283 assertEquals(res, "1");
1284 EnumUsageState state = vnfPackageObj.getUsageState();
1285 assertEquals(state, EnumUsageState.NotInUse);
1286 res = vnfPackageObj.getProvider();
1287 assertEquals(res, "huawei");
1288 EnumOperationalState operState = vnfPackageObj.getOperationalState();
1289 assertEquals(operState, EnumOperationalState.Enabled);
1290 res = vnfPackageObj.getName();
1291 assertEquals(res, "vnf");
1292 res = vnfPackageObj.getDeletionPending();
1293 assertEquals(res, "pending");
1297 public void testCsarPackageSetter() {
1298 csarPackageObj.setCreateTime("04052017");
1299 csarPackageObj.setDeletionPending("pending");
1300 csarPackageObj.setFormat("format");
1301 csarPackageObj.setId("12");
1302 csarPackageObj.setName("csartest");
1303 csarPackageObj.setSize("10");
1304 csarPackageObj.setStatus("done");
1305 csarPackageObj.setType("type");
1306 csarPackageObj.setUrl("//network");
1308 String res = csarPackageObj.getCreateTime();
1309 assertEquals(res, "04052017");
1310 res = csarPackageObj.getDeletionPending();
1311 assertEquals(res, "pending");
1312 res = csarPackageObj.getFormat();
1313 assertEquals(res, "format");
1314 res = csarPackageObj.getId();
1315 assertEquals(res, "12");
1316 res = csarPackageObj.getName();
1317 assertEquals(res, "csartest");
1318 res = csarPackageObj.getSize();
1319 assertEquals(res, "10");
1320 res = csarPackageObj.getStatus();
1321 assertEquals(res, "done");
1322 res = csarPackageObj.getType();
1323 assertEquals(res, "type");
1324 res = csarPackageObj.getUrl();
1325 assertEquals(res, "//network");
1330 public void testPackageBasicInfoSetter() {
1331 pkgBasicInfoObj.setFormat("pdf");
1332 pkgBasicInfoObj.setProvider("huawei");
1333 pkgBasicInfoObj.setType(EnumType.GSAR);
1334 pkgBasicInfoObj.setVersion("1");
1335 String res = pkgBasicInfoObj.getFormat();
1336 assertEquals(res, "pdf");
1337 res = pkgBasicInfoObj.getProvider();
1338 assertEquals(res, "huawei");
1339 EnumType type = pkgBasicInfoObj.getType();
1340 assertEquals(type, EnumType.GSAR);
1341 res = pkgBasicInfoObj.getVersion();
1342 assertEquals(res, "1");
1346 public void testPackageMetaSetter() {
1347 pkgMetaObj.setCreateTime("05042017");
1348 pkgMetaObj.setCsarId("csarid");
1349 pkgMetaObj.setDeletionPending(true);
1350 pkgMetaObj.setDetails("details");
1351 pkgMetaObj.setDownloadCount(10);
1352 pkgMetaObj.setDownloadUri("//network");
1353 pkgMetaObj.setFormat("pdf");
1354 pkgMetaObj.setModifyTime("05042017");
1355 pkgMetaObj.setName("huawei");
1356 pkgMetaObj.setProvider("huawei");
1357 pkgMetaObj.setRemarks("tested");
1358 pkgMetaObj.setReport("done");
1359 pkgMetaObj.setShortDesc("done");
1360 pkgMetaObj.setSize("1000");
1361 pkgMetaObj.setType("type");
1362 pkgMetaObj.setVersion("1");
1364 String res = pkgMetaObj.getCreateTime();
1365 assertEquals(res, "05042017");
1366 res = pkgMetaObj.getCsarId();
1367 assertEquals(res, "csarid");
1368 res = pkgMetaObj.getDetails();
1369 assertEquals(res, "details");
1370 res = pkgMetaObj.getDownloadCount() + "";
1371 assertEquals(res, "10");
1372 res = pkgMetaObj.getDownloadUri();
1373 assertEquals(res, "//network");
1374 res = pkgMetaObj.getFormat();
1375 assertEquals(res, "pdf");
1376 res = pkgMetaObj.getModifyTime();
1377 assertEquals(res, "05042017");
1378 res = pkgMetaObj.getName();
1379 assertEquals(res, "huawei");
1380 res = pkgMetaObj.getProvider();
1381 assertEquals(res, "huawei");
1382 res = pkgMetaObj.getRemarks();
1383 assertEquals(res, "tested");
1384 res = pkgMetaObj.getReport();
1385 assertEquals(res, "done");
1386 res = pkgMetaObj.getShortDesc();
1387 assertEquals(res, "done");
1388 res = pkgMetaObj.getSize();
1389 assertEquals(res, "1000");
1390 res = pkgMetaObj.getType();
1391 assertEquals(res, "type");
1392 res = pkgMetaObj.getVersion();
1393 assertEquals(res, "1");
1397 public void testPackageResponseSetter() {
1398 pkgResponseObj.setReportPath("localpath");
1399 String res = pkgResponseObj.getReportPath();
1400 assertEquals(res, "localpath");
1405 public void testCsarFileUriResSetter() {
1406 csarFileUriResObj.setDownloadUri("downloaduri");
1407 csarFileUriResObj.setLocalPath("localpath");
1408 String res = csarFileUriResObj.getDownloadUri();
1409 assertEquals(res, "downloaduri");
1410 res = csarFileUriResObj.getLocalPath();
1411 assertEquals(res, "localpath");