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