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.process;
19 import static org.junit.Assert.assertEquals;
23 import org.junit.Before;
24 import org.junit.Test;
25 import org.openo.baseservice.remoteservice.exception.ServiceException;
26 import org.openo.nfvo.vnfmadapter.common.ResultRequestUtil;
27 import org.openo.nfvo.vnfmadapter.common.VnfmUtil;
28 import org.openo.nfvo.vnfmadapter.service.adapter.impl.AdapterResourceManager;
29 import org.openo.nfvo.vnfmadapter.service.constant.Constant;
30 import org.openo.nfvo.vnfmadapter.service.csm.vnf.VnfMgrVnfm;
31 import org.openo.nfvo.vnfmadapter.service.dao.impl.VnfmDaoImpl;
32 import org.openo.nfvo.vnfmadapter.service.dao.inf.VnfmDao;
33 import org.openo.nfvo.vnfmadapter.service.entity.Vnfm;
37 import net.sf.json.JSONArray;
38 import net.sf.json.JSONException;
39 import net.sf.json.JSONObject;
41 public class VnfMgrTest {
43 private VnfmDao vnfmDao;
45 private VnfMgr vnfMgr;
49 vnfMgr = new VnfMgr();
50 vnfmDao = new VnfmDaoImpl();
51 vnfMgr.setVnfmDao(vnfmDao);
55 public void testAddVnfByInvalidateDataVnfInfoNull() {
57 JSONObject subJsonObject = JSONObject.fromObject(data);
58 VnfMgr vnfMgr = new VnfMgr();
59 JSONObject result = vnfMgr.addVnf(subJsonObject, "vnmfId");
61 JSONObject restJson = new JSONObject();
62 restJson.put("retCode", Constant.REST_FAIL);
63 assertEquals(restJson, result);
67 public void testAddVnfByInvalidateDataVnfInfoEmpty() {
69 JSONObject subJsonObject = JSONObject.fromObject(data);
70 VnfMgr vnfMgr = new VnfMgr();
71 JSONObject result = vnfMgr.addVnf(subJsonObject, "vnmfId");
73 JSONObject restJson = new JSONObject();
74 restJson.put("retCode", Constant.REST_FAIL);
75 assertEquals(restJson, result);
79 public void testAddVnfByVnfmObjcetIsNullObject() {
80 new MockUp<VnfmUtil>() {
83 public JSONObject getVnfmById(String vnfmId) {
84 return new JSONObject(true);
88 "{\"soId\": \"soId\",\"vapp_info\":{\"vnfm_id\":\"vnfm_id\",\"soId\": \"soId\",\"do_id\": \"do_id\"}}";
89 JSONObject subJsonObject = JSONObject.fromObject(data);
90 VnfMgr vnfMgr = new VnfMgr();
91 JSONObject result = vnfMgr.addVnf(subJsonObject, "vnmfId");
93 JSONObject restJson = new JSONObject();
94 restJson.put("retCode", Constant.REST_FAIL);
95 assertEquals(restJson, result);
99 public void testAddVnfByVnfmObjcetTypeEmpty() {
100 new MockUp<VnfmUtil>() {
103 public JSONObject getVnfmById(String vnfmId) {
104 JSONObject obj = new JSONObject();
110 "{\"soId\": \"soId\",\"vapp_info\":{\"vnfm_id\":\"vnfm_id\",\"soId\": \"soId\",\"do_id\": \"do_id\"}}";
111 JSONObject subJsonObject = JSONObject.fromObject(data);
112 VnfMgr vnfMgr = new VnfMgr();
113 JSONObject result = vnfMgr.addVnf(subJsonObject, "vnmfId");
115 JSONObject restJson = new JSONObject();
116 restJson.put("retCode", Constant.REST_FAIL);
117 assertEquals(restJson, result);
121 public void testAddVnf() {
122 new MockUp<VnfmUtil>() {
125 public JSONObject getVnfmById(String vnfmId) {
126 JSONObject obj = new JSONObject();
127 obj.put("type", "hw");
128 obj.put("vnfmId", "123");
129 obj.put("userName", "admin");
130 obj.put("password", "admin");
131 obj.put("url", "https://10.2.31.2:30001");
136 new MockUp<VnfMgrVnfm>() {
139 public JSONObject createVnf(JSONObject subJsonObject, JSONObject vnfmObjcet) {
140 JSONObject restJson = new JSONObject();
141 restJson.put("retCode", Constant.REST_SUCCESS);
146 new MockUp<AdapterResourceManager>() {
149 public JSONObject uploadVNFPackage(JSONObject subJsonObject, Map<String, String> conMap) {
150 JSONObject restJson = new JSONObject();
151 restJson.put("retCode", Constant.REST_SUCCESS);
152 restJson.put("vnfdId", "123");
158 "{\"vnfPackageId\": \"vnfPackageId\",\"vnfId\": \"vnfId\",\"additionalParam\":{\"parameters\":{\"input\":\"input\"}}}";
159 JSONObject subJsonObject = JSONObject.fromObject(data);
160 VnfMgr vnfMgr = new VnfMgr();
161 JSONObject result = vnfMgr.addVnf(subJsonObject, "vnfmId");
163 JSONObject restJson = new JSONObject();
164 restJson.put("retCode", Constant.REST_SUCCESS);
165 assertEquals(restJson, result);
169 public void testDeleteVnf() {
170 new MockUp<VnfmUtil>() {
173 public JSONObject getVnfmById(String vnfmId) {
174 JSONObject obj = new JSONObject();
175 obj.put("type", "hw");
176 obj.put("vnfmId", "123");
177 obj.put("userName", "admin");
178 obj.put("password", "admin");
179 obj.put("url", "https://10.2.31.2:30001");
183 new MockUp<VnfMgrVnfm>() {
186 public JSONObject removeVnf(JSONObject vnfmObject, String vnfId, JSONObject vnfObject) {
187 JSONObject obj = new JSONObject();
188 obj.put("retCode", Constant.REST_SUCCESS);
192 VnfMgr vnfMgr = new VnfMgr();
193 JSONObject vnfObject = new JSONObject();
194 JSONObject result = vnfMgr.deleteVnf("vnfId", "vnfmId", vnfObject);
196 JSONObject restJson = new JSONObject();
197 restJson.put("retCode", Constant.REST_SUCCESS);
198 assertEquals(restJson, result);
202 public void testDeleteVnfByVnfmObjcetIsNullObject() {
203 new MockUp<VnfmUtil>() {
206 public JSONObject getVnfmById(String vnfmId) {
207 JSONObject obj = new JSONObject(true);
211 VnfMgr vnfMgr = new VnfMgr();
212 JSONObject vnfObject = new JSONObject();
213 JSONObject result = vnfMgr.deleteVnf("vnfId", "vnfmId", vnfObject);
215 JSONObject restJson = new JSONObject();
216 restJson.put("retCode", Constant.REST_FAIL);
217 assertEquals(restJson, result);
222 public void testDeleteVnfByException() {
223 new MockUp<VnfmUtil>() {
226 public JSONObject getVnfmById(String vnfmId) {
227 throw new JSONException();
230 VnfMgr vnfMgr = new VnfMgr();
231 JSONObject vnfObject = new JSONObject();
232 JSONObject result = vnfMgr.deleteVnf("vnfId", "vnfmId", vnfObject);
234 JSONObject restJson = new JSONObject();
235 restJson.put("retCode", Constant.REST_FAIL);
236 assertEquals(restJson, result);
241 public void testGetVnf() {
242 new MockUp<VnfmUtil>() {
245 public JSONObject getVnfmById(String vnfmId) {
246 JSONObject obj = new JSONObject();
247 obj.put("type", "hw");
248 obj.put("vnfmId", "123");
249 obj.put("userName", "admin");
250 obj.put("password", "admin");
251 obj.put("url", "https://10.2.31.2:30001");
256 new MockUp<VnfmDaoImpl>() {
259 public Vnfm getVnfmById(String vnfmId) {
260 Vnfm obj = new Vnfm();
262 obj.setVersion("v2.0");
263 obj.setVnfdId("234");
264 obj.setVnfPackageId("123");
269 new MockUp<ResultRequestUtil>() {
272 public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
273 JSONObject resultJson = new JSONObject();
274 resultJson.put("retCode", Constant.HTTP_OK);
275 JSONObject data = new JSONObject();
277 JSONArray result = new JSONArray();
278 JSONObject basicInfo = new JSONObject();
279 basicInfo.put("id", "NE=345");
280 basicInfo.put("vapp_name", "sc");
281 basicInfo.put("status", "active");
282 result.add(basicInfo);
283 data.put("basic", result);
284 resultJson.put("data", data.toString());
289 JSONObject result = vnfMgr.getVnf("vnfId", "vnfmId");
291 JSONObject restJson = new JSONObject();
292 restJson.put("retCode", Constant.REST_SUCCESS);
293 result.remove("vnfInfo");
294 assertEquals(restJson, result);
298 public void testGetVnfFail() {
299 new MockUp<VnfmUtil>() {
302 public JSONObject getVnfmById(String vnfmId) {
303 JSONObject obj = new JSONObject(true);
308 JSONObject result = vnfMgr.getVnf("vnfId", "vnfmId");
309 JSONObject restJson = new JSONObject();
310 restJson.put(Constant.RETCODE, Constant.REST_FAIL);
311 assertEquals(restJson, result);
315 public void testGetVnfFail1() {
316 new MockUp<VnfmUtil>() {
319 public JSONObject getVnfmById(String vnfmId) {
320 throw new JSONException();
324 JSONObject result = vnfMgr.getVnf("vnfId", "vnfmId");
325 JSONObject restJson = new JSONObject();
326 restJson.put(Constant.RETCODE, Constant.REST_FAIL);
327 assertEquals(restJson, result);
331 public void testSaveVnfInfo() {
332 new MockUp<VnfmDaoImpl>() {
335 public int insertVnfm(Vnfm vnfm) throws ServiceException {
340 VnfMgr vnfMgr = new VnfMgr();
341 VnfmDao dao = new VnfmDaoImpl();
342 vnfMgr.setVnfmDao(dao);
343 JSONObject vnfObject = new JSONObject();
344 vnfObject.put("retCode", Constant.REST_SUCCESS);
345 vnfObject.put("vnfInstanceId", "vnfInstanceId");
346 vnfObject.put("vnfPackageId", "vnfPackageId");
347 JSONObject resObject = new JSONObject();
348 resObject.put("vnfdVersion", "vnfdVersion");
349 resObject.put("vnfdId", "vnfdId");
350 vnfMgr.saveVnfInfo(vnfObject, resObject);
354 public void testSaveVnfInfoFail() {
355 new MockUp<VnfmDaoImpl>() {
358 public int insertVnfm(Vnfm vnfm) throws ServiceException {
363 VnfMgr vnfMgr = new VnfMgr();
364 VnfmDao dao = new VnfmDaoImpl();
365 vnfMgr.setVnfmDao(dao);
366 JSONObject vnfObject = new JSONObject();
367 vnfObject.put("retCode", Constant.REST_FAIL);
368 vnfObject.put("vnfInstanceId", "vnfInstanceId");
369 vnfObject.put("vnfPackageId", "vnfPackageId");
370 JSONObject resObject = new JSONObject();
371 resObject.put("vnfdVersion", "vnfdVersion");
372 resObject.put("vnfdId", "vnfdId");
373 vnfMgr.saveVnfInfo(vnfObject, resObject);
377 public void testSaveVnfInfoServiceException() {
378 new MockUp<VnfmDaoImpl>() {
381 public int insertVnfm(Vnfm vnfm) throws ServiceException {
382 throw new ServiceException();
386 VnfMgr vnfMgr = new VnfMgr();
387 VnfmDao dao = new VnfmDaoImpl();
388 vnfMgr.setVnfmDao(dao);
389 JSONObject vnfObject = new JSONObject();
390 vnfObject.put("retCode", Constant.REST_SUCCESS);
391 vnfObject.put("vnfInstanceId", "vnfInstanceId");
392 vnfObject.put("vnfPackageId", "vnfPackageId");
393 JSONObject resObject = new JSONObject();
394 resObject.put("vnfdVersion", "vnfdVersion");
395 resObject.put("vnfdId", "vnfdId");
396 vnfMgr.saveVnfInfo(vnfObject, resObject);
400 public void testGetJob() {
401 new MockUp<VnfmUtil>() {
404 public JSONObject getVnfmById(String vnfmId) {
405 JSONObject obj = new JSONObject();
406 obj.put("test", "success");
411 new MockUp<VnfMgrVnfm>() {
414 public JSONObject getJob(JSONObject vnfmObject, String jobId) {
415 JSONObject res = new JSONObject();
416 res.put(Constant.RETCODE, Constant.REST_SUCCESS);
420 VnfMgr vnfMgr = new VnfMgr();
421 JSONObject result = vnfMgr.getJob("", "");
423 JSONObject restJson = new JSONObject();
424 restJson.put(Constant.RETCODE, Constant.REST_SUCCESS);
425 assertEquals(restJson, result);
429 public void testGetJobFail() {
430 new MockUp<VnfmUtil>() {
433 public JSONObject getVnfmById(String vnfmId) {
434 return new JSONObject();
437 VnfMgr vnfMgr = new VnfMgr();
438 JSONObject result = vnfMgr.getJob("", "");
440 JSONObject restJson = new JSONObject();
441 restJson.put(Constant.RETCODE, Constant.REST_FAIL);
442 assertEquals(restJson, result);
446 public void testGetJobFail1() {
447 new MockUp<VnfmUtil>() {
450 public JSONObject getVnfmById(String vnfmId) {
451 return new JSONObject(true);
454 VnfMgr vnfMgr = new VnfMgr();
455 JSONObject result = vnfMgr.getJob("", "");
457 JSONObject restJson = new JSONObject();
458 restJson.put(Constant.RETCODE, Constant.REST_FAIL);
459 assertEquals(restJson, result);
462 public void testScaleVnf() {
463 new MockUp<VnfmUtil>() {
466 public JSONObject getVnfmById(String vnfmId) {
467 JSONObject obj = new JSONObject();
468 obj.put("type", "hw");
469 obj.put("vnfmId", "123");
470 obj.put("userName", "admin");
471 obj.put("password", "admin");
472 obj.put("url", "https://10.2.31.2:30001");
477 new MockUp<VnfMgrVnfm>() {
480 public JSONObject scaleVnf(JSONObject vnfObject, JSONObject vnfmObject, String vnfmId, String vnfInstanceId) {
481 JSONObject restJson = new JSONObject();
482 restJson.put("retCode", Constant.REST_SUCCESS);
488 "{\"vnfPackageId\": \"vnfPackageId\",\"vnfId\": \"vnfId\",\"additionalParam\":{\"parameters\":{\"input\":\"input\"}}}";
489 JSONObject subJsonObject = JSONObject.fromObject(data);
490 VnfMgr vnfMgr = new VnfMgr();
491 JSONObject result = vnfMgr.scaleVNF(subJsonObject,"testId","testId");
493 JSONObject restJson = new JSONObject();
494 restJson.put("retCode", Constant.REST_SUCCESS);
495 assertEquals(restJson, result);