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<PackageHandler>() {
691 public PackageData create(PackageData packageData) {
692 PackageData packageDataObj = new PackageData();
693 packageDataObj.setCreateTime("25-3-2017 15:26:00");
694 packageDataObj.setDeletionPending("deletion");
695 packageDataObj.setDownloadUri("downloaduri");
696 packageDataObj.setFormat("format");
697 packageDataObj.setModifyTime("modifytime");
698 packageDataObj.setName("name");
699 packageDataObj.setCsarId("csarid");
700 packageDataObj.setProvider("huawei");
701 String fileSize = "10 mb";
702 packageDataObj.setSize(fileSize);
703 packageDataObj.setType("type");
704 packageDataObj.setVersion("v2.0");
705 packageDataObj.setDetails("details");
706 packageDataObj.setShortDesc("description");
707 packageDataObj.setRemarks("remarks");
708 return packageDataObj;
713 new MockUp<OpenRemoteCli>() {
716 public Result run(String[] args) {
717 Result result = Result.newBuilder().
719 setOutput("{\"error\":\"SUCCESS\"}").
726 FormDataContentDisposition fileDetail =
727 FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
730 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "clearwater_ns.csar";
731 File packageFile = new File(filenama);
734 ins = new FileInputStream(packageFile);
735 } catch(FileNotFoundException e2) {
736 e2.printStackTrace();
740 result = PackageWrapper.getInstance().uploadPackage(ins, fileDetail, null, null);
741 // PackageWrapper.getInstance().updateValidateStatus(ins);
742 } catch(Exception e3) {
743 e3.printStackTrace();
747 assertNotNull(result);
748 assertEquals(200, result.getStatus());
751 result = PackageWrapper.getInstance().uploadPackage(null, null, null, null);
752 } catch(Exception e4) {
753 e4.printStackTrace();
756 assertEquals(417, result.getStatus());
760 public void testUploadPackageFailedOnVtp() throws Exception {
761 InputStream ins = null;
762 Response result = null;
764 * Response result1 = null; Response result2 = null; PackageData
765 * packageData = new PackageData(); packageData = getPackageData();
768 new MockUp<MarketplaceDaoImpl>() {
771 public List<PackageData> getPackageData(String csarId) {
772 List<PackageData> packageDataList = new ArrayList<PackageData>();
773 PackageData packageData = new PackageData();
774 packageData = new PackageData();
775 packageData.setCsarId(csarId);
776 packageData.setDownloadUri("src\\test\\resources\\");
777 packageData.setName("clearwater_ns.csar");
778 packageData.setSize("59,854 bytes");
779 packageData.setVersion("v1.0");
780 packageData.setProvider("Airtel");
781 packageDataList.add(packageData);
782 return packageDataList;
786 public List<PackageData> getPackageDataSubset(Map<String, String> paramsMap) {
787 List<PackageData> packageDataList = new ArrayList<PackageData>();
789 return packageDataList;
793 new MockUp<HttpFileManagerImpl>() {
796 public boolean delete(String srcPath) {
801 new MockUp<MarketplaceDaoImpl>() {
804 public void deletePackageData(String csarId) {
809 new MockUp<ToolUtil>() {
812 public String getTempDir(String dirName, String fileName) {
814 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
819 new MockUp<HttpFileManagerImpl>() {
822 public boolean upload(String srcPath, String dstPath) {
827 new MockUp<PackageWrapperUtil>() {
830 public PackageData getPackageData(PackageMeta meta) {
831 PackageData packageData = new PackageData();
832 packageData.setCreateTime("25-3-2017 15:26:00");
833 packageData.setDeletionPending("deletion");
834 packageData.setDownloadUri("downloaduri");
835 packageData.setFormat("format");
836 packageData.setModifyTime("time");
837 packageData.setName("name");
838 packageData.setCsarId("csarid");
839 packageData.setProvider("huawei");
840 String fileSize = "10 mb";
841 packageData.setSize(fileSize);
842 packageData.setType("type");
843 packageData.setVersion("v2.0");
844 packageData.setDetails("details");
845 packageData.setShortDesc("description");
846 packageData.setRemarks("remarks");
851 new MockUp<PackageHandler>() {
854 public PackageData create(PackageData packageData) {
855 PackageData packageDataObj = new PackageData();
856 packageDataObj.setCreateTime("25-3-2017 15:26:00");
857 packageDataObj.setDeletionPending("deletion");
858 packageDataObj.setDownloadUri("downloaduri");
859 packageDataObj.setFormat("format");
860 packageDataObj.setModifyTime("modifytime");
861 packageDataObj.setName("name");
862 packageDataObj.setCsarId("csarid");
863 packageDataObj.setProvider("huawei");
864 String fileSize = "10 mb";
865 packageDataObj.setSize(fileSize);
866 packageDataObj.setType("type");
867 packageDataObj.setVersion("v2.0");
868 packageDataObj.setDetails("details");
869 packageDataObj.setShortDesc("description");
870 packageDataObj.setRemarks("remarks");
871 return packageDataObj;
876 new MockUp<OpenRemoteCli>() {
879 public Result run(String[] args) throws Exception {
880 throw new Exception();
884 FormDataContentDisposition fileDetail =
885 FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
888 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "clearwater_ns.csar";
889 File packageFile = new File(filenama);
892 ins = new FileInputStream(packageFile);
893 } catch(FileNotFoundException e2) {
894 e2.printStackTrace();
898 result = PackageWrapper.getInstance().uploadPackage(ins, fileDetail, null, null);
899 // PackageWrapper.getInstance().updateValidateStatus(ins);
900 } catch(Exception e3) {
901 e3.printStackTrace();
905 assertEquals(500, result.getStatus());
909 public void testGetOnBoardingStepsSuccess() {
910 new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
913 String getAppDeployPath() {
914 String path = "src" + File.separator + "main" + File.separator + "resources";
920 response = PackageWrapper.getInstance().getOnBoardingSteps();
921 } catch(Exception e) {
925 assertNotNull(response);
929 public void testGetOnBoardingStepsFailure() {
930 new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
933 String getAppDeployPath() {
934 String path = "src" + File.separator + "main" + File.separator + "resources" + File.separator
941 response = PackageWrapper.getInstance().getOnBoardingSteps();
942 } catch(Exception e) {
945 assertEquals(500, response.getStatus());
949 public void testRestGetClient() {
950 FunctionTestExceutor.getTestResultsByFuncTestKey("GET");
955 public void testRestPostClient() {
957 OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
958 onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
959 onBoradFuncTestReq.setPackageName("clearwater_ns.csar");
960 String result = FunctionTestExceutor.execFunctionTest(onBoradFuncTestReq);
962 // assertEquals(200,result);
967 public void testRestDeleteClient() {
968 RestResponse rsp = RestfulClient.delete("127.0.0.1", 8987, "TestURL");
970 if(rsp.getStatusCode() != null)
971 assertEquals(200, rsp.getStatusCode().intValue());
976 public void testExec() {
978 new MockUp<FunctionTestHook>() {
981 String getResultStorePath() {
982 return "src/test/resources";
986 FunctionTestHook testHookObj = new FunctionTestHook();
987 OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
988 onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
989 int res = testHookObj.exec(onBoradFuncTestReq);
991 assertEquals(res, -1);
996 public void testwriteJsonDatatoFile() {
998 String filePath = "src//test//resources//functionTest.json";
999 OnBoardingResult onBoardResultObj = new OnBoardingResult();
1000 onBoardResultObj.setCsarId("csrId");
1001 onBoardResultObj.setOperStatus(1);
1002 boolean res = FileUtil.writeJsonDatatoFile(filePath, onBoardResultObj);
1003 assertEquals(res, true);
1009 public void testCreateDirectory() {
1010 String dirPath = "src//test//resources//TestDirectory";
1011 boolean res = FileUtil.createDirectory(dirPath);
1012 assertEquals(res, true);
1017 public void testDeleteDirectory() {
1018 String dirPath = "src//test//resources//TestDirectory";
1019 boolean res = FileUtil.deleteFile(dirPath);
1020 assertEquals(res, true);
1025 public void testGenerateId() {
1026 String id = MarketplaceDbUtil.generateId();
1031 public void testisNotEmpty() {
1032 boolean res = MarketplaceDbUtil.isNotEmpty(null);
1033 assertEquals(res, false);
1034 res = MarketplaceDbUtil.isNotEmpty("test");
1035 assertEquals(res, true);
1039 public void testobjectToString() {
1040 Object obj = "testexa";
1041 String res = MarketplaceDbUtil.objectToString(obj);
1043 res = MarketplaceDbUtil.objectToString(null);
1048 public void testisEmptyString() {
1049 boolean res = ToolUtil.isEmptyString(null);
1050 assertEquals(res, true);
1051 res = ToolUtil.isEmptyString("huawei");
1052 assertEquals(res, false);
1056 public void testisTrimedEmptyString() {
1057 boolean res = ToolUtil.isTrimedEmptyString(null);
1058 assertEquals(res, true);
1059 res = ToolUtil.isTrimedEmptyString(" ");
1060 assertEquals(res, true);
1064 public void testisEmptyCollection() {
1066 boolean res = ToolUtil.isEmptyCollection(new ArrayList());
1067 assertEquals(res, true);
1071 public void testisYamlFile() {
1072 File fileObj = new File("test.txt");
1073 boolean res = ToolUtil.isYamlFile(fileObj);
1074 assertEquals(res, false);
1078 public void testgenerateID() {
1079 String id = ToolUtil.generateId();
1084 public void testgetFormatFileSize() {
1085 String res = ToolUtil.getFormatFileSize(10000000);
1087 res = ToolUtil.getFormatFileSize(10000);
1089 res = ToolUtil.getFormatFileSize(100);
1094 public void testObjectToString() {
1095 Object obj = "testexa";
1096 String res = ToolUtil.objectToString(obj);
1098 res = ToolUtil.objectToString(null);
1103 public void testprocessFileName() {
1104 String res = ToolUtil.processFileName("abc.txt");
1106 res = ToolUtil.processFileName("abc.zip");
1111 public void testremoveCsarSuffix() {
1112 String res = ToolUtil.removeCsarSuffix("abc.csar");
1113 assertEquals(res, "abc");
1117 public void testformatCsar() {
1118 String res = ToolUtil.formatCsar("abc");
1119 assertEquals(res, "abc.csar");
1123 public void testformatFileSize() {
1124 String res = ToolUtil.formatFileSize(10000.0, 10);
1125 String expected = new DecimalFormat("#0.00").format(1000) + "M";// may
1133 assertEquals(res, expected);
1137 public void testgetFileSize() {
1138 File fileObj = new File("example.txt");
1139 String res = ToolUtil.getFileSize(fileObj, 10);
1144 public void testgetCatalogueCsarPath() {
1145 String res = ToolUtil.getCatalogueCsarPath();
1146 assertEquals(res, File.separator + "csar");
1150 public void testgetCatalogueImagePath() {
1151 String res = ToolUtil.getCatalogueImagePath();
1152 assertEquals(res, File.separator + "image");
1156 public void testdeleteFile() {
1157 boolean res = ToolUtil.deleteFile("src//test//resources", "test1.txt");
1158 assertEquals(res, true);
1162 public void teststoreChunkFileInLocal() {
1164 inputStream = new FileInputStream("src//test//resources//Test.txt");
1165 String res = ToolUtil.storeChunkFileInLocal("src//test//resources", "TestOut.txt", inputStream);
1166 File file = new File(res);
1167 String fileName = file.getName();
1168 assertEquals(fileName, "TestOut.txt");
1170 } catch(Exception ex) {
1171 ex.printStackTrace();
1176 public void testToolUtildeleteFile() {
1177 boolean res = ToolUtil.deleteFile("src/test/resources", "TestOut.txt");
1178 assertEquals(res, true);
1183 public void testUnzip() {
1185 List<String> listObj = new ArrayList<String>();
1187 listObj = FileUtil.unzip("src/test/resources/temp.zip", "src/test/resources/testfolder");
1188 } catch(Exception ex) {
1189 ex.printStackTrace();
1191 assertNotNull(listObj);
1195 public void testreadJsonDatafFromFile() {
1198 FileUtil.readJsonDatafFromFile("src/main/resources/generalconfig/OnBoardingSteps.json", Object.class);
1203 public void testGetPkgSize() {
1204 long pkgSize = PackageWrapperUtil.getPacakgeSize("src/test/resources/Test.txt");
1205 assertNotNull(pkgSize);
1209 public void testPkgFormat() {
1210 assertNotNull(PackageWrapperUtil.getPackageFormat("xml"));
1211 assertNotNull(PackageWrapperUtil.getPackageFormat("yml"));
1212 assertNull(PackageWrapperUtil.getPackageFormat("pdf"));
1214 MsbDetailsHolder.getMsbDetails();
1216 IMarketplaceDao dao = new MarketplaceDaoImpl();
1218 packageDataList = new ArrayList<PackageData>();
1219 packageData = new PackageData();
1220 packageData.setCsarId("21");
1221 packageData.setDownloadUri("src\\test\\resources\\");
1222 packageData.setName("clearwater_ns.csar");
1223 packageData.setSize("59,854 bytes");
1224 packageData.setVersion("v1.0");
1225 packageData.setProvider("Huawei");
1226 packageDataList.add(packageData);
1228 dao.savePackageData(packageData);
1229 dao.getAllPackageData();
1230 dao.getPackageData("21");
1231 dao.updatePackageData(packageData);
1232 dao.deletePackageData("21");
1234 } catch(Exception e) {
1240 public void testVnfPackageSetter() {
1242 vnfPackageObj.setVnfPackageId("vnfpackageId");
1243 vnfPackageObj.setVnfPackageUrl("vnfPackageUrl");
1244 vnfPackageObj.setVnfd("vnfd");
1245 vnfPackageObj.setVersion("1");
1246 vnfPackageObj.setUsageState(EnumUsageState.NotInUse);
1247 vnfPackageObj.setProvider("huawei");
1248 vnfPackageObj.setOperationalState(EnumOperationalState.Enabled);
1249 vnfPackageObj.setName("vnf");
1250 vnfPackageObj.setDeletionPending("pending");
1252 String res = vnfPackageObj.getVnfPackageId();
1253 assertEquals(res, "vnfpackageId");
1254 res = vnfPackageObj.getVnfPackageUrl();
1255 assertEquals(res, "vnfPackageUrl");
1256 res = vnfPackageObj.getVnfd();
1257 assertEquals(res, "vnfd");
1258 res = vnfPackageObj.getVersion();
1259 assertEquals(res, "1");
1260 EnumUsageState state = vnfPackageObj.getUsageState();
1261 assertEquals(state, EnumUsageState.NotInUse);
1262 res = vnfPackageObj.getProvider();
1263 assertEquals(res, "huawei");
1264 EnumOperationalState operState = vnfPackageObj.getOperationalState();
1265 assertEquals(operState, EnumOperationalState.Enabled);
1266 res = vnfPackageObj.getName();
1267 assertEquals(res, "vnf");
1268 res = vnfPackageObj.getDeletionPending();
1269 assertEquals(res, "pending");
1273 public void testCsarPackageSetter() {
1274 csarPackageObj.setCreateTime("04052017");
1275 csarPackageObj.setDeletionPending("pending");
1276 csarPackageObj.setFormat("format");
1277 csarPackageObj.setId("12");
1278 csarPackageObj.setName("csartest");
1279 csarPackageObj.setSize("10");
1280 csarPackageObj.setStatus("done");
1281 csarPackageObj.setType("type");
1282 csarPackageObj.setUrl("//network");
1284 String res = csarPackageObj.getCreateTime();
1285 assertEquals(res, "04052017");
1286 res = csarPackageObj.getDeletionPending();
1287 assertEquals(res, "pending");
1288 res = csarPackageObj.getFormat();
1289 assertEquals(res, "format");
1290 res = csarPackageObj.getId();
1291 assertEquals(res, "12");
1292 res = csarPackageObj.getName();
1293 assertEquals(res, "csartest");
1294 res = csarPackageObj.getSize();
1295 assertEquals(res, "10");
1296 res = csarPackageObj.getStatus();
1297 assertEquals(res, "done");
1298 res = csarPackageObj.getType();
1299 assertEquals(res, "type");
1300 res = csarPackageObj.getUrl();
1301 assertEquals(res, "//network");
1306 public void testPackageBasicInfoSetter() {
1307 pkgBasicInfoObj.setFormat("pdf");
1308 pkgBasicInfoObj.setProvider("huawei");
1309 pkgBasicInfoObj.setType(EnumType.GSAR);
1310 pkgBasicInfoObj.setVersion("1");
1311 String res = pkgBasicInfoObj.getFormat();
1312 assertEquals(res, "pdf");
1313 res = pkgBasicInfoObj.getProvider();
1314 assertEquals(res, "huawei");
1315 EnumType type = pkgBasicInfoObj.getType();
1316 assertEquals(type, EnumType.GSAR);
1317 res = pkgBasicInfoObj.getVersion();
1318 assertEquals(res, "1");
1322 public void testPackageMetaSetter() {
1323 pkgMetaObj.setCreateTime("05042017");
1324 pkgMetaObj.setCsarId("csarid");
1325 pkgMetaObj.setDeletionPending(true);
1326 pkgMetaObj.setDetails("details");
1327 pkgMetaObj.setDownloadCount(10);
1328 pkgMetaObj.setDownloadUri("//network");
1329 pkgMetaObj.setFormat("pdf");
1330 pkgMetaObj.setModifyTime("05042017");
1331 pkgMetaObj.setName("huawei");
1332 pkgMetaObj.setProvider("huawei");
1333 pkgMetaObj.setRemarks("tested");
1334 pkgMetaObj.setReport("done");
1335 pkgMetaObj.setShortDesc("done");
1336 pkgMetaObj.setSize("1000");
1337 pkgMetaObj.setType("type");
1338 pkgMetaObj.setVersion("1");
1340 String res = pkgMetaObj.getCreateTime();
1341 assertEquals(res, "05042017");
1342 res = pkgMetaObj.getCsarId();
1343 assertEquals(res, "csarid");
1344 res = pkgMetaObj.getDetails();
1345 assertEquals(res, "details");
1346 res = pkgMetaObj.getDownloadCount() + "";
1347 assertEquals(res, "10");
1348 res = pkgMetaObj.getDownloadUri();
1349 assertEquals(res, "//network");
1350 res = pkgMetaObj.getFormat();
1351 assertEquals(res, "pdf");
1352 res = pkgMetaObj.getModifyTime();
1353 assertEquals(res, "05042017");
1354 res = pkgMetaObj.getName();
1355 assertEquals(res, "huawei");
1356 res = pkgMetaObj.getProvider();
1357 assertEquals(res, "huawei");
1358 res = pkgMetaObj.getRemarks();
1359 assertEquals(res, "tested");
1360 res = pkgMetaObj.getReport();
1361 assertEquals(res, "done");
1362 res = pkgMetaObj.getShortDesc();
1363 assertEquals(res, "done");
1364 res = pkgMetaObj.getSize();
1365 assertEquals(res, "1000");
1366 res = pkgMetaObj.getType();
1367 assertEquals(res, "type");
1368 res = pkgMetaObj.getVersion();
1369 assertEquals(res, "1");
1373 public void testPackageResponseSetter() {
1374 pkgResponseObj.setReportPath("localpath");
1375 String res = pkgResponseObj.getReportPath();
1376 assertEquals(res, "localpath");
1381 public void testCsarFileUriResSetter() {
1382 csarFileUriResObj.setDownloadUri("downloaduri");
1383 csarFileUriResObj.setLocalPath("localpath");
1384 String res = csarFileUriResObj.getDownloadUri();
1385 assertEquals(res, "downloaduri");
1386 res = csarFileUriResObj.getLocalPath();
1387 assertEquals(res, "localpath");