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