2 * Copyright 2016-2017 Huawei Technologies Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 package org.openo.nfvo.vnfmadapter.service.adapter.impl;
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertTrue;
22 import java.io.IOException;
23 import java.util.HashMap;
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;
35 import net.sf.json.JSONException;
36 import net.sf.json.JSONObject;
38 public class AdapterResourceManagerTest {
40 AdapterResourceManager manager = null;
44 manager = new AdapterResourceManager();
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);
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);
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."));
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."));
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."));
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."));
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."));
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."));
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."));
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."));
154 public void downloadCsarTestNullUrl() {
156 String filePath = null;
157 JSONObject res = manager.downloadCsar(url, filePath);
158 assertTrue(res.get("reason").equals("url is null."));
162 public void downloadCsarTestEmptyUrl() {
164 String filePath = null;
165 JSONObject res = manager.downloadCsar(url, filePath);
166 assertTrue(res.get("reason").equals("url is null."));
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."));
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."));
186 public void getVnfmConnInfoTestSuccess() {
187 new MockUp<VNFRestfulUtil>() {
190 public RestfulResponse getRemoteResponse(Map<String, String> paramsMap, String params) {
191 RestfulResponse resp = new RestfulResponse();
193 Map<String, String> objMap = new HashMap<String, String>();
194 objMap.put("id", "test123");
196 String responseString = toJson(objMap);
197 resp.setResponseJson(responseString);
202 Map<String, String> paramsMap = new HashMap<String, String>();
203 JSONObject res = manager.getVnfmConnInfo(paramsMap);
204 assertTrue(res.get("id").equals("test123"));
208 public void getVnfmConnInfoTestNullResp() {
209 new MockUp<VNFRestfulUtil>() {
212 public RestfulResponse getRemoteResponse(Map<String, String> paramsMap, String params) {
218 Map<String, String> paramsMap = new HashMap<String, String>();
219 JSONObject res = manager.getVnfmConnInfo(paramsMap);
220 assertTrue(res.get("reason").equals("RestfulResponse is null."));
224 public void getVnfmConnInfoTestServerError() {
225 new MockUp<VNFRestfulUtil>() {
228 public RestfulResponse getRemoteResponse(Map<String, String> paramsMap, String params) {
229 RestfulResponse resp = new RestfulResponse();
231 Map<String, String> objMap = new HashMap<String, String>();
232 objMap.put("id", "test123");
234 String responseString = toJson(objMap);
235 resp.setResponseJson(responseString);
240 Map<String, String> paramsMap = new HashMap<String, String>();
241 JSONObject res = manager.getVnfmConnInfo(paramsMap);
242 assertTrue(res.get("reason").equals("ESR return fail."));
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);
254 public static String toJson(Map o) {
256 return JsonUtil.marshal(o);
257 } catch(IOException e) {
263 public void testGetAllCloud(){
265 manager.getAllCloud(url,null);
269 public void testGetAllCloud2(){
270 String url = "http://127.0.0.1:31943";
271 manager.getAllCloud(url,null);
274 public void testUnzipCSAR(){
275 manager.unzipCSAR(null,null);
278 public void testUnzipCSAR2(){
279 manager.unzipCSAR("vCpe.zip",null);
282 public void testUnzipCSAR3(){
283 manager.unzipCSAR("vCpe.zip","/opt");
286 public void testUnzipCSAR4(){
287 new MockUp<DownloadCsarManager>(){
289 public int unzipCSAR(String fileName,String filePath){
293 manager.unzipCSAR("vCpe.zip","/opt");
296 public void testUnzipCSAR5(){
297 new MockUp<DownloadCsarManager>(){
299 public int unzipCSAR(String fileName,String filePath){
303 manager.unzipCSAR("vCpe.zip","/opt");
307 public void testGetVnfdVersion(){
308 manager.getVnfdVersion("http://","127.0.0.1","token");