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 testGetOnBoardingStepsSuccess() {
 
 785         new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
 
 788             String getAppDeployPath() {
 
 789                 String path = "src" + File.separator + "main" + File.separator + "resources";
 
 795             response = PackageWrapper.getInstance().getOnBoardingSteps();
 
 796         } catch(Exception e) {
 
 800         assertNotNull(response);
 
 804     public void testGetOnBoardingStepsFailure() {
 
 805         new MockUp<org.onap.vnfsdk.marketplace.filemanage.http.ToolUtil>() {
 
 808             String getAppDeployPath() {
 
 809                 String path = "src" + File.separator + "main" + File.separator + "resources" + File.separator
 
 816             response = PackageWrapper.getInstance().getOnBoardingSteps();
 
 817         } catch(Exception e) {
 
 820         assertEquals(500, response.getStatus());
 
 824     public void testRestGetClient() {
 
 825         FunctionTestExceutor.getTestResultsByFuncTestKey("GET");
 
 830     public void testRestPostClient() {
 
 832         OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
 
 833         onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
 
 834         onBoradFuncTestReq.setPackageName("clearwater_ns.csar");
 
 835         String result = FunctionTestExceutor.execFunctionTest(onBoradFuncTestReq);
 
 837         // assertEquals(200,result);
 
 842     public void testRestDeleteClient() {
 
 843         RestResponse rsp = RestfulClient.delete("127.0.0.1", 8987, "TestURL");
 
 845         if(rsp.getStatusCode() != null)
 
 846             assertEquals(200, rsp.getStatusCode().intValue());
 
 851     public void testExec() {
 
 853         new MockUp<FunctionTestHook>() {
 
 856             String getResultStorePath() {
 
 857                 return "src/test/resources";
 
 861         FunctionTestHook testHookObj = new FunctionTestHook();
 
 862         OnBoradingRequest onBoradFuncTestReq = new OnBoradingRequest();
 
 863         onBoradFuncTestReq.setPackagePath("src/test/resources/clearwater_ns.csar");
 
 864         int res = testHookObj.exec(onBoradFuncTestReq);
 
 866         assertEquals(res, -1);
 
 871     public void testwriteJsonDatatoFile() {
 
 873         String filePath = "src//test//resources//functionTest.json";
 
 874         OnBoardingResult onBoardResultObj = new OnBoardingResult();
 
 875         onBoardResultObj.setCsarId("csrId");
 
 876         onBoardResultObj.setOperStatus(1);
 
 877         boolean res = FileUtil.writeJsonDatatoFile(filePath, onBoardResultObj);
 
 878         assertEquals(res, true);
 
 884     public void testCreateDirectory() {
 
 885         String dirPath = "src//test//resources//TestDirectory";
 
 886         boolean res = FileUtil.createDirectory(dirPath);
 
 887         assertEquals(res, true);
 
 892     public void testDeleteDirectory() {
 
 893         String dirPath = "src//test//resources//TestDirectory";
 
 894         boolean res = FileUtil.deleteFile(dirPath);
 
 895         assertEquals(res, true);
 
 900     public void testGenerateId() {
 
 901         String id = MarketplaceDbUtil.generateId();
 
 906     public void testisNotEmpty() {
 
 907         boolean res = MarketplaceDbUtil.isNotEmpty(null);
 
 908         assertEquals(res, false);
 
 909         res = MarketplaceDbUtil.isNotEmpty("test");
 
 910         assertEquals(res, true);
 
 914     public void testobjectToString() {
 
 915         Object obj = "testexa";
 
 916         String res = MarketplaceDbUtil.objectToString(obj);
 
 918         res = MarketplaceDbUtil.objectToString(null);
 
 923     public void testisEmptyString() {
 
 924         boolean res = ToolUtil.isEmptyString(null);
 
 925         assertEquals(res, true);
 
 926         res = ToolUtil.isEmptyString("huawei");
 
 927         assertEquals(res, false);
 
 931     public void testisTrimedEmptyString() {
 
 932         boolean res = ToolUtil.isTrimedEmptyString(null);
 
 933         assertEquals(res, true);
 
 934         res = ToolUtil.isTrimedEmptyString("    ");
 
 935         assertEquals(res, true);
 
 939     public void testisEmptyCollection() {
 
 941         boolean res = ToolUtil.isEmptyCollection(new ArrayList());
 
 942         assertEquals(res, true);
 
 946     public void testisYamlFile() {
 
 947         File fileObj = new File("test.txt");
 
 948         boolean res = ToolUtil.isYamlFile(fileObj);
 
 949         assertEquals(res, false);
 
 953     public void testgenerateID() {
 
 954         String id = ToolUtil.generateId();
 
 959     public void testgetFormatFileSize() {
 
 960         String res = ToolUtil.getFormatFileSize(10000000);
 
 962         res = ToolUtil.getFormatFileSize(10000);
 
 964         res = ToolUtil.getFormatFileSize(100);
 
 969     public void testObjectToString() {
 
 970         Object obj = "testexa";
 
 971         String res = ToolUtil.objectToString(obj);
 
 973         res = ToolUtil.objectToString(null);
 
 978     public void testprocessFileName() {
 
 979         String res = ToolUtil.processFileName("abc.txt");
 
 981         res = ToolUtil.processFileName("abc.zip");
 
 986     public void testremoveCsarSuffix() {
 
 987         String res = ToolUtil.removeCsarSuffix("abc.csar");
 
 988         assertEquals(res, "abc");
 
 992     public void testformatCsar() {
 
 993         String res = ToolUtil.formatCsar("abc");
 
 994         assertEquals(res, "abc.csar");
 
 998     public void testformatFileSize() {
 
 999         String res = ToolUtil.formatFileSize(10000.0, 10);
 
1000         String expected = new DecimalFormat("#0.00").format(1000) + "M";// may
 
1008         assertEquals(res, expected);
 
1012     public void testgetFileSize() {
 
1013         File fileObj = new File("example.txt");
 
1014         String res = ToolUtil.getFileSize(fileObj, 10);
 
1019     public void testgetCatalogueCsarPath() {
 
1020         String res = ToolUtil.getCatalogueCsarPath();
 
1021         assertEquals(res, File.separator + "csar");
 
1025     public void testgetCatalogueImagePath() {
 
1026         String res = ToolUtil.getCatalogueImagePath();
 
1027         assertEquals(res, File.separator + "image");
 
1031     public void testdeleteFile() {
 
1032         boolean res = ToolUtil.deleteFile("src//test//resources", "test1.txt");
 
1033         assertEquals(res, true);
 
1037     public void teststoreChunkFileInLocal() {
 
1039             inputStream = new FileInputStream("src//test//resources//Test.txt");
 
1040             String res = ToolUtil.storeChunkFileInLocal("src//test//resources", "TestOut.txt", inputStream);
 
1041             File file = new File(res);
 
1042             String fileName = file.getName();
 
1043             assertEquals(fileName, "TestOut.txt");
 
1045         } catch(Exception ex) {
 
1046             ex.printStackTrace();
 
1051     public void testToolUtildeleteFile() {
 
1052         boolean res = ToolUtil.deleteFile("src/test/resources", "TestOut.txt");
 
1053         assertEquals(res, true);
 
1058     public void testUnzip() {
 
1060         List<String> listObj = new ArrayList<String>();
 
1062             listObj = FileUtil.unzip("src/test/resources/temp.zip", "src/test/resources/testfolder");
 
1063         } catch(Exception ex) {
 
1064             ex.printStackTrace();
 
1066         assertNotNull(listObj);
 
1070     public void testreadJsonDatafFromFile() {
 
1073                 FileUtil.readJsonDatafFromFile("src/main/resources/generalconfig/OnBoardingSteps.json", Object.class);
 
1078     public void testGetPkgSize() {
 
1079         long pkgSize = PackageWrapperUtil.getPacakgeSize("src/test/resources/Test.txt");
 
1080         assertNotNull(pkgSize);
 
1084     public void testPkgFormat() {
 
1085         assertNotNull(PackageWrapperUtil.getPackageFormat("xml"));
 
1086         assertNotNull(PackageWrapperUtil.getPackageFormat("yml"));
 
1087         assertNull(PackageWrapperUtil.getPackageFormat("pdf"));
 
1089         MsbDetailsHolder.getMsbDetails();
 
1091             IMarketplaceDao dao = new MarketplaceDaoImpl();
 
1093             packageDataList = new ArrayList<PackageData>();
 
1094             packageData = new PackageData();
 
1095             packageData.setCsarId("21");
 
1096             packageData.setDownloadUri("src\\test\\resources\\");
 
1097             packageData.setName("clearwater_ns.csar");
 
1098             packageData.setSize("59,854  bytes");
 
1099             packageData.setVersion("v1.0");
 
1100             packageData.setProvider("Huawei");
 
1101             packageDataList.add(packageData);
 
1103             dao.savePackageData(packageData);
 
1104             dao.getAllPackageData();
 
1105             dao.getPackageData("21");
 
1106             dao.updatePackageData(packageData);
 
1107             dao.deletePackageData("21");
 
1109         } catch(Exception e) {
 
1115     public void testVnfPackageSetter() {
 
1117         vnfPackageObj.setVnfPackageId("vnfpackageId");
 
1118         vnfPackageObj.setVnfPackageUrl("vnfPackageUrl");
 
1119         vnfPackageObj.setVnfd("vnfd");
 
1120         vnfPackageObj.setVersion("1");
 
1121         vnfPackageObj.setUsageState(EnumUsageState.NotInUse);
 
1122         vnfPackageObj.setProvider("huawei");
 
1123         vnfPackageObj.setOperationalState(EnumOperationalState.Enabled);
 
1124         vnfPackageObj.setName("vnf");
 
1125         vnfPackageObj.setDeletionPending("pending");
 
1127         String res = vnfPackageObj.getVnfPackageId();
 
1128         assertEquals(res, "vnfpackageId");
 
1129         res = vnfPackageObj.getVnfPackageUrl();
 
1130         assertEquals(res, "vnfPackageUrl");
 
1131         res = vnfPackageObj.getVnfd();
 
1132         assertEquals(res, "vnfd");
 
1133         res = vnfPackageObj.getVersion();
 
1134         assertEquals(res, "1");
 
1135         EnumUsageState state = vnfPackageObj.getUsageState();
 
1136         assertEquals(state, EnumUsageState.NotInUse);
 
1137         res = vnfPackageObj.getProvider();
 
1138         assertEquals(res, "huawei");
 
1139         EnumOperationalState operState = vnfPackageObj.getOperationalState();
 
1140         assertEquals(operState, EnumOperationalState.Enabled);
 
1141         res = vnfPackageObj.getName();
 
1142         assertEquals(res, "vnf");
 
1143         res = vnfPackageObj.getDeletionPending();
 
1144         assertEquals(res, "pending");
 
1148     public void testCsarPackageSetter() {
 
1149         csarPackageObj.setCreateTime("04052017");
 
1150         csarPackageObj.setDeletionPending("pending");
 
1151         csarPackageObj.setFormat("format");
 
1152         csarPackageObj.setId("12");
 
1153         csarPackageObj.setName("csartest");
 
1154         csarPackageObj.setSize("10");
 
1155         csarPackageObj.setStatus("done");
 
1156         csarPackageObj.setType("type");
 
1157         csarPackageObj.setUrl("//network");
 
1159         String res = csarPackageObj.getCreateTime();
 
1160         assertEquals(res, "04052017");
 
1161         res = csarPackageObj.getDeletionPending();
 
1162         assertEquals(res, "pending");
 
1163         res = csarPackageObj.getFormat();
 
1164         assertEquals(res, "format");
 
1165         res = csarPackageObj.getId();
 
1166         assertEquals(res, "12");
 
1167         res = csarPackageObj.getName();
 
1168         assertEquals(res, "csartest");
 
1169         res = csarPackageObj.getSize();
 
1170         assertEquals(res, "10");
 
1171         res = csarPackageObj.getStatus();
 
1172         assertEquals(res, "done");
 
1173         res = csarPackageObj.getType();
 
1174         assertEquals(res, "type");
 
1175         res = csarPackageObj.getUrl();
 
1176         assertEquals(res, "//network");
 
1181     public void testPackageBasicInfoSetter() {
 
1182         pkgBasicInfoObj.setFormat("pdf");
 
1183         pkgBasicInfoObj.setProvider("huawei");
 
1184         pkgBasicInfoObj.setType(EnumType.GSAR);
 
1185         pkgBasicInfoObj.setVersion("1");
 
1186         String res = pkgBasicInfoObj.getFormat();
 
1187         assertEquals(res, "pdf");
 
1188         res = pkgBasicInfoObj.getProvider();
 
1189         assertEquals(res, "huawei");
 
1190         EnumType type = pkgBasicInfoObj.getType();
 
1191         assertEquals(type, EnumType.GSAR);
 
1192         res = pkgBasicInfoObj.getVersion();
 
1193         assertEquals(res, "1");
 
1197     public void testPackageMetaSetter() {
 
1198         pkgMetaObj.setCreateTime("05042017");
 
1199         pkgMetaObj.setCsarId("csarid");
 
1200         pkgMetaObj.setDeletionPending(true);
 
1201         pkgMetaObj.setDetails("details");
 
1202         pkgMetaObj.setDownloadCount(10);
 
1203         pkgMetaObj.setDownloadUri("//network");
 
1204         pkgMetaObj.setFormat("pdf");
 
1205         pkgMetaObj.setModifyTime("05042017");
 
1206         pkgMetaObj.setName("huawei");
 
1207         pkgMetaObj.setProvider("huawei");
 
1208         pkgMetaObj.setRemarks("tested");
 
1209         pkgMetaObj.setReport("done");
 
1210         pkgMetaObj.setShortDesc("done");
 
1211         pkgMetaObj.setSize("1000");
 
1212         pkgMetaObj.setType("type");
 
1213         pkgMetaObj.setVersion("1");
 
1215         String res = pkgMetaObj.getCreateTime();
 
1216         assertEquals(res, "05042017");
 
1217         res = pkgMetaObj.getCsarId();
 
1218         assertEquals(res, "csarid");
 
1219         res = pkgMetaObj.getDetails();
 
1220         assertEquals(res, "details");
 
1221         res = pkgMetaObj.getDownloadCount() + "";
 
1222         assertEquals(res, "10");
 
1223         res = pkgMetaObj.getDownloadUri();
 
1224         assertEquals(res, "//network");
 
1225         res = pkgMetaObj.getFormat();
 
1226         assertEquals(res, "pdf");
 
1227         res = pkgMetaObj.getModifyTime();
 
1228         assertEquals(res, "05042017");
 
1229         res = pkgMetaObj.getName();
 
1230         assertEquals(res, "huawei");
 
1231         res = pkgMetaObj.getProvider();
 
1232         assertEquals(res, "huawei");
 
1233         res = pkgMetaObj.getRemarks();
 
1234         assertEquals(res, "tested");
 
1235         res = pkgMetaObj.getReport();
 
1236         assertEquals(res, "done");
 
1237         res = pkgMetaObj.getShortDesc();
 
1238         assertEquals(res, "done");
 
1239         res = pkgMetaObj.getSize();
 
1240         assertEquals(res, "1000");
 
1241         res = pkgMetaObj.getType();
 
1242         assertEquals(res, "type");
 
1243         res = pkgMetaObj.getVersion();
 
1244         assertEquals(res, "1");
 
1248     public void testPackageResponseSetter() {
 
1249         pkgResponseObj.setReportPath("localpath");
 
1250         String res = pkgResponseObj.getReportPath();
 
1251         assertEquals(res, "localpath");
 
1256     public void testCsarFileUriResSetter() {
 
1257         csarFileUriResObj.setDownloadUri("downloaduri");
 
1258         csarFileUriResObj.setLocalPath("localpath");
 
1259         String res = csarFileUriResObj.getDownloadUri();
 
1260         assertEquals(res, "downloaduri");
 
1261         res = csarFileUriResObj.getLocalPath();
 
1262         assertEquals(res, "localpath");