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.openo.nfvo.vnfmadapter.service.csm.vnf;
19 import static org.junit.Assert.*;
21 import org.junit.Test;
22 import org.openo.nfvo.vnfmadapter.common.ResultRequestUtil;
23 import org.openo.nfvo.vnfmadapter.service.constant.Constant;
27 import net.sf.json.JSONArray;
28 import net.sf.json.JSONObject;
36 * @version NFVO 0.5 Aug 10, 2016
38 public class VnfMgrVnfmTest {
41 public void testCreateVnf() {
42 new MockUp<ResultRequestUtil>() {
45 public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
46 JSONObject resultJson = new JSONObject();
47 resultJson.put("retCode", Constant.HTTP_CREATED);
48 JSONObject appInfo = new JSONObject();
49 appInfo.put("vnfinstanceid", "id");
50 appInfo.put("project_id", "project_id");
51 JSONObject data = new JSONObject();
52 data.put("app_info", appInfo);
53 resultJson.put("data", data);
57 String data = "{\"vnfmInfo\":{\"url\":\"url\"}}";
58 JSONObject subJsonObject = JSONObject.fromObject(data);
59 JSONObject vnfmObjcet = new JSONObject();
60 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
61 JSONObject result = vnfMgrVnfm.createVnf(subJsonObject, vnfmObjcet);
63 assertEquals(Constant.REST_SUCCESS, result.get("retCode"));
67 public void testCreateVnfByBadRequest() {
68 new MockUp<ResultRequestUtil>() {
71 public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
72 JSONObject resultJson = new JSONObject();
73 resultJson.put("retCode", Constant.HTTP_BAD_REQUEST);
77 String data = "{\"vnfmInfo\":{\"url\":\"url\"}}";
78 JSONObject subJsonObject = JSONObject.fromObject(data);
79 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
80 JSONObject vnfmObjcet = new JSONObject();
81 JSONObject result = vnfMgrVnfm.createVnf(subJsonObject, vnfmObjcet);
83 JSONObject resultJson = new JSONObject();
84 resultJson.put("retCode", Constant.REST_FAIL);
85 assertEquals(resultJson, result);
89 public void testCreateVnfByNotFound() {
90 new MockUp<ResultRequestUtil>() {
93 public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
94 JSONObject resultJson = new JSONObject();
95 resultJson.put("retCode", Constant.HTTP_NOTFOUND);
99 String data = "{\"vnfmInfo\":{\"url\":\"url\"}}";
100 JSONObject subJsonObject = JSONObject.fromObject(data);
101 JSONObject vnfmObjcet = new JSONObject();
102 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
103 JSONObject result = vnfMgrVnfm.createVnf(subJsonObject, vnfmObjcet);
105 JSONObject resultJson = new JSONObject();
106 resultJson.put("retCode", Constant.REST_FAIL);
107 assertEquals(resultJson, result);
111 public void testCreateVnfByJSONException() {
112 new MockUp<ResultRequestUtil>() {
115 public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
116 JSONObject resultJson = new JSONObject();
120 String data = "{\"vnfmInfo\":{\"url\":\"url\"}}";
121 JSONObject subJsonObject = JSONObject.fromObject(data);
122 JSONObject vnfmObjcet = new JSONObject();
123 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
124 JSONObject result = vnfMgrVnfm.createVnf(subJsonObject, vnfmObjcet);
126 JSONObject resultJson = new JSONObject();
127 resultJson.put("retCode", Constant.REST_FAIL);
128 assertEquals(resultJson, result);
132 public void testRemoveVnf() {
133 new MockUp<ResultRequestUtil>() {
136 public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
137 JSONObject resultJson = new JSONObject();
138 resultJson.put("retCode", Constant.HTTP_NOCONTENT);
142 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
143 JSONObject vnfmObject = new JSONObject();
144 JSONObject vnfObject = new JSONObject();
145 vnfmObject.put("url", "url");
146 JSONObject result = vnfMgrVnfm.removeVnf(vnfmObject, "vnfId", vnfObject);
148 JSONObject resultJson = new JSONObject();
149 resultJson.put("retCode", Constant.REST_SUCCESS);
150 JSONObject retJson = new JSONObject();
151 retJson.put("jobId", "vnfId" + "_" + Constant.DELETE);
152 resultJson.put("data", retJson);
153 assertEquals(resultJson, result);
157 public void testRemoveVnfByCsmError() {
158 new MockUp<ResultRequestUtil>() {
161 public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
162 JSONObject resultJson = new JSONObject();
163 resultJson.put("retCode", Constant.HTTP_INNERERROR);
167 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
168 JSONObject vnfmObject = new JSONObject();
169 vnfmObject.put("url", "url");
170 JSONObject vnfObject = new JSONObject();
171 JSONObject result = vnfMgrVnfm.removeVnf(vnfmObject, "vnfId", vnfObject);
173 JSONObject resultJson = new JSONObject();
174 resultJson.put("retCode", Constant.REST_FAIL);
175 assertEquals(resultJson, result);
178 public void getJobTestNormal(){
179 new MockUp<ResultRequestUtil>(){
181 public JSONObject call(JSONObject vnfmObject, String path, String methodName, String paramsJson) {
182 JSONObject obj = new JSONObject();
183 JSONObject dataobj = new JSONObject();
184 dataobj.put("id", "2839");
185 obj.put("retCode", 200);
186 JSONArray basics = new JSONArray();
187 basics.add("test123");
188 JSONObject basicsData = new JSONObject();
189 basicsData.put("basic", basics);
190 obj.put("data", basicsData);
195 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
196 JSONObject vnfmObject = new JSONObject();
198 String jobId = "1234";
199 JSONObject resp = vnfMgrVnfm.getJob(vnfmObject, jobId);
200 assertEquals(resp.get("retCode"),1);
204 public void getJobTestCreatedNormal(){
205 new MockUp<ResultRequestUtil>(){
207 public JSONObject call(JSONObject vnfmObject, String path, String methodName, String paramsJson) {
208 JSONObject obj = new JSONObject();
209 JSONObject dataobj = new JSONObject();
210 dataobj.put("id", "2839");
211 obj.put("retCode", 201);
212 JSONArray basics = new JSONArray();
213 basics.add("test123");
214 JSONObject basicsData = new JSONObject();
215 basicsData.put("basic", basics);
216 obj.put("data", basicsData);
221 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
222 JSONObject vnfmObject = new JSONObject();
224 String jobId = "1234";
225 JSONObject resp = vnfMgrVnfm.getJob(vnfmObject, jobId);
226 assertEquals(resp.get("retCode"),1);
230 public void getJobTestNullData(){
231 new MockUp<ResultRequestUtil>(){
233 public JSONObject call(JSONObject vnfmObject, String path, String methodName, String paramsJson) {
234 JSONObject obj = new JSONObject();
235 JSONObject dataobj = new JSONObject();
236 dataobj.put("id", "2839");
237 obj.put("retCode", 201);
238 JSONArray basics = new JSONArray();
239 basics.add("test123");
240 JSONObject basicsData = new JSONObject();
241 basicsData.put("basic", basics);
242 obj.put("data", null);
247 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
248 JSONObject vnfmObject = new JSONObject();
250 String jobId = "1234";
251 JSONObject resp = vnfMgrVnfm.getJob(vnfmObject, jobId);
252 assertEquals(resp.get("retCode"),-1);
256 public void getJobTestInternalError(){
257 new MockUp<ResultRequestUtil>(){
259 public JSONObject call(JSONObject vnfmObject, String path, String methodName, String paramsJson) {
260 JSONObject obj = new JSONObject();
261 JSONObject dataobj = new JSONObject();
262 dataobj.put("id", "2839");
263 obj.put("retCode", 500);
264 JSONArray basics = new JSONArray();
265 basics.add("test123");
266 JSONObject basicsData = new JSONObject();
267 basicsData.put("basic", basics);
268 obj.put("data", null);
273 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
274 JSONObject vnfmObject = new JSONObject();
276 String jobId = "1234";
277 JSONObject resp = vnfMgrVnfm.getJob(vnfmObject, jobId);
278 assertEquals(resp.get("retCode"),-1);
283 public void testScaleVnf() {
284 new MockUp<ResultRequestUtil>() {
287 public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
288 JSONObject resultJson = new JSONObject();
289 resultJson.put("retCode", Constant.HTTP_CREATED);
290 JSONObject appInfo = new JSONObject();
291 appInfo.put("vnfinstanceid", "id");
292 appInfo.put("project_id", "project_id");
293 JSONObject data = new JSONObject();
294 data.put("app_info", appInfo);
295 resultJson.put("data", data);
299 String data = "{\"vnfmInfo\":{\"url\":\"url\"}}";
300 JSONObject subJsonObject = JSONObject.fromObject(data);
301 JSONObject vnfmObjcet = new JSONObject();
302 VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
303 JSONObject result = vnfMgrVnfm.scaleVnf(subJsonObject,vnfmObjcet,"test123","test123");
305 assertEquals(Constant.REST_SUCCESS, result.get("retCode"));