Fix invalid versions in pom.xml
[vfc/nfvo/driver/vnfm/svnfm.git] / huawei / vnfmadapter / VnfmadapterService / service / src / test / java / org / onap / vfc / nfvo / vnfm / svnfm / 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.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.csm.vnf;
18
19 import static org.junit.Assert.*;
20
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.constant.Constant;
24 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.csm.vnf.VnfMgrVnfm;
25
26 import mockit.Mock;
27 import mockit.MockUp;
28 import net.sf.json.JSONArray;
29 import net.sf.json.JSONObject;
30
31 /**
32  * <br/>
33  * <p>
34  * </p>
35  *
36  * @author
37  * @version VFC 1.0 Aug 10, 2016
38  */
39 public class VnfMgrVnfmTest {
40
41     @Test
42     public void testCreateVnf() {
43         new MockUp<ResultRequestUtil>() {
44
45             @Mock
46             public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
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);
55                 return resultJson;
56             }
57         };
58         String data = "{\"vnfmInfo\":{\"url\":\"url\"}}";
59         JSONObject subJsonObject = JSONObject.fromObject(data);
60         JSONObject vnfmObjcet = new JSONObject();
61         VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
62         JSONObject result = vnfMgrVnfm.createVnf(subJsonObject, vnfmObjcet);
63
64         assertEquals(Constant.REST_SUCCESS, result.get("retCode"));
65     }
66
67     @Test
68     public void testCreateVnfByBadRequest() {
69         new MockUp<ResultRequestUtil>() {
70
71             @Mock
72             public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
73                 JSONObject resultJson = new JSONObject();
74                 resultJson.put("retCode", Constant.HTTP_BAD_REQUEST);
75                 return resultJson;
76             }
77         };
78         String data = "{\"vnfmInfo\":{\"url\":\"url\"}}";
79         JSONObject subJsonObject = JSONObject.fromObject(data);
80         VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
81         JSONObject vnfmObjcet = new JSONObject();
82         JSONObject result = vnfMgrVnfm.createVnf(subJsonObject, vnfmObjcet);
83
84         JSONObject resultJson = new JSONObject();
85         resultJson.put("retCode", Constant.REST_FAIL);
86         assertEquals(resultJson, result);
87     }
88
89     @Test
90     public void testCreateVnfByNotFound() {
91         new MockUp<ResultRequestUtil>() {
92
93             @Mock
94             public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
95                 JSONObject resultJson = new JSONObject();
96                 resultJson.put("retCode", Constant.HTTP_NOTFOUND);
97                 return resultJson;
98             }
99         };
100         String data = "{\"vnfmInfo\":{\"url\":\"url\"}}";
101         JSONObject subJsonObject = JSONObject.fromObject(data);
102         JSONObject vnfmObjcet = new JSONObject();
103         VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
104         JSONObject result = vnfMgrVnfm.createVnf(subJsonObject, vnfmObjcet);
105
106         JSONObject resultJson = new JSONObject();
107         resultJson.put("retCode", Constant.REST_FAIL);
108         assertEquals(resultJson, result);
109     }
110
111     @Test
112     public void testCreateVnfByJSONException() {
113         new MockUp<ResultRequestUtil>() {
114
115             @Mock
116             public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
117                 JSONObject resultJson = new JSONObject();
118                 return resultJson;
119             }
120         };
121         String data = "{\"vnfmInfo\":{\"url\":\"url\"}}";
122         JSONObject subJsonObject = JSONObject.fromObject(data);
123         JSONObject vnfmObjcet = new JSONObject();
124         VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
125         JSONObject result = vnfMgrVnfm.createVnf(subJsonObject, vnfmObjcet);
126
127         JSONObject resultJson = new JSONObject();
128         resultJson.put("retCode", Constant.REST_FAIL);
129         assertEquals(resultJson, result);
130     }
131
132     @Test
133     public void testRemoveVnf() {
134         new MockUp<ResultRequestUtil>() {
135
136             @Mock
137             public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
138                 JSONObject resultJson = new JSONObject();
139                 resultJson.put("retCode", Constant.HTTP_NOCONTENT);
140                 return resultJson;
141             }
142         };
143         VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
144         JSONObject vnfmObject = new JSONObject();
145         JSONObject vnfObject = new JSONObject();
146         vnfmObject.put("url", "url");
147         JSONObject result = vnfMgrVnfm.removeVnf(vnfmObject, "vnfId", vnfObject);
148
149         JSONObject resultJson = new JSONObject();
150         resultJson.put("retCode", Constant.REST_SUCCESS);
151         JSONObject retJson = new JSONObject();
152         retJson.put("jobId", "vnfId" + "_" + Constant.DELETE);
153         resultJson.put("data", retJson);
154         assertEquals(resultJson, result);
155     }
156
157     @Test
158     public void testRemoveVnfByCsmError() {
159         new MockUp<ResultRequestUtil>() {
160
161             @Mock
162             public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
163                 JSONObject resultJson = new JSONObject();
164                 resultJson.put("retCode", Constant.HTTP_INNERERROR);
165                 return resultJson;
166             }
167         };
168         VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
169         JSONObject vnfmObject = new JSONObject();
170         vnfmObject.put("url", "url");
171         JSONObject vnfObject = new JSONObject();
172         JSONObject result = vnfMgrVnfm.removeVnf(vnfmObject, "vnfId", vnfObject);
173
174         JSONObject resultJson = new JSONObject();
175         resultJson.put("retCode", Constant.REST_FAIL);
176         assertEquals(resultJson, result);
177     }
178     @Test
179     public void getJobTestNormal(){
180         new MockUp<ResultRequestUtil>(){
181             @Mock
182             public JSONObject call(JSONObject vnfmObject, String path, String methodName, String paramsJson) {
183                 JSONObject obj = new JSONObject();
184                 JSONObject dataobj = new JSONObject();
185                 dataobj.put("id", "2839");
186                 obj.put("retCode", 200);
187                 JSONArray basics = new JSONArray();
188                 basics.add("test123");
189                 JSONObject basicsData = new JSONObject();
190                 basicsData.put("basic", basics);
191                 obj.put("data", basicsData);
192                 return obj;
193             }
194
195         };
196         VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
197         JSONObject vnfmObject = new JSONObject();
198
199         String jobId = "1234";
200         JSONObject resp = vnfMgrVnfm.getJob(vnfmObject, jobId);
201         assertEquals(resp.get("retCode"),1);
202     }
203
204     @Test
205     public void getJobTestCreatedNormal(){
206         new MockUp<ResultRequestUtil>(){
207             @Mock
208             public JSONObject call(JSONObject vnfmObject, String path, String methodName, String paramsJson) {
209                 JSONObject obj = new JSONObject();
210                 JSONObject dataobj = new JSONObject();
211                 dataobj.put("id", "2839");
212                 obj.put("retCode", 201);
213                 JSONArray basics = new JSONArray();
214                 basics.add("test123");
215                 JSONObject basicsData = new JSONObject();
216                 basicsData.put("basic", basics);
217                 obj.put("data", basicsData);
218                 return obj;
219             }
220
221         };
222         VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
223         JSONObject vnfmObject = new JSONObject();
224
225         String jobId = "1234";
226         JSONObject resp = vnfMgrVnfm.getJob(vnfmObject, jobId);
227         assertEquals(resp.get("retCode"),1);
228     }
229
230     @Test
231     public void getJobTestNullData(){
232         new MockUp<ResultRequestUtil>(){
233             @Mock
234             public JSONObject call(JSONObject vnfmObject, String path, String methodName, String paramsJson) {
235                 JSONObject obj = new JSONObject();
236                 JSONObject dataobj = new JSONObject();
237                 dataobj.put("id", "2839");
238                 obj.put("retCode", 201);
239                 JSONArray basics = new JSONArray();
240                 basics.add("test123");
241                 JSONObject basicsData = new JSONObject();
242                 basicsData.put("basic", basics);
243                 obj.put("data", null);
244                 return obj;
245             }
246
247         };
248         VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
249         JSONObject vnfmObject = new JSONObject();
250
251         String jobId = "1234";
252         JSONObject resp = vnfMgrVnfm.getJob(vnfmObject, jobId);
253         assertEquals(resp.get("retCode"),-1);
254     }
255
256     @Test
257     public void getJobTestInternalError(){
258         new MockUp<ResultRequestUtil>(){
259             @Mock
260             public JSONObject call(JSONObject vnfmObject, String path, String methodName, String paramsJson) {
261                 JSONObject obj = new JSONObject();
262                 JSONObject dataobj = new JSONObject();
263                 dataobj.put("id", "2839");
264                 obj.put("retCode", 500);
265                 JSONArray basics = new JSONArray();
266                 basics.add("test123");
267                 JSONObject basicsData = new JSONObject();
268                 basicsData.put("basic", basics);
269                 obj.put("data", null);
270                 return obj;
271             }
272
273         };
274         VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
275         JSONObject vnfmObject = new JSONObject();
276
277         String jobId = "1234";
278         JSONObject resp = vnfMgrVnfm.getJob(vnfmObject, jobId);
279         assertEquals(resp.get("retCode"),-1);
280     }
281
282
283     @Test
284     public void testScaleVnf() {
285         new MockUp<ResultRequestUtil>() {
286
287             @Mock
288             public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
289                 JSONObject resultJson = new JSONObject();
290                 resultJson.put("retCode", Constant.HTTP_CREATED);
291                 JSONObject appInfo = new JSONObject();
292                 appInfo.put("vnfinstanceid", "id");
293                 appInfo.put("project_id", "project_id");
294                 JSONObject data = new JSONObject();
295                 data.put("app_info", appInfo);
296                 resultJson.put("data", data);
297                 return resultJson;
298             }
299         };
300         String data = "{\"vnfmInfo\":{\"url\":\"url\"}}";
301         JSONObject subJsonObject = JSONObject.fromObject(data);
302         JSONObject vnfmObjcet = new JSONObject();
303         VnfMgrVnfm vnfMgrVnfm = new VnfMgrVnfm();
304         JSONObject result = vnfMgrVnfm.scaleVnf(subJsonObject,vnfmObjcet,"test123","test123");
305
306         assertEquals(Constant.REST_SUCCESS, result.get("retCode"));
307     }
308 }