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 java.io.IOException;
24 import javax.servlet.http.HttpServletRequest;
25 import javax.servlet.http.HttpServletResponse;
27 import org.junit.After;
28 import org.junit.Before;
29 import org.junit.Test;
30 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.VnfmJsonUtil;
31 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.VnfmUtil;
32 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.restclient.ServiceException;
33 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.constant.Constant;
34 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.process.VnfMgr;
38 import net.sf.json.JSONArray;
39 import net.sf.json.JSONObject;
41 public class VnfRoaTest {
43 private VnfRoa vnfRoa;
45 private VnfMgr vnfMgr;
49 vnfRoa = new VnfRoa();
50 vnfMgr = new VnfMgr();
51 vnfRoa.setVnfMgr(vnfMgr);
55 public void tearDown() {
61 public void testAddVnf() throws ServiceException {
62 final JSONObject restJson = new JSONObject();
63 restJson.put("retCode", Constant.REST_SUCCESS);
64 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
65 HttpServletRequest mockInstance = proxyStub.getMockInstance();
67 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
68 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
70 new MockUp<VnfMgr>() {
73 public JSONObject addVnf(JSONObject subJsonObject, String vnfmId) {
74 JSONObject retJson = new JSONObject();
75 retJson.put("id", "123");
76 restJson.put("data", retJson);
80 new MockUp<VnfmJsonUtil>() {
82 @SuppressWarnings("unchecked")
84 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
89 String result = vnfRoa.addVnf(mockInstance, mockResInstance, "vnfmId");
91 JSONObject retJson = new JSONObject();
92 retJson.put("id", "123");
93 assertEquals(retJson.toString(), result);
98 public void testAddVnfFail() throws ServiceException {
99 final JSONObject restJson = new JSONObject();
100 restJson.put("retCode", Constant.REST_FAIL);
101 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
102 HttpServletRequest mockInstance = proxyStub.getMockInstance();
104 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
105 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
107 new MockUp<VnfMgr>() {
110 public JSONObject addVnf(JSONObject subJsonObject, String vnfmId) {
114 new MockUp<VnfmJsonUtil>() {
116 @SuppressWarnings("unchecked")
118 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
123 String result = vnfRoa.addVnf(mockInstance, mockResInstance, "vnfmId");
125 assertEquals(restJson.toString(), result);
130 public void testAddVnfBySubJsonObjectNull() throws ServiceException {
131 final JSONObject restJson = new JSONObject();
132 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
133 HttpServletRequest mockInstance = proxyStub.getMockInstance();
135 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
136 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
138 new MockUp<VnfmJsonUtil>() {
141 public <T> T getJsonFromContexts(HttpServletRequest context) {
146 String result = vnfRoa.addVnf(mockInstance, mockResInstance, "vnfmId");
148 assertEquals(restJson.toString(), result);
153 public void testDelVnf() throws ServiceException {
154 final JSONObject restJson = new JSONObject();
155 restJson.put("retCode", Constant.REST_SUCCESS);
156 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
157 HttpServletRequest mockInstance = proxyStub.getMockInstance();
159 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
160 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
162 new MockUp<VnfMgr>() {
165 public JSONObject deleteVnf(String vnfId, String vnfmId, JSONObject vnfObject) {
166 JSONObject retJson = new JSONObject();
167 retJson.put("id", "123");
168 restJson.put("data", retJson);
173 new MockUp<VnfmJsonUtil>() {
175 @SuppressWarnings("unchecked")
177 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
182 String result = vnfRoa.delVnf("vnfmId", mockResInstance, "vnfId", mockInstance);
183 JSONObject retJson = new JSONObject();
184 retJson.put("id", "123");
185 assertEquals(retJson.toString(), result);
189 public void testDelVnfByVnfIdIsEmpty() throws ServiceException {
190 final JSONObject restJson = new JSONObject();
191 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
192 HttpServletRequest mockInstance = proxyStub.getMockInstance();
194 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
195 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
197 new MockUp<VnfmJsonUtil>() {
199 @SuppressWarnings("unchecked")
201 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
206 String result = vnfRoa.delVnf("vnfmId", mockResInstance, "", mockInstance);
208 assertEquals(restJson.toString(), result);
212 public void testDelVnfByVnfmIdIsEmpty() throws ServiceException {
213 final JSONObject restJson = new JSONObject();
214 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
215 HttpServletRequest mockInstance = proxyStub.getMockInstance();
217 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
218 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
220 new MockUp<VnfmJsonUtil>() {
222 @SuppressWarnings("unchecked")
224 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
229 String result = vnfRoa.delVnf("", mockResInstance, "vnfId", mockInstance);
231 assertEquals(restJson.toString(), result);
235 public void testDelVnfByVnfIdVnfmIdEmpty() throws ServiceException {
236 final JSONObject restJson = new JSONObject();
237 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
238 HttpServletRequest mockInstance = proxyStub.getMockInstance();
240 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
241 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
243 new MockUp<VnfmJsonUtil>() {
245 @SuppressWarnings("unchecked")
247 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
252 String result = vnfRoa.delVnf("", mockResInstance, "", mockInstance);
254 assertEquals(restJson.toString(), result);
258 public void testDelVnfFail() throws ServiceException {
259 final JSONObject restJson = new JSONObject();
260 restJson.put("retCode", Constant.REST_FAIL);
261 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
262 HttpServletRequest mockInstance = proxyStub.getMockInstance();
264 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
265 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
267 new MockUp<VnfMgr>() {
270 public JSONObject deleteVnf(String vnfId, String vnfmId, JSONObject vnfObject) {
275 new MockUp<VnfmJsonUtil>() {
277 @SuppressWarnings("unchecked")
279 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
284 String result = vnfRoa.delVnf("vnfmId", mockResInstance, "vnfId", mockInstance);
285 assertEquals(restJson.toString(), result);
289 public void testGetVnfByVnfIdIsEmpty() throws IOException, ServiceException {
290 final JSONObject restJson = new JSONObject();
291 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
292 HttpServletRequest mockInstance = proxyStub.getMockInstance();
294 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
295 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
297 new MockUp<VnfmJsonUtil>() {
299 @SuppressWarnings("unchecked")
301 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
306 String result = vnfRoa.getVnf("vnfmId", mockResInstance, "");
308 assertEquals(restJson.toString(), result);
312 public void testGetVnfByVnfmIdIsEmpty() throws IOException, ServiceException {
313 final JSONObject restJson = new JSONObject();
314 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
315 HttpServletRequest mockInstance = proxyStub.getMockInstance();
317 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
318 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
320 new MockUp<VnfmJsonUtil>() {
322 @SuppressWarnings("unchecked")
324 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
329 String result = vnfRoa.getVnf("", mockResInstance, "vnfId");
331 assertEquals(restJson.toString(), result);
335 public void testGetVnfFail() throws IOException, ServiceException {
336 final JSONObject restJson = new JSONObject();
337 restJson.put("retCode", Constant.REST_FAIL);
338 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
339 HttpServletRequest mockInstance = proxyStub.getMockInstance();
341 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
342 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
344 new MockUp<VnfMgr>() {
347 public JSONObject getVnf(String vnfId, String vnfmId) {
352 new MockUp<VnfmJsonUtil>() {
354 @SuppressWarnings("unchecked")
356 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
361 String result = vnfRoa.getVnf("vnfmId", mockResInstance, "vnfId");
362 assertEquals(restJson.toString(), result);
366 public void testGetVnf() throws IOException, ServiceException {
367 final JSONObject restJson = new JSONObject();
368 restJson.put("retCode", Constant.REST_SUCCESS);
369 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
370 HttpServletRequest mockInstance = proxyStub.getMockInstance();
372 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
373 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
375 new MockUp<VnfMgr>() {
378 public JSONObject getVnf(String vnfId, String vnfmId) {
379 JSONObject retJson = new JSONObject();
380 JSONObject basicInfoJson = new JSONObject();
381 basicInfoJson.put("vnfInstanceId", "123");
382 basicInfoJson.put("vnfInstanceName", "1");
383 basicInfoJson.put("vnfInstanceDescription", "vFW");
384 basicInfoJson.put("vnfdId", "1");
385 basicInfoJson.put("vnfdPackageId", "vFW");
386 basicInfoJson.put("version", "vFW");
387 basicInfoJson.put("vnfProvider", "hw");
388 basicInfoJson.put("vnfType", "fw");
389 basicInfoJson.put("vnfStatus", "active");
390 retJson.put("vnfInfo", basicInfoJson);
391 retJson.put(Constant.RETCODE, Constant.REST_SUCCESS);
396 new MockUp<VnfmJsonUtil>() {
398 @SuppressWarnings("unchecked")
400 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
405 String result = vnfRoa.getVnf("vnfmId", mockResInstance, "vnfId");
406 JSONObject basicInfoJson = new JSONObject();
407 JSONObject retJson = new JSONObject();
408 basicInfoJson.put("vnfInstanceId", "123");
409 basicInfoJson.put("vnfInstanceName", "1");
410 basicInfoJson.put("vnfInstanceDescription", "vFW");
411 basicInfoJson.put("vnfdId", "1");
412 basicInfoJson.put("vnfdPackageId", "vFW");
413 basicInfoJson.put("version", "vFW");
414 basicInfoJson.put("vnfProvider", "hw");
415 basicInfoJson.put("vnfType", "fw");
416 basicInfoJson.put("vnfStatus", "active");
417 retJson.put("vnfInfo", basicInfoJson);
418 assertEquals(retJson.toString(), result);
422 public void testGetJobByJobIdNull() throws ServiceException {
423 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
424 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
426 String result = vnfRoa.getJob(null, null, mockResInstance, "1111");
427 assertEquals("{}", result);
431 public void testGetJobByVnfmIdNull() throws ServiceException {
432 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
433 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
435 String result = vnfRoa.getJob("123", null, mockResInstance, "1111");
436 assertEquals("{}", result);
440 public void testGetJobByVnfMgrFail() throws ServiceException {
441 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
442 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
443 new MockUp<VnfMgr>() {
446 public JSONObject getJob(String jobId, String vnfmId) {
447 JSONObject restJson = new JSONObject();
448 restJson.put(Constant.RETCODE, Constant.REST_FAIL);
452 String result = vnfRoa.getJob("123", "1234", mockResInstance, "1111");
453 assertEquals("{\"retCode\":-1}", result);
457 public void testGetJob() throws ServiceException {
458 new MockUp<VnfMgr>() {
461 public JSONObject getJob(String jobId, String vnfmId) {
462 JSONObject restJson = new JSONObject();
463 JSONArray data = new JSONArray();
464 JSONObject obj = new JSONObject();
465 obj.put("id", "11111");
466 obj.put("status", "Active");
468 restJson.put(Constant.RETCODE, Constant.REST_SUCCESS);
469 restJson.put("data", data);
474 String result = vnfRoa.getJob("123", "1234", null, "1111");
475 assertNotNull(result);
479 public void testHealVnf() throws ServiceException {
480 final JSONObject restJson = new JSONObject();
481 restJson.put("retCode", Constant.REST_SUCCESS);
482 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
483 HttpServletRequest mockInstance = proxyStub.getMockInstance();
485 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
486 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
488 new MockUp<VnfMgr>() {
491 public JSONObject healVnf(JSONObject jsonObject, String vnfInstanceId, String vnfmId) {
492 JSONObject retJson = new JSONObject();
493 retJson.put("id", "123");
494 restJson.put("data", retJson);
498 new MockUp<VnfmJsonUtil>() {
500 @SuppressWarnings("unchecked")
502 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
507 String result = vnfRoa.healVnf(mockInstance, mockResInstance, "id", "id");
508 assertNotNull(result);
513 public void testScaleVnf() throws ServiceException {
514 final JSONObject restJson = new JSONObject();
515 restJson.put("retCode", Constant.REST_SUCCESS);
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) {
541 String result = vnfRoa.scaleVnf(mockInstance, mockResInstance, "id", "id");
543 JSONObject retJson = new JSONObject();
544 retJson.put("id", "123");
545 assertEquals(retJson.toString(), result);
550 public void testScaleVnfFail() throws ServiceException {
551 final JSONObject restJson = new JSONObject();
552 restJson.put("retCode", Constant.REST_FAIL);
553 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
554 HttpServletRequest mockInstance = proxyStub.getMockInstance();
556 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
557 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
559 new MockUp<VnfMgr>() {
562 public JSONObject scaleVNF(JSONObject vnfObject, String vnfmId, String vnfInstanceId) {
563 JSONObject retJson = new JSONObject();
564 retJson.put("id", "123");
565 restJson.put("data", retJson);
569 new MockUp<VnfmJsonUtil>() {
571 @SuppressWarnings("unchecked")
573 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
577 String result = vnfRoa.scaleVnf(mockInstance, mockResInstance, "id", "id");
579 assertEquals(restJson.toString(), result);
584 public void testScaleVnfFail2() throws ServiceException {
585 final JSONObject restJson = new JSONObject();
586 restJson.put("retCode", Constant.REST_FAIL);
587 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
588 HttpServletRequest mockInstance = proxyStub.getMockInstance();
590 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
591 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
593 new MockUp<VnfMgr>() {
596 public JSONObject scaleVNF(JSONObject vnfObject, String vnfmId, String vnfInstanceId) {
597 JSONObject retJson = new JSONObject();
598 retJson.put("id", "123");
599 restJson.put("data", retJson);
603 new MockUp<VnfmJsonUtil>() {
605 @SuppressWarnings("unchecked")
607 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
611 String result = vnfRoa.scaleVnf(mockInstance, mockResInstance, "id", "id");
613 assertNotNull(result);
618 public void testGetVnfmById() throws ServiceException {
619 new MockUp<VnfmUtil>() {
622 public JSONObject getVnfmById(String vnfmId) {
623 JSONObject json = new JSONObject();
624 json.put("vnfm", "1234");
628 String result = vnfRoa.getVnfmById("1234", null);
629 assertNotNull(result);
633 public void testGetJobFromVnfm() throws ServiceException {
634 new MockUp<VnfMgr>() {
637 public JSONObject getJobFromVnfm(String jobId, String vnfmId) {
638 JSONObject json = new JSONObject();
639 json.put("retCode", "1");
644 public String transferToLcm(JSONObject restJson) {
648 String result = vnfRoa.getJobFromVnfm("jobId", "vnfmId", null, "responseId");
649 assertNotNull(result);
653 public void testGetJobFromVnfmFail() throws ServiceException {
655 new MockUp<VnfMgr>() {
658 public JSONObject getJobFromVnfm(String jobId, String vnfmId) {
659 JSONObject json = new JSONObject();
660 json.put("retCode", "-1");
665 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
666 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
667 String result = vnfRoa.getJobFromVnfm("jobId", "vnfmId", mockResInstance, "responseId");
668 assertNotNull(result);