Change: add OPEN-O seed code for VF-C
[vfc/nfvo/driver/vnfm/svnfm.git] / huawei / vnfmadapter / VnfmadapterService / service / src / test / java / org / openo / nfvo / vnfmadapter / service / csm / vnf / VnfMgrVnfmTest.java
1 /*
2  * Copyright 2016 Huawei Technologies Co., Ltd.
3  *
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
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17 package org.openo.nfvo.vnfmadapter.service.csm.vnf;
18
19 import static org.junit.Assert.*;
20
21 import org.junit.Test;
22 import org.openo.nfvo.vnfmadapter.common.ResultRequestUtil;
23 import org.openo.nfvo.vnfmadapter.service.constant.Constant;
24
25 import mockit.Mock;
26 import mockit.MockUp;
27 import net.sf.json.JSONArray;
28 import net.sf.json.JSONObject;
29
30 /**
31  * <br/>
32  * <p>
33  * </p>
34  *
35  * @author
36  * @version NFVO 0.5 Aug 10, 2016
37  */
38 public class VnfMgrVnfmTest {
39
40     @Test
41     public void testCreateVnf() {
42         new MockUp<ResultRequestUtil>() {
43
44             @Mock
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);
54                 return resultJson;
55             }
56         };
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);
62
63         assertEquals(Constant.REST_SUCCESS, result.get("retCode"));
64     }
65
66     @Test
67     public void testCreateVnfByBadRequest() {
68         new MockUp<ResultRequestUtil>() {
69
70             @Mock
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);
74                 return resultJson;
75             }
76         };
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);
82
83         JSONObject resultJson = new JSONObject();
84         resultJson.put("retCode", Constant.REST_FAIL);
85         assertEquals(resultJson, result);
86     }
87
88     @Test
89     public void testCreateVnfByNotFound() {
90         new MockUp<ResultRequestUtil>() {
91
92             @Mock
93             public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
94                 JSONObject resultJson = new JSONObject();
95                 resultJson.put("retCode", Constant.HTTP_NOTFOUND);
96                 return resultJson;
97             }
98         };
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);
104
105         JSONObject resultJson = new JSONObject();
106         resultJson.put("retCode", Constant.REST_FAIL);
107         assertEquals(resultJson, result);
108     }
109
110     @Test
111     public void testCreateVnfByJSONException() {
112         new MockUp<ResultRequestUtil>() {
113
114             @Mock
115             public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
116                 JSONObject resultJson = new JSONObject();
117                 return resultJson;
118             }
119         };
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);
125
126         JSONObject resultJson = new JSONObject();
127         resultJson.put("retCode", Constant.REST_FAIL);
128         assertEquals(resultJson, result);
129     }
130
131     @Test
132     public void testRemoveVnf() {
133         new MockUp<ResultRequestUtil>() {
134
135             @Mock
136             public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
137                 JSONObject resultJson = new JSONObject();
138                 resultJson.put("retCode", Constant.HTTP_NOCONTENT);
139                 return resultJson;
140             }
141         };
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);
147
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);
154     }
155
156     @Test
157     public void testRemoveVnfByCsmError() {
158         new MockUp<ResultRequestUtil>() {
159
160             @Mock
161             public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
162                 JSONObject resultJson = new JSONObject();
163                 resultJson.put("retCode", Constant.HTTP_INNERERROR);
164                 return resultJson;
165             }
166         };
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);
172
173         JSONObject resultJson = new JSONObject();
174         resultJson.put("retCode", Constant.REST_FAIL);
175         assertEquals(resultJson, result);
176     }
177     @Test
178     public void getJobTestNormal(){
179         new MockUp<ResultRequestUtil>(){
180             @Mock
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);
191                 return obj;
192             }
193
194         };
195         VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
196         JSONObject vnfmObject = new JSONObject();
197
198         String jobId = "1234";
199         JSONObject resp = vnfMgrVnfm.getJob(vnfmObject, jobId);
200         assertEquals(resp.get("retCode"),1);
201     }
202
203     @Test
204     public void getJobTestCreatedNormal(){
205         new MockUp<ResultRequestUtil>(){
206             @Mock
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);
217                 return obj;
218             }
219
220         };
221         VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
222         JSONObject vnfmObject = new JSONObject();
223
224         String jobId = "1234";
225         JSONObject resp = vnfMgrVnfm.getJob(vnfmObject, jobId);
226         assertEquals(resp.get("retCode"),1);
227     }
228
229     @Test
230     public void getJobTestNullData(){
231         new MockUp<ResultRequestUtil>(){
232             @Mock
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);
243                 return obj;
244             }
245
246         };
247         VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
248         JSONObject vnfmObject = new JSONObject();
249
250         String jobId = "1234";
251         JSONObject resp = vnfMgrVnfm.getJob(vnfmObject, jobId);
252         assertEquals(resp.get("retCode"),-1);
253     }
254
255     @Test
256     public void getJobTestInternalError(){
257         new MockUp<ResultRequestUtil>(){
258             @Mock
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);
269                 return obj;
270             }
271
272         };
273         VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
274         JSONObject vnfmObject = new JSONObject();
275
276         String jobId = "1234";
277         JSONObject resp = vnfMgrVnfm.getJob(vnfmObject, jobId);
278         assertEquals(resp.get("retCode"),-1);
279     }
280
281
282     @Test
283     public void testScaleVnf() {
284         new MockUp<ResultRequestUtil>() {
285
286             @Mock
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);
296                 return resultJson;
297             }
298         };
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");
304
305         assertEquals(Constant.REST_SUCCESS, result.get("retCode"));
306     }
307 }