2  * Copyright 2016-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.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.rest;
 
  19 import static org.junit.Assert.assertNotNull;
 
  21 import java.io.IOException;
 
  23 import javax.servlet.http.HttpServletRequest;
 
  25 import org.junit.After;
 
  26 import org.junit.Before;
 
  27 import org.junit.Test;
 
  28 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.VnfmJsonUtil;
 
  29 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.VnfmUtil;
 
  30 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.constant.Constant;
 
  31 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.process.VnfResourceMgr;
 
  35 import net.sf.json.JSONObject;
 
  37 public class VnfResourceRoaTest {
 
  39     private VnfResourceRoa vnfResourceRoa;
 
  41     private VnfResourceMgr vnfResourceMgr;
 
  45         vnfResourceRoa = new VnfResourceRoa();
 
  46         vnfResourceMgr = new VnfResourceMgr();
 
  47         vnfResourceRoa.setVnfResourceMgr(vnfResourceMgr);
 
  51     public void tearDown() {
 
  52         vnfResourceRoa = null;
 
  53         vnfResourceMgr = null;
 
  57     public void testGrantVnfResByDataObjectNull() {
 
  58         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
 
  59         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
  60         new MockUp<VnfmJsonUtil>() {
 
  63             public <T> T getJsonFromContexts(HttpServletRequest context) {
 
  68         String result = vnfResourceRoa.grantVnfRes(mockInstance, "vnfId");
 
  70         JSONObject restJson = new JSONObject();
 
  71         restJson.put("retCode", Constant.REST_FAIL);
 
  72         restJson.put("data", "Params error");
 
  73         assertNotNull(result);
 
  77     public void testGrantVnfResByGrantObjNull() {
 
  78         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
 
  79         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
  80         final JSONObject dataObject = new JSONObject();
 
  81         new MockUp<VnfmJsonUtil>() {
 
  83             @SuppressWarnings("unchecked")
 
  85             public <T> T getJsonFromContexts(HttpServletRequest context) {
 
  89         new MockUp<JSONObject>() {
 
  92             public JSONObject getJSONObject(String key) {
 
 100         String result = vnfResourceRoa.grantVnfRes(mockInstance, "vnfId");
 
 102         JSONObject restJson = new JSONObject();
 
 103         restJson.put("retCode", Constant.REST_FAIL);
 
 104         restJson.put("data", "Grant param error");
 
 105         assertNotNull(result);
 
 109     public void testGrantVnfRes() {
 
 110         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {
 
 113             public String getHeader(String name) {
 
 117         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 118         final JSONObject dataObject = new JSONObject();
 
 119         JSONObject grant = new JSONObject();
 
 120         grant.put("project_id", "project_id");
 
 121         dataObject.put("grant", grant);
 
 122         new MockUp<VnfmJsonUtil>() {
 
 124             @SuppressWarnings("unchecked")
 
 126             public <T> T getJsonFromContexts(HttpServletRequest context) {
 
 127                 return (T)dataObject;
 
 130         new MockUp<VnfmUtil>() {
 
 133             public String getVnfmIdByIp(String ip) {
 
 138         new MockUp<VnfResourceMgr>() {
 
 141             public JSONObject grantVnfResource(JSONObject vnfObj, String vnfId, String vnfmId) {
 
 142                 JSONObject resultJson = new JSONObject();
 
 143                 resultJson.put("retCode", Constant.REST_SUCCESS);
 
 144                 JSONObject data = new JSONObject();
 
 145                 data.put("data", "success");
 
 146                 resultJson.put("data", data);
 
 150         String result = vnfResourceRoa.grantVnfRes(mockInstance, "vnfId");
 
 152         JSONObject restJson = new JSONObject();
 
 153         restJson.put("retCode", Constant.REST_SUCCESS);
 
 154         JSONObject data = new JSONObject();
 
 155         data.put("data", "success");
 
 156         restJson.put("data", data);
 
 157         assertNotNull(result);
 
 161     public void testGrantVnfResByFail() {
 
 162         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {
 
 165             public String getHeader(String name) {
 
 169         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 170         final JSONObject dataObject = new JSONObject();
 
 171         JSONObject grant = new JSONObject();
 
 172         grant.put("project_id", "project_id");
 
 173         dataObject.put("grant", grant);
 
 174         new MockUp<VnfmJsonUtil>() {
 
 176             @SuppressWarnings("unchecked")
 
 178             public <T> T getJsonFromContexts(HttpServletRequest context) {
 
 179                 return (T)dataObject;
 
 182         new MockUp<VnfmUtil>() {
 
 185             public String getVnfmIdByIp(String ip) {
 
 190         new MockUp<VnfResourceMgr>() {
 
 193             public JSONObject grantVnfResource(JSONObject vnfObj, String vnfId, String vnfmId) {
 
 194                 JSONObject resultJson = new JSONObject();
 
 195                 resultJson.put("retCode", Constant.REST_FAIL);
 
 196                 resultJson.put("data", "Fail!");
 
 200         String result = vnfResourceRoa.grantVnfRes(mockInstance, "vnfId");
 
 202         JSONObject restJson = new JSONObject();
 
 203         restJson.put("retCode", Constant.REST_FAIL);
 
 204         restJson.put("data", "Fail!");
 
 205         assertNotNull(result);
 
 209     public void testGrantVnfResByDataNull() {
 
 210         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {
 
 213             public String getHeader(String name) {
 
 217         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 218         final JSONObject dataObject = new JSONObject();
 
 219         JSONObject grant = new JSONObject();
 
 220         grant.put("project_id", "project_id");
 
 221         dataObject.put("grant", grant);
 
 222         new MockUp<VnfmJsonUtil>() {
 
 224             @SuppressWarnings("unchecked")
 
 226             public <T> T getJsonFromContexts(HttpServletRequest context) {
 
 227                 return (T)dataObject;
 
 230         new MockUp<VnfmUtil>() {
 
 233             public String getVnfmIdByIp(String ip) {
 
 238         new MockUp<VnfResourceMgr>() {
 
 241             public JSONObject grantVnfResource(JSONObject vnfObj, String vnfId, String vnfmId) {
 
 242                 JSONObject resultJson = new JSONObject();
 
 243                 resultJson.put("retCode", Constant.REST_FAIL);
 
 247         String result = vnfResourceRoa.grantVnfRes(mockInstance, "vnfId");
 
 249         JSONObject restJson = new JSONObject();
 
 250         restJson.put("retCode", Constant.REST_FAIL);
 
 251         assertNotNull(result);
 
 255     public void testNotify() throws IOException {
 
 256         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {
 
 259             public String getHeader(String name) {
 
 263         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 264         String result = vnfResourceRoa.notify(mockInstance);
 
 266         JSONObject restJson = new JSONObject();
 
 267         restJson.put(Constant.RETCODE, Constant.REST_SUCCESS);
 
 268         assertNotNull(result);