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 / adapter / impl / AdapterResourceManagerTest.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.adapter.impl;
18
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertTrue;
21
22 import java.io.IOException;
23 import java.util.HashMap;
24 import java.util.Map;
25
26 import org.junit.Before;
27 import org.junit.Test;
28 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.DownloadCsarManager;
29 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.servicetoken.VNFRestfulUtil;
30 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.adapter.impl.AdapterResourceManager;
31 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.testutils.JsonUtil;
32 import org.openo.baseservice.roa.util.restclient.RestfulResponse;
33
34 import mockit.Mock;
35 import mockit.MockUp;
36 import net.sf.json.JSONException;
37 import net.sf.json.JSONObject;
38
39 public class AdapterResourceManagerTest {
40
41     AdapterResourceManager manager = null;
42
43     @Before
44     public void setUp() {
45         manager = new AdapterResourceManager();
46     }
47
48     @Test(expected = JSONException.class)
49     public void uploadVNFPackageTestJsonException() {
50         JSONObject vnfpkg = new JSONObject();
51         Map<String, String> paramsMap = new HashMap<>();
52         JSONObject res = manager.uploadVNFPackage(vnfpkg, paramsMap);
53         assertTrue(res != null);
54
55     }
56
57     @Test(expected = JSONException.class)
58     public void uploadVNFPackageTestJsonException2() {
59         JSONObject vnfpkg = new JSONObject();
60         Map<String, String> paramsMap = new HashMap<>();
61         JSONObject res = manager.uploadVNFPackage(null, paramsMap);
62         assertTrue(res != null);
63
64     }
65
66     @Test
67     public void uploadVNFPackageTestJsonException3() {
68         JSONObject vnfpkg = new JSONObject();
69         vnfpkg.put("name", "test");
70         Map<String, String> paramsMap = new HashMap<>();
71         JSONObject res = manager.uploadVNFPackage(vnfpkg, paramsMap);
72         assertTrue(res.get("reason").equals("csarid and vnfmid are null."));
73
74     }
75
76     @Test
77     public void uploadVNFPackageTestEmptyParam() {
78         JSONObject vnfpkg = new JSONObject();
79         vnfpkg.put("name", "test");
80         Map<String, String> paramsMap = new HashMap<>();
81         JSONObject res = manager.uploadVNFPackage(vnfpkg, paramsMap);
82         assertTrue(res.get("reason").equals("csarid and vnfmid are null."));
83
84     }
85
86     @Test
87     public void uploadVNFPackageTestNullParam() {
88         JSONObject vnfpkg = new JSONObject();
89         vnfpkg.put("name", "test");
90         Map<String, String> paramsMap = new HashMap<>();
91         JSONObject res = manager.uploadVNFPackage(vnfpkg, null);
92         assertTrue(res.get("reason").equals("csarid and vnfmid are null."));
93
94     }
95
96     @Test
97     public void uploadVNFPackageTestInvalidCsrid() {
98         JSONObject vnfpkg = new JSONObject();
99         vnfpkg.put("name", "test");
100         Map<String, String> paramsMap = new HashMap<>();
101         paramsMap.put("csarid", "");
102         JSONObject res = manager.uploadVNFPackage(vnfpkg, paramsMap);
103         assertTrue(res.get("reason").equals("csarid is null."));
104
105     }
106
107     @Test
108     public void uploadVNFPackageTestInvalidCsrid2() {
109         JSONObject vnfpkg = new JSONObject();
110         vnfpkg.put("name", "test");
111         Map<String, String> paramsMap = new HashMap<>();
112         paramsMap.put("csarid", null);
113         JSONObject res = manager.uploadVNFPackage(vnfpkg, paramsMap);
114         assertTrue(res.get("reason").equals("csarid is null."));
115
116     }
117
118     @Test
119     public void uploadVNFPackageTestInvalidVnfmid() {
120         JSONObject vnfpkg = new JSONObject();
121         vnfpkg.put("name", "test");
122         Map<String, String> paramsMap = new HashMap<>();
123         paramsMap.put("csarid", "csarid123");
124         paramsMap.put("vnfmid", null);
125         JSONObject res = manager.uploadVNFPackage(vnfpkg, paramsMap);
126         assertTrue(res.get("reason").equals("vnfmid is null."));
127
128     }
129
130     @Test
131     public void uploadVNFPackageTestInvalidVnfmid2() {
132         JSONObject vnfpkg = new JSONObject();
133         vnfpkg.put("name", "test");
134         Map<String, String> paramsMap = new HashMap<>();
135         paramsMap.put("csarid", "csarid123");
136         paramsMap.put("vnfmid", "");
137         JSONObject res = manager.uploadVNFPackage(vnfpkg, paramsMap);
138         assertTrue(res.get("reason").equals("vnfmid is null."));
139
140     }
141
142     @Test
143     public void uploadVNFPackageTestNullResp() {
144         JSONObject vnfpkg = new JSONObject();
145         vnfpkg.put("name", "test");
146         Map<String, String> paramsMap = new HashMap<>();
147         paramsMap.put("csarid", "csarid123");
148         paramsMap.put("vnfmid", "vnfmid1234");
149         JSONObject res = manager.uploadVNFPackage(vnfpkg, paramsMap);
150         assertTrue(res.get("reason").equals("RestfulResponse is null."));
151
152     }
153
154     @Test
155     public void downloadCsarTestNullUrl() {
156         String url = null;
157         String filePath = null;
158         JSONObject res = manager.downloadCsar(url, filePath);
159         assertTrue(res.get("reason").equals("url is null."));
160     }
161
162     @Test
163     public void downloadCsarTestEmptyUrl() {
164         String url = "";
165         String filePath = null;
166         JSONObject res = manager.downloadCsar(url, filePath);
167         assertTrue(res.get("reason").equals("url is null."));
168     }
169
170     @Test
171     public void downloadCsarTestNullFilePath() {
172         String url = "http://localhost:8080";
173         String filePath = null;
174         JSONObject res = manager.downloadCsar(url, filePath);
175         assertTrue(res.get("reason").equals("downloadUrl filePath is null."));
176     }
177
178     @Test
179     public void downloadCsarTestEmptyFilePath() {
180         String url = "http://localhost:8080";
181         String filePath = "";
182         JSONObject res = manager.downloadCsar(url, filePath);
183         assertTrue(res.get("reason").equals("downloadUrl filePath is null."));
184     }
185
186     @Test
187     public void getVnfmConnInfoTestSuccess() {
188         new MockUp<VNFRestfulUtil>() {
189
190             @Mock
191             public RestfulResponse getRemoteResponse(Map<String, String> paramsMap, String params) {
192                 RestfulResponse resp = new RestfulResponse();
193                 resp.setStatus(200);
194                 Map<String, String> objMap = new HashMap<String, String>();
195                 objMap.put("id", "test123");
196
197                 String responseString = toJson(objMap);
198                 resp.setResponseJson(responseString);
199                 return resp;
200             }
201
202         };
203         Map<String, String> paramsMap = new HashMap<String, String>();
204         JSONObject res = manager.getVnfmConnInfo(paramsMap);
205         assertTrue(res.get("id").equals("test123"));
206     }
207
208     @Test
209     public void getVnfmConnInfoTestNullResp() {
210         new MockUp<VNFRestfulUtil>() {
211
212             @Mock
213             public RestfulResponse getRemoteResponse(Map<String, String> paramsMap, String params) {
214
215                 return null;
216             }
217
218         };
219         Map<String, String> paramsMap = new HashMap<String, String>();
220         JSONObject res = manager.getVnfmConnInfo(paramsMap);
221         assertTrue(res.get("reason").equals("RestfulResponse is null."));
222     }
223
224     @Test
225     public void getVnfmConnInfoTestServerError() {
226         new MockUp<VNFRestfulUtil>() {
227
228             @Mock
229             public RestfulResponse getRemoteResponse(Map<String, String> paramsMap, String params) {
230                 RestfulResponse resp = new RestfulResponse();
231                 resp.setStatus(500);
232                 Map<String, String> objMap = new HashMap<String, String>();
233                 objMap.put("id", "test123");
234
235                 String responseString = toJson(objMap);
236                 resp.setResponseJson(responseString);
237                 return resp;
238             }
239
240         };
241         Map<String, String> paramsMap = new HashMap<String, String>();
242         JSONObject res = manager.getVnfmConnInfo(paramsMap);
243         assertTrue(res.get("reason").equals("ESR return fail."));
244     }
245
246     @Test
247     public void uploadTestInternalError() {
248         JSONObject vnfpackage = new JSONObject();
249         String vnfmurl = "http://localhost";
250         String conntoken = "test";
251         JSONObject res = manager.upload(vnfpackage, vnfmurl, conntoken);
252         assertEquals(res.get("retCode"), 500);
253     }
254
255     public static String toJson(Map o) {
256         try {
257             return JsonUtil.marshal(o);
258         } catch(IOException e) {
259             return "";
260         }
261     }
262
263     @Test
264     public void testGetAllCloud(){
265         String url = null;
266         manager.getAllCloud(url,null);
267     }
268
269     @Test
270     public void testGetAllCloud2(){
271         String url = "http://127.0.0.1:31943";
272         manager.getAllCloud(url,null);
273     }
274     @Test
275     public void testUnzipCSAR(){
276         manager.unzipCSAR(null,null);
277     }
278     @Test
279     public void testUnzipCSAR2(){
280         manager.unzipCSAR("vCpe.zip",null);
281     }
282     @Test
283     public void testUnzipCSAR3(){
284         manager.unzipCSAR("vCpe.zip","/opt");
285     }
286     @Test
287     public void testUnzipCSAR4(){
288         new MockUp<DownloadCsarManager>(){
289             @Mock
290             public  int unzipCSAR(String fileName,String filePath){
291                 return 0;
292             }
293         };
294         manager.unzipCSAR("vCpe.zip","/opt");
295     }
296     @Test
297     public void testUnzipCSAR5(){
298         new MockUp<DownloadCsarManager>(){
299             @Mock
300             public  int unzipCSAR(String fileName,String filePath){
301                 return -1;
302             }
303         };
304         manager.unzipCSAR("vCpe.zip","/opt");
305     }
306
307     @Test
308     public void testGetVnfdVersion(){
309         manager.getVnfdVersion("http://","127.0.0.1","token");
310     }
311
312 }