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.openo.nfvo.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.openo.baseservice.remoteservice.exception.ServiceException;
29 import org.openo.nfvo.vnfmadapter.common.VnfmJsonUtil;
30 import org.openo.nfvo.vnfmadapter.service.constant.Constant;
31 import org.openo.nfvo.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, "", mockInstance);
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", mockInstance);
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", mockInstance);
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", mockInstance);
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);
512 public void testScaleVnfFail() throws ServiceException {
513 final JSONObject restJson = new JSONObject();
514 restJson.put("retCode", Constant.REST_FAIL);
515 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
516 HttpServletRequest mockInstance = proxyStub.getMockInstance();
518 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
519 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
521 new MockUp<VnfMgr>() {
524 public JSONObject scaleVNF(JSONObject vnfObject, String vnfmId, String vnfInstanceId) {
525 JSONObject retJson = new JSONObject();
526 retJson.put("id", "123");
527 restJson.put("data", retJson);
531 new MockUp<VnfmJsonUtil>() {
533 @SuppressWarnings("unchecked")
535 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
539 String result = vnfRoa.scaleVnf(mockInstance,mockResInstance,"id","id");
541 assertEquals(restJson.toString(), result);
546 public void testScaleVnfFail2() throws ServiceException {
547 final JSONObject restJson = new JSONObject();
548 restJson.put("retCode", Constant.REST_FAIL);
549 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
550 HttpServletRequest mockInstance = proxyStub.getMockInstance();
552 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
553 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
555 new MockUp<VnfMgr>() {
558 public JSONObject scaleVNF(JSONObject vnfObject, String vnfmId, String vnfInstanceId) {
559 JSONObject retJson = new JSONObject();
560 retJson.put("id", "123");
561 restJson.put("data", retJson);
565 new MockUp<VnfmJsonUtil>() {
567 @SuppressWarnings("unchecked")
569 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
573 String result = vnfRoa.scaleVnf(mockInstance,mockResInstance,"id","id");
575 assertEquals(restJson.toString(), result);