2 * Copyright 2016 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.csm.vnf;
19 import static org.junit.Assert.assertEquals;
21 import org.junit.Test;
22 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.ResultRequestUtil;
23 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.adapter.impl.AdapterResourceManager;
24 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.constant.Constant;
28 import net.sf.json.JSONArray;
29 import net.sf.json.JSONObject;
37 * @version VFC 1.0 Aug 10, 2016
39 public class VnfMgrVnfmTest {
42 public void testCreateVnf() {
43 new MockUp<ResultRequestUtil>() {
46 public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson, String authModel) {
47 JSONObject resultJson = new JSONObject();
48 resultJson.put("retCode", Constant.HTTP_CREATED);
49 JSONObject appInfo = new JSONObject();
50 appInfo.put("vnfinstanceid", "id");
51 appInfo.put("project_id", "project_id");
52 JSONObject data = new JSONObject();
53 data.put("app_info", appInfo);
54 resultJson.put("data", data);
60 String data = "{\"vnfmInfo\":{\"url\":\"url\"}}";
61 JSONObject subJsonObject = JSONObject.fromObject(data);
62 JSONObject vnfmObjcet = new JSONObject();
63 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
64 JSONObject result = vnfMgrVnfm.createVnf(subJsonObject, vnfmObjcet);
66 assertEquals(Constant.REST_SUCCESS, result.get("retCode"));
70 public void testCreateVnfByBadRequest() {
71 new MockUp<ResultRequestUtil>() {
74 public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson, String authModel) {
75 JSONObject resultJson = new JSONObject();
76 resultJson.put("retCode", Constant.HTTP_BAD_REQUEST);
80 String data = "{\"vnfmInfo\":{\"url\":\"url\"}}";
81 JSONObject subJsonObject = JSONObject.fromObject(data);
82 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
83 JSONObject vnfmObjcet = new JSONObject();
84 JSONObject result = vnfMgrVnfm.createVnf(subJsonObject, vnfmObjcet);
86 JSONObject resultJson = new JSONObject();
87 resultJson.put("retCode", Constant.REST_FAIL);
88 assertEquals(resultJson, result);
92 public void testCreateVnfByNotFound() {
93 new MockUp<ResultRequestUtil>() {
96 public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson, String authModel) {
97 JSONObject resultJson = new JSONObject();
98 resultJson.put("retCode", Constant.HTTP_NOTFOUND);
102 String data = "{\"vnfmInfo\":{\"url\":\"url\"}}";
103 JSONObject subJsonObject = JSONObject.fromObject(data);
104 JSONObject vnfmObjcet = new JSONObject();
105 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
106 JSONObject result = vnfMgrVnfm.createVnf(subJsonObject, vnfmObjcet);
108 JSONObject resultJson = new JSONObject();
109 resultJson.put("retCode", Constant.REST_FAIL);
110 assertEquals(resultJson, result);
114 public void testCreateVnfByJSONException() {
115 new MockUp<ResultRequestUtil>() {
118 public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson, String authModel) {
119 JSONObject resultJson = new JSONObject();
123 String data = "{\"vnfmInfo\":{\"url\":\"url\"}}";
124 JSONObject subJsonObject = JSONObject.fromObject(data);
125 JSONObject vnfmObjcet = new JSONObject();
126 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
127 JSONObject result = vnfMgrVnfm.createVnf(subJsonObject, vnfmObjcet);
129 JSONObject resultJson = new JSONObject();
130 resultJson.put("retCode", Constant.REST_FAIL);
131 assertEquals(resultJson, result);
135 public void testRemoveVnf() {
136 new MockUp<ResultRequestUtil>() {
139 public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson, String authModel) {
140 JSONObject resultJson = new JSONObject();
141 resultJson.put("retCode", Constant.HTTP_NOCONTENT);
145 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
146 JSONObject vnfmObject = new JSONObject();
147 JSONObject vnfObject = new JSONObject();
148 vnfmObject.put("url", "url");
149 JSONObject result = vnfMgrVnfm.removeVnf(vnfmObject, "vnfId", vnfObject);
151 JSONObject resultJson = new JSONObject();
152 resultJson.put("retCode", Constant.REST_SUCCESS);
153 JSONObject retJson = new JSONObject();
154 retJson.put("jobId", "vnfId" + "_" + Constant.DELETE);
155 resultJson.put("data", retJson);
156 assertEquals(Constant.REST_SUCCESS, result.get("retCode"));
160 public void testRemoveVnfByCsmError() {
161 new MockUp<ResultRequestUtil>() {
164 public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson, String authModel) {
165 JSONObject resultJson = new JSONObject();
166 resultJson.put("retCode", Constant.HTTP_INNERERROR);
170 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
171 JSONObject vnfmObject = new JSONObject();
172 vnfmObject.put("url", "url");
173 JSONObject vnfObject = new JSONObject();
174 JSONObject result = vnfMgrVnfm.removeVnf(vnfmObject, "vnfId", vnfObject);
176 JSONObject resultJson = new JSONObject();
177 resultJson.put("retCode", Constant.REST_FAIL);
178 assertEquals(resultJson, result);
181 public void getJobTestNormal(){
182 new MockUp<ResultRequestUtil>(){
184 public JSONObject call(JSONObject vnfmObject, String path, String methodName, String paramsJson, String authModel) {
185 JSONObject obj = new JSONObject();
186 JSONObject dataobj = new JSONObject();
187 dataobj.put("id", "2839");
188 obj.put("retCode", 200);
189 JSONArray basics = new JSONArray();
190 basics.add("test123");
191 JSONObject basicsData = new JSONObject();
192 basicsData.put("vnf_list", basics);
193 obj.put("data", basicsData);
198 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
199 JSONObject vnfmObject = new JSONObject();
201 String jobId = "1234";
202 JSONObject resp = vnfMgrVnfm.getJob(vnfmObject, jobId);
203 assertEquals(resp.get("retCode"),1);
207 public void getJobTestCreatedNormal(){
208 new MockUp<ResultRequestUtil>(){
210 public JSONObject call(JSONObject vnfmObject, String path, String methodName, String paramsJson, String authModel) {
211 JSONObject obj = new JSONObject();
212 JSONObject dataobj = new JSONObject();
213 dataobj.put("id", "2839");
214 obj.put("retCode", 201);
215 JSONArray basics = new JSONArray();
216 basics.add("test123");
217 JSONObject basicsData = new JSONObject();
218 basicsData.put("vnf_list", basics);
219 obj.put("data", basicsData);
224 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
225 JSONObject vnfmObject = new JSONObject();
227 String jobId = "1234";
228 JSONObject resp = vnfMgrVnfm.getJob(vnfmObject, jobId);
229 assertEquals(resp.get("retCode"),1);
233 public void getJobTestNullData(){
234 new MockUp<ResultRequestUtil>(){
236 public JSONObject call(JSONObject vnfmObject, String path, String methodName, String paramsJson, String authModel) {
237 JSONObject obj = new JSONObject();
238 JSONObject dataobj = new JSONObject();
239 dataobj.put("id", "2839");
240 obj.put("retCode", 201);
241 JSONArray basics = new JSONArray();
242 basics.add("test123");
243 JSONObject basicsData = new JSONObject();
244 basicsData.put("basic", basics);
245 obj.put("data", null);
250 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
251 JSONObject vnfmObject = new JSONObject();
253 String jobId = "1234";
254 JSONObject resp = vnfMgrVnfm.getJob(vnfmObject, jobId);
255 assertEquals(resp.get("retCode"),-1);
259 public void getJobTestInternalError(){
260 new MockUp<ResultRequestUtil>(){
262 public JSONObject call(JSONObject vnfmObject, String path, String methodName, String paramsJson, String authModel) {
263 JSONObject obj = new JSONObject();
264 JSONObject dataobj = new JSONObject();
265 dataobj.put("id", "2839");
266 obj.put("retCode", 500);
267 JSONArray basics = new JSONArray();
268 basics.add("test123");
269 JSONObject basicsData = new JSONObject();
270 basicsData.put("basic", basics);
271 obj.put("data", null);
276 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
277 JSONObject vnfmObject = new JSONObject();
279 String jobId = "1234";
280 JSONObject resp = vnfMgrVnfm.getJob(vnfmObject, jobId);
281 assertEquals(resp.get("retCode"),-1);
286 public void testScaleVnfOut() {
287 new MockUp<ResultRequestUtil>() {
290 public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson, String authModel) {
291 JSONObject resultJson = new JSONObject();
292 resultJson.put("retCode", Constant.HTTP_CREATED);
293 JSONObject appInfo = new JSONObject();
294 appInfo.put("vnfinstanceid", "id");
295 appInfo.put("project_id", "project_id");
296 JSONObject data = new JSONObject();
297 data.put("app_info", appInfo);
298 resultJson.put("data", data);
302 String data = "{\"type\":\"SCALE_OUT\"}}";
303 JSONObject subJsonObject = JSONObject.fromObject(data);
304 JSONObject vnfmObjcet = new JSONObject();
305 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
306 JSONObject result = vnfMgrVnfm.scaleVnf(subJsonObject,vnfmObjcet,"test123","test123");
308 assertEquals(Constant.REST_SUCCESS, result.get("retCode"));
312 public void testScaleVnfIn() {
313 new MockUp<ResultRequestUtil>() {
316 public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson, String authModel) {
317 JSONObject resultJson = new JSONObject();
318 resultJson.put("retCode", Constant.HTTP_CREATED);
319 JSONObject appInfo = new JSONObject();
320 appInfo.put("vnfinstanceid", "id");
321 appInfo.put("project_id", "project_id");
322 JSONObject data = new JSONObject();
323 data.put("app_info", appInfo);
324 resultJson.put("data", data);
329 new MockUp<AdapterResourceManager>() {
332 public JSONObject readScaleInVmIdFromJson() {
333 JSONObject resultJson = new JSONObject();
334 JSONArray vm_list = new JSONArray();
335 resultJson.put("vm_list", vm_list);
339 String data = "{\"type\":\"SCALE_IN\"}}";
340 JSONObject subJsonObject = JSONObject.fromObject(data);
341 JSONObject vnfmObjcet = new JSONObject();
342 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
343 JSONObject result = vnfMgrVnfm.scaleVnf(subJsonObject,vnfmObjcet,"test123","test123");
345 assertEquals(Constant.REST_SUCCESS, result.get("retCode"));