Code coverage should be at least 55%
[vfc/nfvo/driver/vnfm/svnfm.git] / huawei / vnfmadapter / VnfmadapterService / service / src / test / java / org / onap / vfc / nfvo / vnfm / svnfm / vnfmadapter / service / process / VnfMgrTest.java
1 /*
2  * Copyright 2016-2017 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.process;
18
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertNotNull;
21
22 import java.io.IOException;
23 import java.util.Map;
24
25 import org.junit.Before;
26 import org.junit.Test;
27 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.ResultRequestUtil;
28 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.VnfmUtil;
29 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.restclient.ServiceException;
30 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.adapter.impl.AdapterResourceManager;
31 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.constant.Constant;
32 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.csm.vnf.VnfMgrVnfm;
33 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.dao.impl.VnfmDaoImpl;
34 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.dao.inf.VnfmDao;
35 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.entity.Vnfm;
36
37 import mockit.Mock;
38 import mockit.MockUp;
39 import net.sf.json.JSONArray;
40 import net.sf.json.JSONException;
41 import net.sf.json.JSONObject;
42
43 public class VnfMgrTest {
44
45     private VnfmDao vnfmDao;
46
47     private VnfMgr vnfMgr;
48
49     @Before
50     public void setUp() {
51         vnfMgr = new VnfMgr();
52         vnfmDao = new VnfmDaoImpl();
53         vnfMgr.setVnfmDao(vnfmDao);
54     }
55
56     @Test
57     public void testAddVnfByInvalidateDataVnfInfoNull() {
58         String data = "{}";
59         JSONObject subJsonObject = JSONObject.fromObject(data);
60         VnfMgr vnfMgr = new VnfMgr();
61         JSONObject result = vnfMgr.addVnf(subJsonObject, "vnmfId");
62
63         JSONObject restJson = new JSONObject();
64         restJson.put("retCode", Constant.REST_FAIL);
65         assertEquals(restJson, result);
66     }
67
68     @Test
69     public void testAddVnfByInvalidateDataVnfInfoEmpty() {
70         String data = "{}";
71         JSONObject subJsonObject = JSONObject.fromObject(data);
72         VnfMgr vnfMgr = new VnfMgr();
73         JSONObject result = vnfMgr.addVnf(subJsonObject, "vnmfId");
74
75         JSONObject restJson = new JSONObject();
76         restJson.put("retCode", Constant.REST_FAIL);
77         assertEquals(restJson, result);
78     }
79
80     @Test
81     public void testAddVnfByVnfmObjcetIsNullObject() {
82 //        new MockUp<VnfmUtil>() {
83 //
84 //            @Mock
85 //            public JSONObject getVnfmById(String vnfmId) {
86 //                return new JSONObject(true);
87 //            }
88 //        };
89         String data =
90                 "{\"soId\": \"soId\",\"vapp_info\":{\"vnfm_id\":\"vnfm_id\",\"soId\": \"soId\",\"do_id\": \"do_id\"}}";
91         JSONObject subJsonObject = JSONObject.fromObject(data);
92         VnfMgr vnfMgr = new VnfMgr();
93         JSONObject result = vnfMgr.addVnf(subJsonObject, "vnmfId");
94
95         JSONObject restJson = new JSONObject();
96         restJson.put("retCode", Constant.REST_FAIL);
97         assertEquals(restJson, result);
98     }
99
100     @Test
101     public void testAddVnfByVnfmObjcetTypeEmpty() {
102 //        new MockUp<VnfmUtil>() {
103 //
104 //            @Mock
105 //            public JSONObject getVnfmById(String vnfmId) {
106 //                JSONObject obj = new JSONObject();
107 //                obj.put("type", "");
108 //                return obj;
109 //            }
110 //        };
111         String data =
112                 "{\"soId\": \"soId\",\"vapp_info\":{\"vnfm_id\":\"vnfm_id\",\"soId\": \"soId\",\"do_id\": \"do_id\"}}";
113         JSONObject subJsonObject = JSONObject.fromObject(data);
114         VnfMgr vnfMgr = new VnfMgr();
115         JSONObject result = vnfMgr.addVnf(subJsonObject, "vnmfId");
116
117         JSONObject restJson = new JSONObject();
118         restJson.put("retCode", Constant.REST_FAIL);
119         assertEquals(restJson, result);
120     }
121
122     @Test
123     public void testAddVnf() {
124 //        new MockUp<VnfmUtil>() {
125 //
126 //            @Mock
127 //            public JSONObject getVnfmById(String vnfmId) {
128 //                JSONObject obj = new JSONObject();
129 //                obj.put("type", "hw");
130 //                obj.put("vnfmId", "123");
131 //                obj.put("userName", "admin");
132 //                obj.put("password", "admin");
133 //                obj.put("url", "https://10.2.31.2:30001");
134 //                return obj;
135 //            }
136 //        };
137
138 //        new MockUp<VnfMgrVnfm>() {
139 //
140 //            @Mock
141 //            public JSONObject createVnf(JSONObject subJsonObject, JSONObject vnfmObjcet) {
142 //                JSONObject restJson = new JSONObject();
143 //                restJson.put("retCode", Constant.REST_SUCCESS);
144 //                return restJson;
145 //            }
146 //        };
147 //
148 //        new MockUp<AdapterResourceManager>() {
149 //
150 //            @Mock
151 //            public JSONObject uploadVNFPackage(JSONObject subJsonObject, Map<String, String> conMap) {
152 //                JSONObject restJson = new JSONObject();
153 //                restJson.put("retCode", Constant.REST_SUCCESS);
154 //                restJson.put("vnfdId", "123");
155 //                return restJson;
156 //            }
157 //        };
158
159         String data =
160                 "{\"vnfPackageId\": \"vnfPackageId\",\"vnfId\": \"vnfId\",\"additionalParam\":{\"parameters\":{\"input\":\"input\"}}}";
161         JSONObject subJsonObject = JSONObject.fromObject(data);
162         VnfMgr vnfMgr = new VnfMgr();
163         JSONObject result = vnfMgr.addVnf(subJsonObject, "vnfmId");
164
165         JSONObject restJson = new JSONObject();
166         restJson.put("retCode", Constant.REST_FAIL);
167         assertEquals(restJson, result);
168     }
169
170     @Test
171     public void testDeleteVnf() {
172 //        new MockUp<VnfmUtil>() {
173 //
174 //            @Mock
175 //            public JSONObject getVnfmById(String vnfmId) {
176 //                JSONObject obj = new JSONObject();
177 //                obj.put("type", "hw");
178 //                obj.put("vnfmId", "123");
179 //                obj.put("userName", "admin");
180 //                obj.put("password", "admin");
181 //                obj.put("url", "https://10.2.31.2:30001");
182 //                return obj;
183 //            }
184 //        };
185 //        new MockUp<VnfMgrVnfm>() {
186 //
187 //            @Mock
188 //            public JSONObject removeVnf(JSONObject vnfmObject, String vnfId, JSONObject vnfObject) {
189 //                JSONObject obj = new JSONObject();
190 //                obj.put("retCode", Constant.REST_SUCCESS);
191 //                return obj;
192 //            }
193 //        };
194         VnfMgr vnfMgr = new VnfMgr();
195         JSONObject vnfObject = new JSONObject();
196         JSONObject result = vnfMgr.deleteVnf("vnfId", "vnfmId", vnfObject);
197
198         JSONObject restJson = new JSONObject();
199         restJson.put("retCode", Constant.REST_SUCCESS);
200         assertEquals(restJson, result);
201     }
202
203     @Test
204     public void testDeleteVnfByVnfmObjcetIsNullObject() {
205 //        new MockUp<VnfmUtil>() {
206 //
207 //            @Mock
208 //            public JSONObject getVnfmById(String vnfmId) {
209 //                JSONObject obj = new JSONObject(true);
210 //                return obj;
211 //            }
212 //        };
213         VnfMgr vnfMgr = new VnfMgr();
214         JSONObject vnfObject = new JSONObject();
215         JSONObject result = vnfMgr.deleteVnf("vnfId", "vnfmId", vnfObject);
216
217         JSONObject restJson = new JSONObject();
218         restJson.put("retCode", Constant.REST_FAIL);
219         assertEquals(restJson, result);
220
221     }
222
223     @Test
224     public void testDeleteVnfByException() {
225 //        new MockUp<VnfmUtil>() {
226 //
227 //            @Mock
228 //            public JSONObject getVnfmById(String vnfmId) {
229 //                throw new JSONException();
230 //            }
231 //        };
232         VnfMgr vnfMgr = new VnfMgr();
233         JSONObject vnfObject = new JSONObject();
234         JSONObject result = vnfMgr.deleteVnf("vnfId", "vnfmId", vnfObject);
235
236         JSONObject restJson = new JSONObject();
237         restJson.put("retCode", Constant.REST_FAIL);
238         assertEquals(restJson, result);
239
240     }
241
242     @Test
243     public void testGetVnf() throws IOException {
244 //        new MockUp<VnfmUtil>() {
245 //
246 //            @Mock
247 //            public JSONObject getVnfmById(String vnfmId) {
248 //                JSONObject obj = new JSONObject();
249 //                obj.put("type", "hw");
250 //                obj.put("vnfmId", "123");
251 //                obj.put("userName", "admin");
252 //                obj.put("password", "admin");
253 //                obj.put("url", "https://127.0.0.1:30001");
254 //                return obj;
255 //            }
256 //        };
257 //
258 //        new MockUp<VnfmDaoImpl>() {
259 //
260 //            @Mock
261 //            public Vnfm getVnfmById(String vnfmId) {
262 //                Vnfm obj = new Vnfm();
263 //                obj.setId("123");
264 //                obj.setVersion("v2.0");
265 //                obj.setVnfdId("234");
266 //                obj.setVnfPackageId("123");
267 //                return obj;
268 //            }
269 //        };
270 //
271 //        new MockUp<ResultRequestUtil>() {
272 //
273 //            @Mock
274 //            public JSONObject call(JSONObject vnfmObjcet, String path, String methodName, String paramsJson) {
275 //                JSONObject resultJson = new JSONObject();
276 //                resultJson.put("retCode", Constant.HTTP_OK);
277 //                JSONObject data = new JSONObject();
278 //
279 //                JSONArray result = new JSONArray();
280 //                JSONObject basicInfo = new JSONObject();
281 //                basicInfo.put("id", "NE=345");
282 //                basicInfo.put("vapp_name", "sc");
283 //                basicInfo.put("status", "active");
284 //                result.add(basicInfo);
285 //                data.put("basic", result);
286 //                resultJson.put("data", data.toString());
287 //                return resultJson;
288 //            }
289 //        };
290 //
291         JSONObject result = vnfMgr.getVnf("vnfId", "vnfmId");
292
293         JSONObject restJson = new JSONObject();
294         restJson.put("retCode", Constant.REST_SUCCESS);
295         result.remove("vnfInfo");
296         assertNotNull(result);
297     }
298
299     @Test
300     public void testGetVnfFail() throws IOException {
301 //        new MockUp<VnfmUtil>() {
302 //
303 //            @Mock
304 //            public JSONObject getVnfmById(String vnfmId) {
305 //                JSONObject obj = new JSONObject(true);
306 //                return obj;
307 //            }
308 //        };
309
310         JSONObject result = vnfMgr.getVnf("vnfId", "vnfmId");
311         JSONObject restJson = new JSONObject();
312         restJson.put(Constant.RETCODE, Constant.REST_FAIL);
313         assertEquals(restJson, result);
314     }
315
316     @Test
317     public void testGetVnfFail1() throws IOException {
318 //        new MockUp<VnfmUtil>() {
319 //
320 //            @Mock
321 //            public JSONObject getVnfmById(String vnfmId) {
322 //                throw new JSONException();
323 //            }
324 //        };
325
326         JSONObject result = vnfMgr.getVnf("vnfId", "vnfmId");
327         JSONObject restJson = new JSONObject();
328         restJson.put(Constant.RETCODE, Constant.REST_FAIL);
329         assertEquals(restJson, result);
330     }
331
332     @Test
333     public void testSaveVnfInfo() {
334 //        new MockUp<VnfmDaoImpl>() {
335 //
336 //            @Mock
337 //            public int insertVnfm(Vnfm vnfm) throws ServiceException {
338 //                return 1;
339 //            }
340 //        };
341
342         VnfMgr vnfMgr = new VnfMgr();
343         VnfmDao dao = new VnfmDaoImpl();
344         vnfMgr.setVnfmDao(dao);
345         JSONObject vnfObject = new JSONObject();
346         vnfObject.put("retCode", Constant.REST_SUCCESS);
347         vnfObject.put("vnfInstanceId", "vnfInstanceId");
348         vnfObject.put("vnfPackageId", "vnfPackageId");
349         JSONObject resObject = new JSONObject();
350         resObject.put("vnfdVersion", "vnfdVersion");
351         resObject.put("vnfdId", "vnfdId");
352         JSONObject data = new JSONObject();
353         data.put("data", resObject);
354         vnfMgr.saveVnfInfo(vnfObject, data);
355     }
356
357     @Test
358     public void testSaveVnfInfoFail() {
359 //        new MockUp<VnfmDaoImpl>() {
360 //
361 //            @Mock
362 //            public int insertVnfm(Vnfm vnfm) throws ServiceException {
363 //                return 1;
364 //            }
365 //        };
366
367         VnfMgr vnfMgr = new VnfMgr();
368         VnfmDao dao = new VnfmDaoImpl();
369         vnfMgr.setVnfmDao(dao);
370         JSONObject vnfObject = new JSONObject();
371         vnfObject.put("retCode", Constant.REST_FAIL);
372         vnfObject.put("vnfInstanceId", "vnfInstanceId");
373         vnfObject.put("vnfPackageId", "vnfPackageId");
374         JSONObject resObject = new JSONObject();
375         resObject.put("vnfdVersion", "vnfdVersion");
376         resObject.put("vnfdId", "vnfdId");
377         vnfMgr.saveVnfInfo(vnfObject, resObject);
378     }
379
380     @Test
381     public void testSaveVnfInfoServiceException() {
382 //        new MockUp<VnfmDaoImpl>() {
383 //
384 //            @Mock
385 //            public int insertVnfm(Vnfm vnfm) throws ServiceException {
386 //                throw new ServiceException();
387 //            }
388 //        };
389
390         VnfMgr vnfMgr = new VnfMgr();
391         VnfmDao dao = new VnfmDaoImpl();
392         vnfMgr.setVnfmDao(dao);
393         JSONObject vnfObject = new JSONObject();
394         vnfObject.put("retCode", Constant.REST_SUCCESS);
395         vnfObject.put("vnfInstanceId", "vnfInstanceId");
396         vnfObject.put("vnfPackageId", "vnfPackageId");
397         JSONObject resObject = new JSONObject();
398         resObject.put("vnfdVersion", "vnfdVersion");
399         resObject.put("vnfdId", "vnfdId");
400         JSONObject data = new JSONObject();
401         data.put("data", resObject);
402         vnfMgr.saveVnfInfo(vnfObject, data);
403     }
404
405     @Test
406     public void testGetJob() {
407 //        new MockUp<VnfmUtil>() {
408 //
409 //            @Mock
410 //            public JSONObject getVnfmById(String vnfmId) {
411 //                JSONObject obj = new JSONObject();
412 //                obj.put("test", "success");
413 //                return obj;
414 //            }
415 //        };
416 //
417 //        new MockUp<VnfMgrVnfm>() {
418 //
419 //            @Mock
420 //            public JSONObject getJob(JSONObject vnfmObject, String jobId) {
421 //                JSONObject res = new JSONObject();
422 //                res.put(Constant.RETCODE, Constant.REST_SUCCESS);
423 //                return res;
424 //            }
425 //        };
426         VnfMgr vnfMgr = new VnfMgr();
427         JSONObject result = vnfMgr.getJob("", "");
428
429         JSONObject restJson = new JSONObject();
430         restJson.put(Constant.RETCODE, Constant.REST_SUCCESS);
431         assertEquals(restJson, result);
432     }
433
434     @Test
435     public void testGetJobFail() {
436 //        new MockUp<VnfmUtil>() {
437 //
438 //            @Mock
439 //            public JSONObject getVnfmById(String vnfmId) {
440 //                return new JSONObject();
441 //            }
442 //        };
443         VnfMgr vnfMgr = new VnfMgr();
444         JSONObject result = vnfMgr.getJob("", "");
445
446         JSONObject restJson = new JSONObject();
447         restJson.put(Constant.RETCODE, Constant.REST_FAIL);
448         assertEquals(restJson, result);
449     }
450
451     @Test
452     public void testGetJobFail1() {
453 //        new MockUp<VnfmUtil>() {
454 //
455 //            @Mock
456 //            public JSONObject getVnfmById(String vnfmId) {
457 //                return new JSONObject(true);
458 //            }
459 //        };
460         VnfMgr vnfMgr = new VnfMgr();
461         JSONObject result = vnfMgr.getJob("", "");
462
463         JSONObject restJson = new JSONObject();
464         restJson.put(Constant.RETCODE, Constant.REST_FAIL);
465         assertEquals(restJson, result);
466     }
467
468     @Test
469     public void testScaleVnf() {
470 //        new MockUp<VnfmUtil>() {
471 //
472 //            @Mock
473 //            public JSONObject getVnfmById(String vnfmId) {
474 //                JSONObject obj = new JSONObject();
475 //                obj.put("type", "hw");
476 //                obj.put("vnfmId", "123");
477 //                obj.put("userName", "admin");
478 //                obj.put("password", "admin");
479 //                obj.put("url", "https://10.2.31.2:30001");
480 //                return obj;
481 //            }
482 //        };
483
484 //        new MockUp<VnfMgrVnfm>() {
485 //
486 //            @Mock
487 //            public JSONObject scaleVnf(JSONObject vnfObject, JSONObject vnfmObject, String vnfmId,
488 //                    String vnfInstanceId) {
489 //                JSONObject restJson = new JSONObject();
490 //                restJson.put("retCode", Constant.REST_SUCCESS);
491 //                return restJson;
492 //            }
493 //        };
494
495         String data =
496                 "{\"vnfPackageId\": \"vnfPackageId\",\"vnfId\": \"vnfId\",\"additionalParam\":{\"parameters\":{\"input\":\"input\"}}}";
497         JSONObject subJsonObject = JSONObject.fromObject(data);
498         VnfMgr vnfMgr = new VnfMgr();
499         JSONObject result = vnfMgr.scaleVNF(subJsonObject, "testId", "testId");
500
501         JSONObject restJson = new JSONObject();
502         restJson.put("retCode", Constant.REST_SUCCESS);
503         assertEquals(restJson, result);
504     }
505 }