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;
21 import net.sf.json.JSONArray;
22 import net.sf.json.JSONObject;
23 import org.junit.After;
24 import org.junit.Before;
25 import org.junit.Test;
26 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.VnfmJsonUtil;
27 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.VnfmUtil;
28 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.restclient.ServiceException;
29 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.constant.Constant;
30 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.process.VnfMgr;
32 import javax.servlet.http.HttpServletRequest;
33 import javax.servlet.http.HttpServletResponse;
34 import java.io.IOException;
36 import static org.junit.Assert.assertEquals;
37 import static org.junit.Assert.assertNotNull;
39 public class VnfRoaTest {
41 private VnfRoa vnfRoa;
43 private VnfMgr vnfMgr;
47 vnfRoa = new VnfRoa();
48 vnfMgr = new VnfMgr();
49 vnfRoa.setVnfMgr(vnfMgr);
53 public void tearDown() {
59 public void testAddVnf() throws ServiceException {
60 final JSONObject restJson = new JSONObject();
61 restJson.put("retCode", Constant.REST_SUCCESS);
62 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
63 HttpServletRequest mockInstance = proxyStub.getMockInstance();
65 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
66 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
68 new MockUp<VnfMgr>() {
71 public JSONObject addVnf(JSONObject subJsonObject, String vnfmId) {
72 JSONObject retJson = new JSONObject();
73 retJson.put("id", "123");
74 restJson.put("data", retJson);
78 new MockUp<VnfmJsonUtil>() {
80 @SuppressWarnings("unchecked")
82 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
87 String result = vnfRoa.addVnf(mockInstance, mockResInstance, "vnfmId");
89 JSONObject retJson = new JSONObject();
90 retJson.put("id", "123");
91 assertEquals(retJson.toString(), result);
96 public void testAddVnfFail() throws ServiceException {
97 final JSONObject restJson = new JSONObject();
98 restJson.put("retCode", Constant.REST_FAIL);
99 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
100 HttpServletRequest mockInstance = proxyStub.getMockInstance();
102 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
103 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
105 new MockUp<VnfMgr>() {
108 public JSONObject addVnf(JSONObject subJsonObject, String vnfmId) {
112 new MockUp<VnfmJsonUtil>() {
114 @SuppressWarnings("unchecked")
116 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
121 String result = vnfRoa.addVnf(mockInstance, mockResInstance, "vnfmId");
123 assertEquals(restJson.toString(), result);
128 public void testAddVnfBySubJsonObjectNull() throws ServiceException {
129 final JSONObject restJson = new JSONObject();
130 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
131 HttpServletRequest mockInstance = proxyStub.getMockInstance();
133 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
134 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
136 new MockUp<VnfmJsonUtil>() {
139 public <T> T getJsonFromContexts(HttpServletRequest context) {
144 String result = vnfRoa.addVnf(mockInstance, mockResInstance, "vnfmId");
146 assertEquals(restJson.toString(), result);
151 public void testDelVnf() throws ServiceException {
152 final JSONObject restJson = new JSONObject();
153 restJson.put("retCode", Constant.REST_SUCCESS);
154 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
155 HttpServletRequest mockInstance = proxyStub.getMockInstance();
157 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
158 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
160 new MockUp<VnfMgr>() {
163 public JSONObject deleteVnf(String vnfId, String vnfmId, JSONObject vnfObject) {
164 JSONObject retJson = new JSONObject();
165 retJson.put("id", "123");
166 restJson.put("data", retJson);
171 new MockUp<VnfmJsonUtil>() {
173 @SuppressWarnings("unchecked")
175 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
180 String result = vnfRoa.delVnf("vnfmId", mockResInstance, "vnfId", mockInstance);
181 JSONObject retJson = new JSONObject();
182 retJson.put("id", "123");
183 assertEquals(retJson.toString(), result);
187 public void testDelVnfByVnfIdIsEmpty() throws ServiceException {
188 final JSONObject restJson = new JSONObject();
189 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
190 HttpServletRequest mockInstance = proxyStub.getMockInstance();
192 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
193 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
195 new MockUp<VnfmJsonUtil>() {
197 @SuppressWarnings("unchecked")
199 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
204 String result = vnfRoa.delVnf("vnfmId", mockResInstance, "", mockInstance);
206 assertEquals(restJson.toString(), result);
210 public void testDelVnfByVnfmIdIsEmpty() throws ServiceException {
211 final JSONObject restJson = new JSONObject();
212 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
213 HttpServletRequest mockInstance = proxyStub.getMockInstance();
215 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
216 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
218 new MockUp<VnfmJsonUtil>() {
220 @SuppressWarnings("unchecked")
222 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
227 String result = vnfRoa.delVnf("", mockResInstance, "vnfId", mockInstance);
229 assertEquals(restJson.toString(), result);
233 public void testDelVnfByVnfIdVnfmIdEmpty() throws ServiceException {
234 final JSONObject restJson = new JSONObject();
235 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
236 HttpServletRequest mockInstance = proxyStub.getMockInstance();
238 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
239 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
241 new MockUp<VnfmJsonUtil>() {
243 @SuppressWarnings("unchecked")
245 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
250 String result = vnfRoa.delVnf("", mockResInstance, "", mockInstance);
252 assertEquals(restJson.toString(), result);
256 public void testDelVnfFail() throws ServiceException {
257 final JSONObject restJson = new JSONObject();
258 restJson.put("retCode", Constant.REST_FAIL);
259 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
260 HttpServletRequest mockInstance = proxyStub.getMockInstance();
262 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
263 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
265 new MockUp<VnfMgr>() {
268 public JSONObject deleteVnf(String vnfId, String vnfmId, JSONObject vnfObject) {
273 new MockUp<VnfmJsonUtil>() {
275 @SuppressWarnings("unchecked")
277 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
282 String result = vnfRoa.delVnf("vnfmId", mockResInstance, "vnfId", mockInstance);
283 assertEquals(restJson.toString(), result);
287 public void testGetVnfByVnfIdIsEmpty() throws IOException, ServiceException {
288 final JSONObject restJson = new JSONObject();
289 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
290 HttpServletRequest mockInstance = proxyStub.getMockInstance();
292 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
293 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
295 new MockUp<VnfmJsonUtil>() {
297 @SuppressWarnings("unchecked")
299 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
304 String result = vnfRoa.getVnf("vnfmId", mockResInstance, "");
306 assertEquals(restJson.toString(), result);
310 public void testGetVnfByVnfmIdIsEmpty() throws IOException, ServiceException {
311 final JSONObject restJson = new JSONObject();
312 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
313 HttpServletRequest mockInstance = proxyStub.getMockInstance();
315 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
316 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
318 new MockUp<VnfmJsonUtil>() {
320 @SuppressWarnings("unchecked")
322 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
327 String result = vnfRoa.getVnf("", mockResInstance, "vnfId");
329 assertEquals(restJson.toString(), result);
333 public void testGetVnfFail() throws IOException, ServiceException {
334 final JSONObject restJson = new JSONObject();
335 restJson.put("retCode", Constant.REST_FAIL);
336 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
337 HttpServletRequest mockInstance = proxyStub.getMockInstance();
339 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
340 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
342 new MockUp<VnfMgr>() {
345 public JSONObject getVnf(String vnfId, String vnfmId) {
350 new MockUp<VnfmJsonUtil>() {
352 @SuppressWarnings("unchecked")
354 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
359 String result = vnfRoa.getVnf("vnfmId", mockResInstance, "vnfId");
360 assertEquals(restJson.toString(), result);
364 public void testGetVnf() throws IOException, ServiceException {
365 final JSONObject restJson = new JSONObject();
366 restJson.put("retCode", Constant.REST_SUCCESS);
367 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
368 HttpServletRequest mockInstance = proxyStub.getMockInstance();
370 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
371 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
373 new MockUp<VnfMgr>() {
376 public JSONObject getVnf(String vnfId, String vnfmId) {
377 JSONObject retJson = new JSONObject();
378 JSONObject basicInfoJson = new JSONObject();
379 basicInfoJson.put("vnfInstanceId", "123");
380 basicInfoJson.put("vnfInstanceName", "1");
381 basicInfoJson.put("vnfInstanceDescription", "vFW");
382 basicInfoJson.put("vnfdId", "1");
383 basicInfoJson.put("vnfdPackageId", "vFW");
384 basicInfoJson.put("version", "vFW");
385 basicInfoJson.put("vnfProvider", "hw");
386 basicInfoJson.put("vnfType", "fw");
387 basicInfoJson.put("vnfStatus", "active");
388 retJson.put("vnfInfo", basicInfoJson);
389 retJson.put(Constant.RETCODE, Constant.REST_SUCCESS);
394 new MockUp<VnfmJsonUtil>() {
396 @SuppressWarnings("unchecked")
398 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
403 String result = vnfRoa.getVnf("vnfmId", mockResInstance, "vnfId");
404 JSONObject basicInfoJson = new JSONObject();
405 JSONObject retJson = new JSONObject();
406 basicInfoJson.put("vnfInstanceId", "123");
407 basicInfoJson.put("vnfInstanceName", "1");
408 basicInfoJson.put("vnfInstanceDescription", "vFW");
409 basicInfoJson.put("vnfdId", "1");
410 basicInfoJson.put("vnfdPackageId", "vFW");
411 basicInfoJson.put("version", "vFW");
412 basicInfoJson.put("vnfProvider", "hw");
413 basicInfoJson.put("vnfType", "fw");
414 basicInfoJson.put("vnfStatus", "active");
415 retJson.put("vnfInfo", basicInfoJson);
416 assertEquals(retJson.toString(), result);
420 public void testGetJobByJobIdNull() throws ServiceException {
421 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
422 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
424 String result = vnfRoa.getJob(null, null, mockResInstance, "1111");
425 assertEquals("{}", result);
429 public void testGetJobByVnfmIdNull() throws ServiceException {
430 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
431 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
433 String result = vnfRoa.getJob("123", null, mockResInstance, "1111");
434 assertEquals("{}", result);
438 public void testGetJobByVnfMgrFail() throws ServiceException {
439 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
440 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
441 new MockUp<VnfMgr>() {
444 public JSONObject getJob(String jobId, String vnfmId) {
445 JSONObject restJson = new JSONObject();
446 restJson.put(Constant.RETCODE, Constant.REST_FAIL);
450 String result = vnfRoa.getJob("123", "1234", mockResInstance, "1111");
451 assertEquals("{\"retCode\":-1}", result);
455 public void testGetJob() throws ServiceException {
456 new MockUp<VnfMgr>() {
459 public JSONObject getJob(String jobId, String vnfmId) {
460 JSONObject restJson = new JSONObject();
461 JSONArray data = new JSONArray();
462 JSONObject obj = new JSONObject();
463 obj.put("id", "11111");
464 obj.put("status", "Active");
466 restJson.put(Constant.RETCODE, Constant.REST_SUCCESS);
467 restJson.put("data", data);
472 String result = vnfRoa.getJob("123", "1234", null, "1111");
473 assertNotNull(result);
477 public void testScaleVnf() throws ServiceException {
478 final JSONObject restJson = new JSONObject();
479 restJson.put("retCode", Constant.REST_SUCCESS);
480 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
481 HttpServletRequest mockInstance = proxyStub.getMockInstance();
483 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
484 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
486 new MockUp<VnfMgr>() {
489 public JSONObject scaleVNF(JSONObject vnfObject, String vnfmId, String vnfInstanceId) {
490 JSONObject retJson = new JSONObject();
491 retJson.put("id", "123");
492 restJson.put("data", retJson);
496 new MockUp<VnfmJsonUtil>() {
498 @SuppressWarnings("unchecked")
500 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
505 String result = vnfRoa.scaleVnf(mockInstance, mockResInstance, "id", "id");
507 JSONObject retJson = new JSONObject();
508 retJson.put("id", "123");
509 assertEquals(retJson.toString(), result);
514 public void testScaleVnfFail() throws ServiceException {
515 final JSONObject restJson = new JSONObject();
516 restJson.put("retCode", Constant.REST_FAIL);
517 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
518 HttpServletRequest mockInstance = proxyStub.getMockInstance();
520 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
521 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
523 new MockUp<VnfMgr>() {
526 public JSONObject scaleVNF(JSONObject vnfObject, String vnfmId, String vnfInstanceId) {
527 JSONObject retJson = new JSONObject();
528 retJson.put("id", "123");
529 restJson.put("data", retJson);
533 new MockUp<VnfmJsonUtil>() {
535 @SuppressWarnings("unchecked")
537 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
541 String result = vnfRoa.scaleVnf(mockInstance, mockResInstance, "id", "id");
543 assertEquals(restJson.toString(), result);
548 public void testScaleVnfFail2() throws ServiceException {
549 final JSONObject restJson = new JSONObject();
550 restJson.put("retCode", Constant.REST_FAIL);
551 MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
552 HttpServletRequest mockInstance = proxyStub.getMockInstance();
554 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
555 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
557 new MockUp<VnfMgr>() {
560 public JSONObject scaleVNF(JSONObject vnfObject, String vnfmId, String vnfInstanceId) {
561 JSONObject retJson = new JSONObject();
562 retJson.put("id", "123");
563 restJson.put("data", retJson);
567 new MockUp<VnfmJsonUtil>() {
569 @SuppressWarnings("unchecked")
571 public <T> T getJsonFromContexts(HttpServletRequest VNFreq) {
575 String result = vnfRoa.scaleVnf(mockInstance, mockResInstance, "id", "id");
577 assertNotNull(result);
582 public void testGetVnfmById() throws ServiceException {
583 new MockUp<VnfmUtil>() {
586 public JSONObject getVnfmById(String vnfmId) {
587 JSONObject json = new JSONObject();
588 json.put("vnfm", "1234");
592 String result = vnfRoa.getVnfmById("1234", null);
593 assertNotNull(result);
597 public void testGetJobFromVnfm() throws ServiceException {
598 new MockUp<VnfMgr>() {
601 public JSONObject getJobFromVnfm(String jobId, String vnfmId) {
602 JSONObject json = new JSONObject();
603 json.put("retCode", "1");
608 public String transferToLcm(JSONObject restJson) {
612 String result = vnfRoa.getJobFromVnfm("jobId", "vnfmId", null, "responseId");
613 assertNotNull(result);
617 public void testGetJobFromVnfmFail() throws ServiceException {
619 new MockUp<VnfMgr>() {
622 public JSONObject getJobFromVnfm(String jobId, String vnfmId) {
623 JSONObject json = new JSONObject();
624 json.put("retCode", "-1");
629 MockUp<HttpServletResponse> proxyResStub = new MockUp<HttpServletResponse>() {};
630 HttpServletResponse mockResInstance = proxyResStub.getMockInstance();
631 String result = vnfRoa.getJobFromVnfm("jobId", "vnfmId", mockResInstance, "responseId");
632 assertNotNull(result);