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;
 
  33 import java.util.zip.ZipEntry;
 
  34 import java.util.zip.ZipOutputStream;
 
  36 import javax.ws.rs.core.Response;
 
  38 import org.apache.ibatis.exceptions.PersistenceException;
 
  39 import org.codehaus.jackson.JsonNode;
 
  40 import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
 
  41 import org.junit.Before;
 
  42 import org.junit.Test;
 
  43 import org.onap.vnfsdk.marketplace.common.FileUtil;
 
  44 import org.onap.vnfsdk.marketplace.common.JsonUtil;
 
  45 import org.onap.vnfsdk.marketplace.common.ToolUtil;
 
  46 import org.onap.vnfsdk.marketplace.db.entity.PackageData;
 
  47 import org.onap.vnfsdk.marketplace.db.impl.MarketplaceDaoImpl;
 
  48 import org.onap.vnfsdk.marketplace.db.inf.IMarketplaceDao;
 
  49 import org.onap.vnfsdk.marketplace.db.resource.PackageManager;
 
  50 import org.onap.vnfsdk.marketplace.db.util.MarketplaceDbUtil;
 
  51 import org.onap.vnfsdk.marketplace.db.wrapper.PackageHandler;
 
  52 import org.onap.vnfsdk.marketplace.entity.CsarPackage;
 
  53 import org.onap.vnfsdk.marketplace.entity.EnumOperationalState;
 
  54 import org.onap.vnfsdk.marketplace.entity.EnumType;
 
  55 import org.onap.vnfsdk.marketplace.entity.EnumUsageState;
 
  56 import org.onap.vnfsdk.marketplace.entity.VnfPackage;
 
  57 import org.onap.vnfsdk.marketplace.entity.request.PackageBasicInfo;
 
  58 import org.onap.vnfsdk.marketplace.entity.response.CsarFileUriResponse;
 
  59 import org.onap.vnfsdk.marketplace.entity.response.PackageMeta;
 
  60 import org.onap.vnfsdk.marketplace.entity.response.PackageResponse;
 
  61 import org.onap.vnfsdk.marketplace.filemanage.http.HttpFileManagerImpl;
 
  62 import org.onap.vnfsdk.marketplace.onboarding.entity.OnBoardingResult;
 
  63 import org.onap.vnfsdk.marketplace.onboarding.entity.OnBoradingRequest;
 
  64 import org.onap.vnfsdk.marketplace.onboarding.entity.ResultKey;
 
  65 import org.onap.vnfsdk.marketplace.onboarding.hooks.functiontest.FunctionTestExceutor;
 
  66 import org.onap.vnfsdk.marketplace.onboarding.hooks.functiontest.FunctionTestHook;
 
  67 import org.onap.vnfsdk.marketplace.rest.RestResponse;
 
  68 import org.onap.vnfsdk.marketplace.rest.RestfulClient;
 
  69 import org.onap.vnfsdk.marketplace.wrapper.PackageWrapper;
 
  70 import org.onap.vnfsdk.marketplace.wrapper.PackageWrapperUtil;
 
  75 public class PackageResourceTest {
 
  77     private PackageResource packageResource = null;
 
  79     private Response response = null;
 
  81     private String csarID = "csarid";
 
  83     private List<PackageData> packageDataList = null;
 
  85     private PackageData packageData = null;
 
  87     private FormDataContentDisposition fileDetail = null;
 
  89     private InputStream inputStream = null;
 
  91     private String operTypeId = "opertype";
 
  93     private VnfPackage vnfPackageObj = null;
 
  95     private CsarPackage csarPackageObj = null;
 
  97     private PackageBasicInfo pkgBasicInfoObj = null;
 
  99     private PackageMeta pkgMetaObj = null;
 
 101     private PackageResponse pkgResponseObj = null;
 
 103     private CsarFileUriResponse csarFileUriResObj = null;
 
 106     public void setUp() {
 
 107         packageResource = new PackageResource();
 
 108         vnfPackageObj = new VnfPackage();
 
 109         csarPackageObj = new CsarPackage();
 
 110         pkgBasicInfoObj = new PackageBasicInfo();
 
 111         pkgMetaObj = new PackageMeta();
 
 112         pkgResponseObj = new PackageResponse();
 
 113         csarFileUriResObj = new CsarFileUriResponse();
 
 117     public void createTestFile() {
 
 118         String filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
 
 119         File file = new File(filePath);
 
 121             file.createNewFile();
 
 122             FileWriter writer = new FileWriter(file);
 
 123             writer.write("This is test file.");
 
 125         } catch(Exception e) {
 
 129         filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
 
 130         file = new File(filePath);
 
 135         StringBuilder sb = new StringBuilder();
 
 136         sb.append("test data");
 
 138         filePath = "src" + File.separator + "test" + File.separator + "resources" + File.separator + "temp.zip";
 
 139         file = new File(filePath);
 
 141             ZipOutputStream out = new ZipOutputStream(new FileOutputStream(file));
 
 142             ZipEntry e = new ZipEntry("temp.txt");
 
 144             byte[] data = sb.toString().getBytes();
 
 145             out.write(data, 0, data.length);
 
 148         } catch(Exception e) {
 
 154     public void testQueryPackageListByCond() throws Exception {
 
 155         new MockUp<MarketplaceDaoImpl>() {
 
 158             public List<PackageData> getAllPackageData() {
 
 159                 return new ArrayList<PackageData>();
 
 163             response = PackageWrapper.getInstance().queryPackageListByCond(null, null, null, null, null);
 
 164         } catch(Exception e) {
 
 168         assertNotNull(response);
 
 169         assertEquals(200, response.getStatus());
 
 171         // assertEquals(00,res5.getStatus());
 
 175     public void testQueryPackageById() throws Exception {
 
 176         new MockUp<MarketplaceDaoImpl>() {
 
 179             public List<PackageData> getPackageData(String csarId) {
 
 184         new MockUp<MarketplaceDaoImpl>() {
 
 187             public List<PackageData> getPackageData(String csarId) {
 
 188                 packageDataList = new ArrayList<PackageData>();
 
 189                 packageData = new PackageData();
 
 190                 packageData.setCsarId(csarId);
 
 191                 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
 
 192                 packageData.setName("clearwater_ns.csar");
 
 193                 packageData.setSize("59,854  bytes");
 
 194                 packageData.setVersion("v1.0");
 
 195                 packageData.setProvider("Huawei");
 
 196                 packageDataList.add(packageData);
 
 197                 return packageDataList;
 
 202             response = PackageWrapper.getInstance().queryPackageById(csarID);
 
 203         } catch(Exception e) {
 
 206         assertNotNull(response);
 
 207         assertEquals(200, response.getStatus());
 
 211     public void testDelPackageFaiure() {
 
 212         new MockUp<MarketplaceDaoImpl>() {
 
 215             public List<PackageData> getAllPackageData() {
 
 216                 return new ArrayList<PackageData>();
 
 220         new MockUp<MarketplaceDaoImpl>() {
 
 223             public void deletePackageData(String csarId) {
 
 228         new MockUp<MarketplaceDaoImpl>() {
 
 231             public List<PackageData> getPackageData(String csarId) {
 
 232                 return new ArrayList<PackageData>();
 
 237             response = PackageWrapper.getInstance().delPackage("");
 
 238         } catch(Exception e5) {
 
 239             e5.printStackTrace();
 
 241         assertEquals(500, response.getStatus());
 
 244             response = PackageWrapper.getInstance().delPackage(null);
 
 245         } catch(Exception e5) {
 
 246             e5.printStackTrace();
 
 248         assertEquals(500, response.getStatus());
 
 252     public void testDelPackageSuccess() {
 
 253         new MockUp<MarketplaceDaoImpl>() {
 
 256             public List<PackageData> getAllPackageData() {
 
 257                 packageDataList = new ArrayList<PackageData>();
 
 258                 packageData = new PackageData();
 
 259                 packageData.setCsarId(csarID);
 
 260                 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
 
 261                 packageData.setName("clearwater_ns.csar");
 
 262                 packageData.setSize("59,854  bytes");
 
 263                 packageData.setVersion("v1.0");
 
 264                 packageData.setProvider("Huawei");
 
 265                 packageDataList.add(packageData);
 
 266                 return packageDataList;
 
 270         new MockUp<PackageManager>() {
 
 273             public void deletePackage(String csarId) {
 
 278         new MockUp<HttpFileManagerImpl>() {
 
 281             public boolean delete(String srcPath) {
 
 286         new MockUp<MarketplaceDaoImpl>() {
 
 289             public List<PackageData> getPackageData(String csarId) {
 
 290                 packageDataList = new ArrayList<PackageData>();
 
 291                 packageData = new PackageData();
 
 292                 packageData.setCsarId(csarID);
 
 293                 packageData.setDownloadUri("src\\test\\resources\\");
 
 294                 packageData.setName("clearwater_ns.csar");
 
 295                 packageData.setSize("59,854  bytes");
 
 296                 packageData.setVersion("v1.0");
 
 297                 packageData.setProvider("Huawei");
 
 298                 packageDataList.add(packageData);
 
 299                 return packageDataList;
 
 304             response = PackageWrapper.getInstance().delPackage("csarid");
 
 305         } catch(Exception e) {
 
 309         assertNotNull(response);
 
 310         assertEquals(200, response.getStatus());
 
 314     public void testGetCsarFileUri() {
 
 315         new MockUp<MarketplaceDaoImpl>() {
 
 318             public List<PackageData> getPackageData(String csarId) {
 
 319                 packageDataList = new ArrayList<PackageData>();
 
 320                 packageData = new PackageData();
 
 321                 packageData.setCsarId(csarId);
 
 322                 packageData.setDownloadUri("src\\test\\resources\\");
 
 323                 packageData.setName("clearwater_ns.csar");
 
 324                 packageData.setSize("59,854  bytes");
 
 325                 packageData.setVersion("v1.0");
 
 326                 packageData.setProvider("Huawei");
 
 327                 packageDataList.add(packageData);
 
 328                 return packageDataList;
 
 332         new MockUp<PackageWrapper>() {
 
 335             Response downloadCsarPackagesById(String csarId) throws FileNotFoundException {
 
 337                         "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
 
 338                 InputStream fis = new BufferedInputStream(new FileInputStream(fileName));
 
 339                 return Response.ok(fis).header("Content-Disposition", "attachment; filename=\"" + fileName + "\"")
 
 343         response = PackageWrapper.getInstance().getCsarFileUri("csarId");
 
 344         assertEquals(200, response.getStatus());
 
 349     public void testupdateDwonloadCountSuccess() throws Exception {
 
 350         final List<PackageData> pkgList = new ArrayList<PackageData>();
 
 351         PackageData pkgDataObj = new PackageData();
 
 352         pkgDataObj.setDownloadCount(1);
 
 353         pkgList.add(pkgDataObj);
 
 354         new MockUp<MarketplaceDaoImpl>() {
 
 357             public List<PackageData> getPackageData(String csarId) {
 
 359                 // return new ArrayList<PackageData>();
 
 362         new MockUp<MarketplaceDaoImpl>() {
 
 365             public void updatePackageData(PackageData oPackageData) {
 
 371             response = PackageWrapper.getInstance().updateDwonloadCount(csarID);
 
 372         } catch(Exception e5) {
 
 373             e5.printStackTrace();
 
 375         assertNotNull(response);
 
 376         assertEquals(200, response.getStatus());
 
 380     public void testReUploadPackage() {
 
 381         new MockUp<MarketplaceDaoImpl>() {
 
 384             public List<PackageData> getPackageData(String csarId) {
 
 385                 List<PackageData> packageDataList = new ArrayList<PackageData>();
 
 386                 PackageData packageData = new PackageData();
 
 387                 packageData = new PackageData();
 
 388                 packageData.setCsarId(csarId);
 
 389                 packageData.setDownloadUri("src\\test\\resources\\clearwater_ns.csar");
 
 390                 packageData.setName("clearwater_ns.csar");
 
 391                 packageData.setSize("59,854  bytes");
 
 392                 packageData.setVersion("v1.0");
 
 393                 packageData.setProvider("Huawei");
 
 394                 packageDataList.add(packageData);
 
 395                 return packageDataList;
 
 399         new MockUp<HttpFileManagerImpl>() {
 
 402             public boolean delete(String srcPath) {
 
 407         new MockUp<MarketplaceDaoImpl>() {
 
 410             public void deletePackageData(String csarId) {
 
 415         new MockUp<ToolUtil>() {
 
 418             public String getTempDir(String dirName, String fileName) {
 
 420                         "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
 
 425         new MockUp<HttpFileManagerImpl>() {
 
 428             public boolean upload(String srcPath, String dstPath) {
 
 433         new MockUp<PackageWrapperUtil>() {
 
 436             public PackageData getPackageData(PackageMeta meta) {
 
 437                 PackageData packageData = new PackageData();
 
 438                 packageData.setCreateTime("25-3-2017 15:26:00");
 
 439                 packageData.setDeletionPending("deletion");
 
 440                 packageData.setDownloadUri("downloaduri");
 
 441                 packageData.setFormat("format");
 
 442                 packageData.setModifyTime("time");
 
 443                 packageData.setName("name");
 
 444                 packageData.setCsarId("csarid");
 
 445                 packageData.setProvider("huawei");
 
 446                 String fileSize = "10 mb";
 
 447                 packageData.setSize(fileSize);
 
 448                 packageData.setType("type");
 
 449                 packageData.setVersion("v2.0");
 
 450                 packageData.setDetails("details");
 
 451                 packageData.setShortDesc("description");
 
 452                 packageData.setRemarks("remarks");
 
 457         new MockUp<PackageHandler>() {
 
 460             public PackageData create(PackageData packageData) {
 
 461                 PackageData packageDataObj = new PackageData();
 
 462                 packageDataObj.setCreateTime("25-3-2017 15:26:00");
 
 463                 packageDataObj.setDeletionPending("deletion");
 
 464                 packageDataObj.setDownloadUri("downloaduri");
 
 465                 packageDataObj.setFormat("format");
 
 466                 packageDataObj.setModifyTime("modifytime");
 
 467                 packageDataObj.setName("name");
 
 468                 packageDataObj.setCsarId("csarid");
 
 469                 packageDataObj.setProvider("huawei");
 
 470                 String fileSize = "10 mb";
 
 471                 packageDataObj.setSize(fileSize);
 
 472                 packageDataObj.setType("type");
 
 473                 packageDataObj.setVersion("v2.0");
 
 474                 packageDataObj.setDetails("details");
 
 475                 packageDataObj.setShortDesc("description");
 
 476                 packageDataObj.setRemarks("remarks");
 
 477                 return packageDataObj;
 
 482             response = PackageWrapper.getInstance().reUploadPackage(null, null, null, null, null);
 
 483         } catch(Exception e) {
 
 486         assertEquals(417, response.getStatus());
 
 489             fileDetail = FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
 
 490             String fileName = "src" + File.separator + "test" + File.separator + "resources" + File.separator
 
 491                     + "clearwater_ns.csar";
 
 492             inputStream = new FileInputStream(fileName);
 
 493             response = PackageWrapper.getInstance().reUploadPackage("csarID", inputStream, fileDetail, null, null);
 
 494             // assertEquals( 200, response.getStatus() );
 
 495         } catch(Exception e) {
 
 501     public void testgetOperResultByOperTypeIdFailure() throws Exception {
 
 502         final ResultKey resultKeyObj = new ResultKey();
 
 504         new MockUp<FunctionTestHook>() {
 
 507             ResultKey getFuncTestResultKey(PackageData packageData) {
 
 508                 resultKeyObj.setKey("key");
 
 512         new MockUp<FunctionTestExceutor>() {
 
 515             String getTestResultsByFuncTestKey(String key) {
 
 520         new MockUp<MarketplaceDaoImpl>() {
 
 523             public List<PackageData> getPackageData(String csarId) {
 
 524                 List<PackageData> packageDataList = new ArrayList<PackageData>();
 
 525                 PackageData packageData = new PackageData();
 
 526                 packageData = new PackageData();
 
 527                 packageData.setCsarId(csarId);
 
 528                 packageData.setDownloadUri("src\\test\\resources\\learwater_ns.csar");
 
 529                 packageData.setName("clearwater_ns.csar");
 
 530                 packageData.setSize("59,854  bytes");
 
 531                 packageData.setVersion("v1.0");
 
 532                 packageData.setProvider("Airtel");
 
 533                 packageDataList.add(packageData);
 
 534                 return packageDataList;
 
 539             response = PackageWrapper.getInstance().getOperResultByOperTypeId(csarID, operTypeId);
 
 540         } catch(Exception e5) {
 
 541             e5.printStackTrace();
 
 543         assertEquals(500, response.getStatus());
 
 546             response = PackageWrapper.getInstance().getOperResultByOperTypeId("", "");
 
 547         } catch(Exception e) {
 
 550         assertEquals(400, response.getStatus());
 
 554     public void testgetOperResultByOperTypeIdSuccess() {
 
 555         new MockUp<MarketplaceDaoImpl>() {
 
 558             public List<PackageData> getPackageData(String csarId) {
 
 559                 List<PackageData> packageDataList = new ArrayList<PackageData>();
 
 560                 PackageData packageData = new PackageData();
 
 561                 packageData = new PackageData();
 
 562                 packageData.setCsarId(csarId);
 
 563                 packageData.setDownloadUri("src\\test\\resources\\learwater_ns.csar");
 
 564                 packageData.setName("clearwater_ns.csar");
 
 565                 packageData.setSize("59,854  bytes");
 
 566                 packageData.setVersion("v1.0");
 
 567                 packageData.setProvider("Airtel");
 
 568                 packageDataList.add(packageData);
 
 569                 return packageDataList;
 
 573         new MockUp<ToolUtil>() {
 
 576             public String getTempDir(String dirName, String fileName) {
 
 578                         "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
 
 582         new MockUp<PackageWrapper>() {
 
 585             Response downloadCsarPackagesById(String csarId) throws FileNotFoundException {
 
 587                         "src" + File.separator + "test" + File.separator + "resources" + File.separator + "Test.txt";
 
 588                 InputStream fis = new BufferedInputStream(new FileInputStream(fileName));
 
 589                 return Response.ok(fis).header("Content-Disposition", "attachment; filename=\"" + fileName + "\"")
 
 594         new MockUp<FunctionTestHook>() {
 
 597             ResultKey getFuncTestResultKey(PackageData packageData) {
 
 598                 ResultKey resultKey = new ResultKey();
 
 599                 resultKey.setKey("key");
 
 603         new MockUp<FunctionTestExceutor>() {
 
 606             String getTestResultsByFuncTestKey(String key) {
 
 612             response = PackageWrapper.getInstance().getOperResultByOperTypeId(csarID, operTypeId);
 
 613         } catch(Exception e) {
 
 620     public void testUploadPackage() throws Exception {
 
 621         InputStream ins = null;
 
 622         Response result = null;
 
 624          * Response result1 = null; Response result2 = null; PackageData
 
 625          * packageData = new PackageData(); packageData = getPackageData();
 
 628         new MockUp<MarketplaceDaoImpl>() {
 
 631             public List<PackageData> getPackageData(String csarId) {
 
 632                 List<PackageData> packageDataList = new ArrayList<PackageData>();
 
 633                 PackageData packageData = new PackageData();
 
 634                 packageData = new PackageData();
 
 635                 packageData.setCsarId(csarId);
 
 636                 packageData.setDownloadUri("src\\test\\resources\\");
 
 637                 packageData.setName("clearwater_ns.csar");
 
 638                 packageData.setSize("59,854  bytes");
 
 639                 packageData.setVersion("v1.0");
 
 640                 packageData.setProvider("Airtel");
 
 641                 packageDataList.add(packageData);
 
 642                 return packageDataList;
 
 646         new MockUp<HttpFileManagerImpl>() {
 
 649             public boolean delete(String srcPath) {
 
 654         new MockUp<MarketplaceDaoImpl>() {
 
 657             public void deletePackageData(String csarId) {
 
 662         new MockUp<ToolUtil>() {
 
 665             public String getTempDir(String dirName, String fileName) {
 
 667                         "src" + File.separator + "test" + File.separator + "resources" + File.separator + "testfolder";
 
 672         new MockUp<HttpFileManagerImpl>() {
 
 675             public boolean upload(String srcPath, String dstPath) {
 
 680         new MockUp<PackageWrapperUtil>() {
 
 683             public PackageData getPackageData(PackageMeta meta) {
 
 684                 PackageData packageData = new PackageData();
 
 685                 packageData.setCreateTime("25-3-2017 15:26:00");
 
 686                 packageData.setDeletionPending("deletion");
 
 687                 packageData.setDownloadUri("downloaduri");
 
 688                 packageData.setFormat("format");
 
 689                 packageData.setModifyTime("time");
 
 690                 packageData.setName("name");
 
 691                 packageData.setCsarId("csarid");
 
 692                 packageData.setProvider("huawei");
 
 693                 String fileSize = "10 mb";
 
 694                 packageData.setSize(fileSize);
 
 695                 packageData.setType("type");
 
 696                 packageData.setVersion("v2.0");
 
 697                 packageData.setDetails("details");
 
 698                 packageData.setShortDesc("description");
 
 699                 packageData.setRemarks("remarks");
 
 704         new MockUp<PackageHandler>() {
 
 707             public PackageData create(PackageData packageData) {
 
 708                 PackageData packageDataObj = new PackageData();
 
 709                 packageDataObj.setCreateTime("25-3-2017 15:26:00");
 
 710                 packageDataObj.setDeletionPending("deletion");
 
 711                 packageDataObj.setDownloadUri("downloaduri");
 
 712                 packageDataObj.setFormat("format");
 
 713                 packageDataObj.setModifyTime("modifytime");
 
 714                 packageDataObj.setName("name");
 
 715                 packageDataObj.setCsarId("csarid");
 
 716                 packageDataObj.setProvider("huawei");
 
 717                 String fileSize = "10 mb";
 
 718                 packageDataObj.setSize(fileSize);
 
 719                 packageDataObj.setType("type");
 
 720                 packageDataObj.setVersion("v2.0");
 
 721                 packageDataObj.setDetails("details");
 
 722                 packageDataObj.setShortDesc("description");
 
 723                 packageDataObj.setRemarks("remarks");
 
 724                 return packageDataObj;
 
 728         FormDataContentDisposition fileDetail =
 
 729                 FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
 
 732                 "src" + File.separator + "test" + File.separator + "resources" + File.separator + "clearwater_ns.csar";
 
 733         File packageFile = new File(filenama);
 
 736             ins = new FileInputStream(packageFile);
 
 737         } catch(FileNotFoundException e2) {
 
 738             e2.printStackTrace();
 
 742                 result = PackageWrapper.getInstance().uploadPackage(ins, fileDetail, null, null);
 
 743             } catch(Exception e3) {
 
 744                 e3.printStackTrace();
 
 748         assertNotNull(result);
 
 749         assertEquals(200, result.getStatus());
 
 752             result = PackageWrapper.getInstance().uploadPackage(null, null, null, null);
 
 753         } catch(Exception e4) {
 
 754             e4.printStackTrace();
 
 757         assertEquals(417, result.getStatus());
 
 761     public void testGetOnBoardingStepsSuccess() {
 
 762         new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
 
 765             String getAppDeployPath() {
 
 766                 String path = "src" + File.separator + "main" + File.separator + "resources";
 
 772             response = PackageWrapper.getInstance().getOnBoardingSteps();
 
 773         } catch(Exception e) {
 
 777         assertNotNull(response);
 
 781     public void testGetOnBoardingStepsFailure() {
 
 782         new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
 
 785             String getAppDeployPath() {
 
 786                 String path = "src" + File.separator + "main" + File.separator + "resources" + File.separator
 
 793             response = PackageWrapper.getInstance().getOnBoardingSteps();
 
 794         } catch(Exception e) {
 
 797         assertEquals(500, response.getStatus());
 
 801     public void testRestGetClient() {
 
 802         FunctionTestExceutor.getTestResultsByFuncTestKey("GET");
 
 807     public void testRestPostClient() {
 
 809         OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
 
 810         onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
 
 811         onBoradFuncTestReq.setPackageName("clearwater_ns.csar");
 
 812         String result = FunctionTestExceutor.execFunctionTest(onBoradFuncTestReq);
 
 814         // assertEquals(200,result);
 
 819     public void testRestDeleteClient() {
 
 820         RestResponse rsp = RestfulClient.delete("127.0.0.1", 8987, "TestURL");
 
 822         if(rsp.getStatusCode() != null)
 
 823             assertEquals(200, rsp.getStatusCode().intValue());
 
 828     public void testExec() {
 
 830         new MockUp<FunctionTestHook>() {
 
 833             String getResultStorePath() {
 
 834                 return "src/test/resources";
 
 838         FunctionTestHook testHookObj = new FunctionTestHook();
 
 839         OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
 
 840         onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
 
 841         int res = testHookObj.exec(onBoradFuncTestReq);
 
 843         assertEquals(res, -1);
 
 848     public void testwriteJsonDatatoFile() {
 
 850         String filePath = "src//test//resources//functionTest.json";
 
 851         OnBoardingResult onBoardResultObj = new OnBoardingResult();
 
 852         onBoardResultObj.setCsarId("csrId");
 
 853         onBoardResultObj.setOperStatus(1);
 
 854         boolean res = FileUtil.writeJsonDatatoFile(filePath, onBoardResultObj);
 
 855         assertEquals(res, true);
 
 861     public void testCreateDirectory() {
 
 862         String dirPath = "src//test//resources//TestDirectory";
 
 863         boolean res = FileUtil.createDirectory(dirPath);
 
 864         assertEquals(res, true);
 
 869     public void testDeleteDirectory() {
 
 870         String dirPath = "src//test//resources//TestDirectory";
 
 871         boolean res = FileUtil.deleteFile(dirPath);
 
 872         assertEquals(res, true);
 
 877     public void testGenerateId() {
 
 878         String id = MarketplaceDbUtil.generateId();
 
 883     public void testisNotEmpty() {
 
 884         boolean res = MarketplaceDbUtil.isNotEmpty(null);
 
 885         assertEquals(res, false);
 
 886         res = MarketplaceDbUtil.isNotEmpty("test");
 
 887         assertEquals(res, true);
 
 891     public void testobjectToString() {
 
 892         Object obj = "testexa";
 
 893         String res = MarketplaceDbUtil.objectToString(obj);
 
 895         res = MarketplaceDbUtil.objectToString(null);
 
 900     public void testisEmptyString() {
 
 901         boolean res = ToolUtil.isEmptyString(null);
 
 902         assertEquals(res, true);
 
 903         res = ToolUtil.isEmptyString("huawei");
 
 904         assertEquals(res, false);
 
 908     public void testisTrimedEmptyString() {
 
 909         boolean res = ToolUtil.isTrimedEmptyString(null);
 
 910         assertEquals(res, true);
 
 911         res = ToolUtil.isTrimedEmptyString("    ");
 
 912         assertEquals(res, true);
 
 916     public void testisEmptyCollection() {
 
 918         boolean res = ToolUtil.isEmptyCollection(new ArrayList());
 
 919         assertEquals(res, true);
 
 923     public void testisYamlFile() {
 
 924         File fileObj = new File("test.txt");
 
 925         boolean res = ToolUtil.isYamlFile(fileObj);
 
 926         assertEquals(res, false);
 
 930     public void testgenerateID() {
 
 931         String id = ToolUtil.generateId();
 
 936     public void testgetFormatFileSize() {
 
 937         String res = ToolUtil.getFormatFileSize(10000000);
 
 939         res = ToolUtil.getFormatFileSize(10000);
 
 941         res = ToolUtil.getFormatFileSize(100);
 
 946     public void testObjectToString() {
 
 947         Object obj = "testexa";
 
 948         String res = ToolUtil.objectToString(obj);
 
 950         res = ToolUtil.objectToString(null);
 
 955     public void testprocessFileName() {
 
 956         String res = ToolUtil.processFileName("abc.txt");
 
 958         res = ToolUtil.processFileName("abc.zip");
 
 963     public void testremoveCsarSuffix() {
 
 964         String res = ToolUtil.removeCsarSuffix("abc.csar");
 
 965         assertEquals(res, "abc");
 
 969     public void testformatCsar() {
 
 970         String res = ToolUtil.formatCsar("abc");
 
 971         assertEquals(res, "abc.csar");
 
 975     public void testformatFileSize() {
 
 976         String res = ToolUtil.formatFileSize(10000.0, 10);
 
 977         String expected = new DecimalFormat("#0.00").format(1000) + "M";// may
 
 985         assertEquals(res, expected);
 
 989     public void testgetFileSize() {
 
 990         File fileObj = new File("example.txt");
 
 991         String res = ToolUtil.getFileSize(fileObj, 10);
 
 996     public void testgetCatalogueCsarPath() {
 
 997         String res = ToolUtil.getCatalogueCsarPath();
 
 998         assertEquals(res, File.separator + "csar");
 
1002     public void testgetCatalogueImagePath() {
 
1003         String res = ToolUtil.getCatalogueImagePath();
 
1004         assertEquals(res, File.separator + "image");
 
1008     public void testdeleteFile() {
 
1009         boolean res = ToolUtil.deleteFile("src//test//resources", "test1.txt");
 
1010         assertEquals(res, true);
 
1014     public void teststoreChunkFileInLocal() {
 
1016             inputStream = new FileInputStream("src//test//resources//Test.txt");
 
1017             String res = ToolUtil.storeChunkFileInLocal("src//test//resources", "TestOut.txt", inputStream);
 
1018             File file = new File(res);
 
1019             String fileName = file.getName();
 
1020             assertEquals(fileName, "TestOut.txt");
 
1022         } catch(Exception ex) {
 
1023             ex.printStackTrace();
 
1028     public void testToolUtildeleteFile() {
 
1029         boolean res = ToolUtil.deleteFile("src/test/resources", "TestOut.txt");
 
1030         assertEquals(res, true);
 
1034     public void testToJson() {
 
1035         List<String> listObj = new ArrayList<String>();
 
1036         listObj.add("test");
 
1037         String res = JsonUtil.toJson(listObj);
 
1042     public void testfromJson() {
 
1044         String carJson = "{ \"brand\" : \"Mercedes\", \"doors\" : 5 }";
 
1045         JsonNode res = JsonUtil.fromJson(carJson, JsonNode.class);
 
1050     public void testUnzip() {
 
1052         List<String> listObj = new ArrayList<String>();
 
1054             listObj = FileUtil.unzip("src/test/resources/temp.zip", "src/test/resources/testfolder");
 
1055         } catch(Exception ex) {
 
1056             ex.printStackTrace();
 
1058         assertNotNull(listObj);
 
1062     public void testreadJsonDatafFromFile() {
 
1065                 FileUtil.readJsonDatafFromFile("src/main/resources/generalconfig/OnBoardingSteps.json", Object.class);
 
1070     public void testGetPkgSize() {
 
1071         long pkgSize = PackageWrapperUtil.getPacakgeSize("src/test/resources/Test.txt");
 
1072         assertNotNull(pkgSize);
 
1076     public void testPkgFormat() {
 
1077         assertNotNull(PackageWrapperUtil.getPackageFormat("xml"));
 
1078         assertNotNull(PackageWrapperUtil.getPackageFormat("yml"));
 
1079         assertNull(PackageWrapperUtil.getPackageFormat("pdf"));
 
1082             IMarketplaceDao dao = new MarketplaceDaoImpl();
 
1084             packageDataList = new ArrayList<PackageData>();
 
1085             packageData = new PackageData();
 
1086             packageData.setCsarId("21");
 
1087             packageData.setDownloadUri("src\\test\\resources\\");
 
1088             packageData.setName("clearwater_ns.csar");
 
1089             packageData.setSize("59,854  bytes");
 
1090             packageData.setVersion("v1.0");
 
1091             packageData.setProvider("Huawei");
 
1092             packageDataList.add(packageData);
 
1094             dao.savePackageData(packageData);
 
1095             dao.getAllPackageData();
 
1096             dao.getPackageData("21");
 
1097             dao.updatePackageData(packageData);
 
1098             dao.deletePackageData("21");           
 
1100         } catch(Exception e) {
 
1106     public void testVnfPackageSetter() {
 
1108         vnfPackageObj.setVnfPackageId("vnfpackageId");
 
1109         vnfPackageObj.setVnfPackageUrl("vnfPackageUrl");
 
1110         vnfPackageObj.setVnfd("vnfd");
 
1111         vnfPackageObj.setVersion("1");
 
1112         vnfPackageObj.setUsageState(EnumUsageState.NotInUse);
 
1113         vnfPackageObj.setProvider("huawei");
 
1114         vnfPackageObj.setOperationalState(EnumOperationalState.Enabled);
 
1115         vnfPackageObj.setName("vnf");
 
1116         vnfPackageObj.setDeletionPending("pending");
 
1118         String res = vnfPackageObj.getVnfPackageId();
 
1119         assertEquals(res, "vnfpackageId");
 
1120         res = vnfPackageObj.getVnfPackageUrl();
 
1121         assertEquals(res, "vnfPackageUrl");
 
1122         res = vnfPackageObj.getVnfd();
 
1123         assertEquals(res, "vnfd");
 
1124         res = vnfPackageObj.getVersion();
 
1125         assertEquals(res, "1");
 
1126         EnumUsageState state = vnfPackageObj.getUsageState();
 
1127         assertEquals(state, EnumUsageState.NotInUse);
 
1128         res = vnfPackageObj.getProvider();
 
1129         assertEquals(res, "huawei");
 
1130         EnumOperationalState operState = vnfPackageObj.getOperationalState();
 
1131         assertEquals(operState, EnumOperationalState.Enabled);
 
1132         res = vnfPackageObj.getName();
 
1133         assertEquals(res, "vnf");
 
1134         res = vnfPackageObj.getDeletionPending();
 
1135         assertEquals(res, "pending");
 
1139     public void testCsarPackageSetter() {
 
1140         csarPackageObj.setCreateTime("04052017");
 
1141         csarPackageObj.setDeletionPending("pending");
 
1142         csarPackageObj.setFormat("format");
 
1143         csarPackageObj.setId("12");
 
1144         csarPackageObj.setName("csartest");
 
1145         csarPackageObj.setSize("10");
 
1146         csarPackageObj.setStatus("done");
 
1147         csarPackageObj.setType("type");
 
1148         csarPackageObj.setUrl("//network");
 
1150         String res = csarPackageObj.getCreateTime();
 
1151         assertEquals(res, "04052017");
 
1152         res = csarPackageObj.getDeletionPending();
 
1153         assertEquals(res, "pending");
 
1154         res = csarPackageObj.getFormat();
 
1155         assertEquals(res, "format");
 
1156         res = csarPackageObj.getId();
 
1157         assertEquals(res, "12");
 
1158         res = csarPackageObj.getName();
 
1159         assertEquals(res, "csartest");
 
1160         res = csarPackageObj.getSize();
 
1161         assertEquals(res, "10");
 
1162         res = csarPackageObj.getStatus();
 
1163         assertEquals(res, "done");
 
1164         res = csarPackageObj.getType();
 
1165         assertEquals(res, "type");
 
1166         res = csarPackageObj.getUrl();
 
1167         assertEquals(res, "//network");
 
1172     public void testPackageBasicInfoSetter() {
 
1173         pkgBasicInfoObj.setFormat("pdf");
 
1174         pkgBasicInfoObj.setProvider("huawei");
 
1175         pkgBasicInfoObj.setType(EnumType.GSAR);
 
1176         pkgBasicInfoObj.setVersion("1");
 
1177         String res = pkgBasicInfoObj.getFormat();
 
1178         assertEquals(res, "pdf");
 
1179         res = pkgBasicInfoObj.getProvider();
 
1180         assertEquals(res, "huawei");
 
1181         EnumType type = pkgBasicInfoObj.getType();
 
1182         assertEquals(type, EnumType.GSAR);
 
1183         res = pkgBasicInfoObj.getVersion();
 
1184         assertEquals(res, "1");
 
1188     public void testPackageMetaSetter() {
 
1189         pkgMetaObj.setCreateTime("05042017");
 
1190         pkgMetaObj.setCsarId("csarid");
 
1191         pkgMetaObj.setDeletionPending(true);
 
1192         pkgMetaObj.setDetails("details");
 
1193         pkgMetaObj.setDownloadCount(10);
 
1194         pkgMetaObj.setDownloadUri("//network");
 
1195         pkgMetaObj.setFormat("pdf");
 
1196         pkgMetaObj.setModifyTime("05042017");
 
1197         pkgMetaObj.setName("huawei");
 
1198         pkgMetaObj.setProvider("huawei");
 
1199         pkgMetaObj.setRemarks("tested");
 
1200         pkgMetaObj.setReport("done");
 
1201         pkgMetaObj.setShortDesc("done");
 
1202         pkgMetaObj.setSize("1000");
 
1203         pkgMetaObj.setType("type");
 
1204         pkgMetaObj.setVersion("1");
 
1206         String res = pkgMetaObj.getCreateTime();
 
1207         assertEquals(res, "05042017");
 
1208         res = pkgMetaObj.getCsarId();
 
1209         assertEquals(res, "csarid");
 
1210         res = pkgMetaObj.getDetails();
 
1211         assertEquals(res, "details");
 
1212         res = pkgMetaObj.getDownloadCount() + "";
 
1213         assertEquals(res, "10");
 
1214         res = pkgMetaObj.getDownloadUri();
 
1215         assertEquals(res, "//network");
 
1216         res = pkgMetaObj.getFormat();
 
1217         assertEquals(res, "pdf");
 
1218         res = pkgMetaObj.getModifyTime();
 
1219         assertEquals(res, "05042017");
 
1220         res = pkgMetaObj.getName();
 
1221         assertEquals(res, "huawei");
 
1222         res = pkgMetaObj.getProvider();
 
1223         assertEquals(res, "huawei");
 
1224         res = pkgMetaObj.getRemarks();
 
1225         assertEquals(res, "tested");
 
1226         res = pkgMetaObj.getReport();
 
1227         assertEquals(res, "done");
 
1228         res = pkgMetaObj.getShortDesc();
 
1229         assertEquals(res, "done");
 
1230         res = pkgMetaObj.getSize();
 
1231         assertEquals(res, "1000");
 
1232         res = pkgMetaObj.getType();
 
1233         assertEquals(res, "type");
 
1234         res = pkgMetaObj.getVersion();
 
1235         assertEquals(res, "1");
 
1239     public void testPackageResponseSetter() {
 
1240         pkgResponseObj.setReportPath("localpath");
 
1241         String res = pkgResponseObj.getReportPath();
 
1242         assertEquals(res, "localpath");
 
1247     public void testCsarFileUriResSetter() {
 
1248         csarFileUriResObj.setDownloadUri("downloaduri");
 
1249         csarFileUriResObj.setLocalPath("localpath");
 
1250         String res = csarFileUriResObj.getDownloadUri();
 
1251         assertEquals(res, "downloaduri");
 
1252         res = csarFileUriResObj.getLocalPath();
 
1253         assertEquals(res, "localpath");