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.assertEquals;
 
  20 import static org.junit.Assert.assertNotNull;
 
  22 import javax.servlet.http.HttpServletRequest;
 
  23 import javax.servlet.http.HttpServletResponse;
 
  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.restclient.ServiceException;
 
  30 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.constant.Constant;
 
  31 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.process.VnfMgr;
 
  35 import net.sf.json.JSONArray;
 
  36 import net.sf.json.JSONObject;
 
  38 public class VnfRoaTest {
 
  40     private VnfRoa vnfRoa;
 
  42     private VnfMgr vnfMgr;
 
  46         vnfRoa = new VnfRoa();
 
  47         vnfMgr = new VnfMgr();
 
  48         vnfRoa.setVnfMgr(vnfMgr);
 
  52     public void tearDown() {
 
  58     public void testAddVnf() throws ServiceException {
 
  59         final JSONObject restJson = new JSONObject();
 
  60         restJson.put("retCode", Constant.REST_SUCCESS);
 
  61         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
 
  62         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
  64         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
  65         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
  67         new MockUp<VnfMgr>() {
 
  70             public JSONObject addVnf(JSONObject subJsonObject, String vnfmId) {
 
  71                 JSONObject retJson = new JSONObject();
 
  72                 retJson.put("id", "123");
 
  73                 restJson.put("data", retJson);
 
  77         new MockUp<VnfmJsonUtil>() {
 
  79             @SuppressWarnings("unchecked")
 
  81             public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
 
  86         String result = vnfRoa.addVnf(mockInstance, mockResInstance, "vnfmId");
 
  88         JSONObject retJson = new JSONObject();
 
  89         retJson.put("id", "123");
 
  90         assertEquals(retJson.toString(), result);
 
  95     public void testAddVnfFail() throws ServiceException {
 
  96         final JSONObject restJson = new JSONObject();
 
  97         restJson.put("retCode", Constant.REST_FAIL);
 
  98         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
 
  99         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 101         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
 102         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
 104         new MockUp<VnfMgr>() {
 
 107             public JSONObject addVnf(JSONObject subJsonObject, String vnfmId) {
 
 111         new MockUp<VnfmJsonUtil>() {
 
 113             @SuppressWarnings("unchecked")
 
 115             public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
 
 120         String result = vnfRoa.addVnf(mockInstance, mockResInstance, "vnfmId");
 
 122         assertEquals(restJson.toString(), result);
 
 127     public void testAddVnfBySubJsonObjectNull() throws ServiceException {
 
 128         final JSONObject restJson = new JSONObject();
 
 129         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
 
 130         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 132         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
 133         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
 135         new MockUp<VnfmJsonUtil>() {
 
 138             public <T> T getJsonFromContexts(HttpServletRequest context) {
 
 143         String result = vnfRoa.addVnf(mockInstance, mockResInstance, "vnfmId");
 
 145         assertEquals(restJson.toString(), result);
 
 150     public void testDelVnf() throws ServiceException {
 
 151         final JSONObject restJson = new JSONObject();
 
 152         restJson.put("retCode", Constant.REST_SUCCESS);
 
 153         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
 
 154         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 156         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
 157         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
 159         new MockUp<VnfMgr>() {
 
 162             public JSONObject deleteVnf(String vnfId, String vnfmId, JSONObject vnfObject) {
 
 163                 JSONObject retJson = new JSONObject();
 
 164                 retJson.put("id", "123");
 
 165                 restJson.put("data", retJson);
 
 170         new MockUp<VnfmJsonUtil>() {
 
 172             @SuppressWarnings("unchecked")
 
 174             public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
 
 179         String result = vnfRoa.delVnf("vnfmId", mockResInstance, "vnfId", mockInstance);
 
 180         JSONObject retJson = new JSONObject();
 
 181         retJson.put("id", "123");
 
 182         assertEquals(retJson.toString(), result);
 
 186     public void testDelVnfByVnfIdIsEmpty() throws ServiceException {
 
 187         final JSONObject restJson = new JSONObject();
 
 188         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
 
 189         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 191         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
 192         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
 194         new MockUp<VnfmJsonUtil>() {
 
 196             @SuppressWarnings("unchecked")
 
 198             public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
 
 203         String result = vnfRoa.delVnf("vnfmId", mockResInstance, "", mockInstance);
 
 205         assertEquals(restJson.toString(), result);
 
 209     public void testDelVnfByVnfmIdIsEmpty() throws ServiceException {
 
 210         final JSONObject restJson = new JSONObject();
 
 211         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
 
 212         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 214         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
 215         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
 217         new MockUp<VnfmJsonUtil>() {
 
 219             @SuppressWarnings("unchecked")
 
 221             public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
 
 226         String result = vnfRoa.delVnf("", mockResInstance, "vnfId", mockInstance);
 
 228         assertEquals(restJson.toString(), result);
 
 232     public void testDelVnfByVnfIdVnfmIdEmpty() throws ServiceException {
 
 233         final JSONObject restJson = new JSONObject();
 
 234         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
 
 235         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 237         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
 238         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
 240         new MockUp<VnfmJsonUtil>() {
 
 242             @SuppressWarnings("unchecked")
 
 244             public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
 
 249         String result = vnfRoa.delVnf("", mockResInstance, "", mockInstance);
 
 251         assertEquals(restJson.toString(), result);
 
 255     public void testDelVnfFail() throws ServiceException {
 
 256         final JSONObject restJson = new JSONObject();
 
 257         restJson.put("retCode", Constant.REST_FAIL);
 
 258         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
 
 259         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 261         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
 262         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
 264         new MockUp<VnfMgr>() {
 
 267             public JSONObject deleteVnf(String vnfId, String vnfmId, JSONObject vnfObject) {
 
 272         new MockUp<VnfmJsonUtil>() {
 
 274             @SuppressWarnings("unchecked")
 
 276             public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
 
 281         String result = vnfRoa.delVnf("vnfmId", mockResInstance, "vnfId", mockInstance);
 
 282         assertEquals(restJson.toString(), result);
 
 286     public void testGetVnfByVnfIdIsEmpty() throws ServiceException {
 
 287         final JSONObject restJson = new JSONObject();
 
 288         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
 
 289         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 291         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
 292         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
 294         new MockUp<VnfmJsonUtil>() {
 
 296             @SuppressWarnings("unchecked")
 
 298             public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
 
 303         String result = vnfRoa.getVnf("vnfmId", mockResInstance, "");
 
 305         assertEquals(restJson.toString(), result);
 
 309     public void testGetVnfByVnfmIdIsEmpty() throws ServiceException {
 
 310         final JSONObject restJson = new JSONObject();
 
 311         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
 
 312         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 314         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
 315         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
 317         new MockUp<VnfmJsonUtil>() {
 
 319             @SuppressWarnings("unchecked")
 
 321             public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
 
 326         String result = vnfRoa.getVnf("", mockResInstance, "vnfId");
 
 328         assertEquals(restJson.toString(), result);
 
 332     public void testGetVnfFail() throws ServiceException {
 
 333         final JSONObject restJson = new JSONObject();
 
 334         restJson.put("retCode", Constant.REST_FAIL);
 
 335         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
 
 336         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 338         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
 339         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
 341         new MockUp<VnfMgr>() {
 
 344             public JSONObject getVnf(String vnfId, String vnfmId) {
 
 349         new MockUp<VnfmJsonUtil>() {
 
 351             @SuppressWarnings("unchecked")
 
 353             public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
 
 358         String result = vnfRoa.getVnf("vnfmId", mockResInstance, "vnfId");
 
 359         assertEquals(restJson.toString(), result);
 
 363     public void testGetVnf() throws ServiceException {
 
 364         final JSONObject restJson = new JSONObject();
 
 365         restJson.put("retCode", Constant.REST_SUCCESS);
 
 366         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
 
 367         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 369         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
 370         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
 372         new MockUp<VnfMgr>() {
 
 375             public JSONObject getVnf(String vnfId, String vnfmId) {
 
 376                 JSONObject retJson = new JSONObject();
 
 377                 JSONObject basicInfoJson = new JSONObject();
 
 378                 basicInfoJson.put("vnfInstanceId", "123");
 
 379                 basicInfoJson.put("vnfInstanceName", "1");
 
 380                 basicInfoJson.put("vnfInstanceDescription", "vFW");
 
 381                 basicInfoJson.put("vnfdId", "1");
 
 382                 basicInfoJson.put("vnfdPackageId", "vFW");
 
 383                 basicInfoJson.put("version", "vFW");
 
 384                 basicInfoJson.put("vnfProvider", "hw");
 
 385                 basicInfoJson.put("vnfType", "fw");
 
 386                 basicInfoJson.put("vnfStatus", "active");
 
 387                 retJson.put("vnfInfo", basicInfoJson);
 
 388                 retJson.put(Constant.RETCODE, Constant.REST_SUCCESS);
 
 393         new MockUp<VnfmJsonUtil>() {
 
 395             @SuppressWarnings("unchecked")
 
 397             public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
 
 402         String result = vnfRoa.getVnf("vnfmId", mockResInstance, "vnfId");
 
 403         JSONObject basicInfoJson = new JSONObject();
 
 404         JSONObject retJson = new JSONObject();
 
 405         basicInfoJson.put("vnfInstanceId", "123");
 
 406         basicInfoJson.put("vnfInstanceName", "1");
 
 407         basicInfoJson.put("vnfInstanceDescription", "vFW");
 
 408         basicInfoJson.put("vnfdId", "1");
 
 409         basicInfoJson.put("vnfdPackageId", "vFW");
 
 410         basicInfoJson.put("version", "vFW");
 
 411         basicInfoJson.put("vnfProvider", "hw");
 
 412         basicInfoJson.put("vnfType", "fw");
 
 413         basicInfoJson.put("vnfStatus", "active");
 
 414         retJson.put("vnfInfo", basicInfoJson);
 
 415         assertEquals(retJson.toString(), result);
 
 419     public void testGetJobByJobIdNull() throws ServiceException {
 
 420         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
 421         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
 423         String result = vnfRoa.getJob(null, null, mockResInstance, "1111");
 
 424         assertEquals("{}", result);
 
 428     public void testGetJobByVnfmIdNull() throws ServiceException {
 
 429         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
 430         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
 432         String result = vnfRoa.getJob("123", null, mockResInstance, "1111");
 
 433         assertEquals("{}", result);
 
 437     public void testGetJobByVnfMgrFail() throws ServiceException {
 
 438         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
 439         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
 440         new MockUp<VnfMgr>() {
 
 443             public JSONObject getJob(String jobId, String vnfmId) {
 
 444                 JSONObject restJson = new JSONObject();
 
 445                 restJson.put(Constant.RETCODE, Constant.REST_FAIL);
 
 449         String result = vnfRoa.getJob("123", "1234", mockResInstance, "1111");
 
 450         assertEquals("{\"retCode\":-1}", result);
 
 454     public void testGetJob() throws ServiceException {
 
 455         new MockUp<VnfMgr>() {
 
 458             public JSONObject getJob(String jobId, String vnfmId) {
 
 459                 JSONObject restJson = new JSONObject();
 
 460                 JSONArray data = new JSONArray();
 
 461                 JSONObject obj = new JSONObject();
 
 462                 obj.put("id", "11111");
 
 463                 obj.put("status", "Active");
 
 465                 restJson.put(Constant.RETCODE, Constant.REST_SUCCESS);
 
 466                 restJson.put("data", data);
 
 471         String result = vnfRoa.getJob("123", "1234", null, "1111");
 
 472         assertNotNull(result);
 
 476     public void testScaleVnf() throws ServiceException {
 
 477         final JSONObject restJson = new JSONObject();
 
 478         restJson.put("retCode", Constant.REST_SUCCESS);
 
 479         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
 
 480         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 482         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
 483         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
 485         new MockUp<VnfMgr>() {
 
 488             public JSONObject scaleVNF(JSONObject vnfObject, String vnfmId, String vnfInstanceId) {
 
 489                 JSONObject retJson = new JSONObject();
 
 490                 retJson.put("id", "123");
 
 491                 restJson.put("data", retJson);
 
 495         new MockUp<VnfmJsonUtil>() {
 
 497             @SuppressWarnings("unchecked")
 
 499             public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
 
 504         String result = vnfRoa.scaleVnf(mockInstance, mockResInstance, "id", "id");
 
 506         JSONObject retJson = new JSONObject();
 
 507         retJson.put("id", "123");
 
 508         assertEquals(retJson.toString(), result);
 
 513     public void testScaleVnfFail() throws ServiceException {
 
 514         final JSONObject restJson = new JSONObject();
 
 515         restJson.put("retCode", Constant.REST_FAIL);
 
 516         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
 
 517         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 519         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
 520         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
 522         new MockUp<VnfMgr>() {
 
 525             public JSONObject scaleVNF(JSONObject vnfObject, String vnfmId, String vnfInstanceId) {
 
 526                 JSONObject retJson = new JSONObject();
 
 527                 retJson.put("id", "123");
 
 528                 restJson.put("data", retJson);
 
 532         new MockUp<VnfmJsonUtil>() {
 
 534             @SuppressWarnings("unchecked")
 
 536             public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
 
 540         String result = vnfRoa.scaleVnf(mockInstance, mockResInstance, "id", "id");
 
 542         assertEquals(restJson.toString(), result);
 
 547     public void testScaleVnfFail2() throws ServiceException {
 
 548         final JSONObject restJson = new JSONObject();
 
 549         restJson.put("retCode", Constant.REST_FAIL);
 
 550         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
 
 551         HttpServletRequest mockInstance = proxyStub.getMockInstance();
 
 553         MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
 
 554         HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
 
 556         new MockUp<VnfMgr>() {
 
 559             public JSONObject scaleVNF(JSONObject vnfObject, String vnfmId, String vnfInstanceId) {
 
 560                 JSONObject retJson = new JSONObject();
 
 561                 retJson.put("id", "123");
 
 562                 restJson.put("data", retJson);
 
 566         new MockUp<VnfmJsonUtil>() {
 
 568             @SuppressWarnings("unchecked")
 
 570             public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
 
 574         String result = vnfRoa.scaleVnf(mockInstance, mockResInstance, "id", "id");
 
 576         assertNotNull(result);