2  * Copyright 2016-2017, Nokia Corporation
 
   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.vfc.nfvo.driver.vnfm.svnfm.catalog.impl;
 
  19 import static org.mockito.Mockito.when;
 
  21 import java.io.IOException;
 
  22 import java.util.ArrayList;
 
  23 import java.util.HashMap;
 
  24 import java.util.List;
 
  26 import org.apache.http.client.ClientProtocolException;
 
  27 import org.junit.Assert;
 
  28 import org.junit.Before;
 
  29 import org.junit.Test;
 
  30 import org.mockito.InjectMocks;
 
  31 import org.mockito.Mock;
 
  32 import org.mockito.Mockito;
 
  33 import org.mockito.MockitoAnnotations;
 
  34 import org.onap.vfc.nfvo.driver.vnfm.svnfm.catalog.bo.CatalogQueryVnfResponse;
 
  35 import org.onap.vfc.nfvo.driver.vnfm.svnfm.catalog.bo.entity.ImageInfo;
 
  36 import org.onap.vfc.nfvo.driver.vnfm.svnfm.catalog.bo.entity.VnfInstanceInfo;
 
  37 import org.onap.vfc.nfvo.driver.vnfm.svnfm.catalog.bo.entity.VnfPackageInfo;
 
  38 import org.onap.vfc.nfvo.driver.vnfm.svnfm.common.bo.AdaptorEnv;
 
  39 import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonEnum;
 
  40 import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonEnum.Deletionpending;
 
  41 import org.onap.vfc.nfvo.driver.vnfm.svnfm.http.client.HttpClientProcessorInf;
 
  42 import org.onap.vfc.nfvo.driver.vnfm.svnfm.http.client.HttpResult;
 
  43 import org.springframework.web.bind.annotation.RequestMethod;
 
  45 import com.google.gson.Gson;
 
  47 public class CatalogMgmrImplTest {
 
  49         private CatalogMgmrImpl catalogMgmr;
 
  52         private HttpClientProcessorInf httpClientProcessor;
 
  54         private String vnfPackageId = "vnfPackageId_001";
 
  56         private Gson gson = new Gson();
 
  59         public void setUp() throws Exception {
 
  60                 MockitoAnnotations.initMocks(this);
 
  61                 AdaptorEnv env = new AdaptorEnv();
 
  62                 catalogMgmr.setAdaptorEnv(env);
 
  63                 MockitoAnnotations.initMocks(this);
 
  67         public void testQueryVnfPackage() throws ClientProtocolException, IOException
 
  69                 CatalogQueryVnfResponse response = new CatalogQueryVnfResponse();
 
  70                 List<VnfInstanceInfo> vnfInstanceInfos = new ArrayList<VnfInstanceInfo>();
 
  71                 VnfInstanceInfo vnfInstanceInfo = new VnfInstanceInfo();
 
  72                 vnfInstanceInfo.setVnfInstanceId("vnfInstanceId");
 
  73                 vnfInstanceInfo.setVnfInstanceName("vnfInstanceName");
 
  74                 vnfInstanceInfos.add(vnfInstanceInfo );
 
  77                 response.setVnfInstanceInfo(vnfInstanceInfos);
 
  79                 response.setCsarId("csarId");
 
  80                 ImageInfo imageInfo = new ImageInfo();
 
  81                 imageInfo.setFileName("fileName");
 
  82                 imageInfo.setImageId("imageId");
 
  83                 imageInfo.setIndex("index");
 
  84                 imageInfo.setStatus("status");
 
  85                 imageInfo.setTenant("tenant");
 
  86                 imageInfo.setVimId("vimId");
 
  87                 imageInfo.setVimUser("vimUser");
 
  88                 response.setImageInfo(imageInfo);
 
  90                 VnfPackageInfo packageInfo = new VnfPackageInfo();
 
  91                 packageInfo.setDownloadUri("1.3.5.6");
 
  92                 packageInfo.setName("name");
 
  93                 packageInfo.setOnBoardState("onBoardState");
 
  94                 packageInfo.setVnfdId("vnfdId");
 
  95                 packageInfo.setVnfdProvider("vnfdProvider");
 
  96                 packageInfo.setVnfdVersion("vnfdVersion");
 
  97                 packageInfo.setVnfVersion("vnfVersion");
 
  98                 Deletionpending deletionPending = CommonEnum.Deletionpending.fALSE;
 
  99                 packageInfo.setDeletionPending(deletionPending );
 
 101                 response.setPackageInfo(packageInfo );
 
 103                 String json = gson.toJson(packageInfo);
 
 105                 HttpResult httpResult = new HttpResult();
 
 106                 httpResult.setContent(json);
 
 108                 when(httpClientProcessor.process(Mockito.anyString(), Mockito.any(RequestMethod.class), Mockito.any(HashMap.class), Mockito.anyString())).thenReturn(httpResult);
 
 109                 VnfPackageInfo packageInfo1 = catalogMgmr.queryVnfPackage(vnfPackageId);
 
 110                 Assert.assertEquals("1.3.5.6", packageInfo.getDownloadUri());