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.service.constant.Constant;
30 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.process.VnfMgr;
31 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.rest.VnfRoa;
32 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.restclient.ServiceException;
36 import net.sf.json.JSONArray;
37 import net.sf.json.JSONObject;
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 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, "", mockInstance);
306 assertEquals(restJson.toString(), result);
310 public void testGetVnfByVnfmIdIsEmpty() throws 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", mockInstance);
329 assertEquals(restJson.toString(), result);
333 public void testGetVnfFail() throws 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", mockInstance);
360 assertEquals(restJson.toString(), result);
364 public void testGetVnf() throws 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", mockInstance);
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);
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 assertEquals(restJson.toString(), result);