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 / VnfResourceMgrTest.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 org.junit.Test;
22 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.servicetoken.VnfmRestfulUtil;
23 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.constant.Constant;
24 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.process.VnfResourceMgr;
25 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.restclient.RestfulResponse;
26
27 import mockit.Mock;
28 import mockit.MockUp;
29 import net.sf.json.JSONObject;
30
31 /**
32  * <br/>
33  * <p>
34  * </p>
35  *
36  * @author
37  * @version VFC 1.0 Aug 9, 2016
38  */
39 public class VnfResourceMgrTest {
40
41     @Test
42     public void testgrantVnfResource() {
43
44         String data =
45                 "{\"type\": \"instantiation\",\"operation_right\": \"increase\",\"vnf_name\": \"vnf_name\",\"vm_list\": [{\"vm_flavor\": {\"storage\": [{\"vol_type\": \"local_volume\",\"vol_size\": \"2\",\"storage_type\": \"local_image\",\"disk_size\": \"100\"}],\"num_cpus\": \"6\",\"mem_size\": \"8\"},\"init_number\": \"1\"}],\"version\": \"version\",\"template_id\": \"template_id\",\"template_name\": \"template_name\",\"plan_id\": \"plan_id\",\"plan_name\": \"plan_name\",\"project_id\": \"project_id\",\"project_name\": \"project_name\",\"creator\": \"creator\",\"status\": \"status\",\"tenant\": \"tenant\",\"parent_tenant\": \"parent_tenant\",\"vnfd_id\": \"vnfd_id\",\"location\": \"location\",\"dr_location\": \"dr_location\",\"nfvo_id\": \"nfvo_id\"}";
46         JSONObject vnfObj = JSONObject.fromObject(data);
47         VnfResourceMgr vnfResourceMgr = new VnfResourceMgr();
48         JSONObject result = vnfResourceMgr.grantVnfResource(vnfObj, "vnfId", "vnfmId");
49
50         JSONObject retJson = new JSONObject();
51         retJson.put("retCode", Constant.REST_FAIL);
52         retJson.put("errorMsg", "params parse exception");
53         assertEquals(retJson, result);
54     }
55
56     @Test
57     public void testgrantVnfResourceSuccess() {
58 //        new MockUp<VnfmRestfulUtil>() {
59 //
60 //            @Mock
61 //            public RestfulResponse getRemoteResponse(String url, String methodType, String params) {
62 //                RestfulResponse rsp = new RestfulResponse();
63 //                rsp.setStatus(200);
64 //                rsp.setResponseJson(new JSONObject().toString());
65 //                return rsp;
66 //            }
67 //        };
68
69         JSONObject vnfObj = new JSONObject();
70         String data =
71                 "{\"type\": \"instantiation\",\"location\": \"RomaRespool\",\"version\":\"V500R001C20\",\"vendor\": \"V500R001C20B001\",\"tenant\": \"admin\",\"vnf_id\":\"NE=1304\",\"vnfm_id\": \"9a49755d-8050-4369-9e7d-0a0855097585\",\"project_id\":\"\",\"operation_right\": \"increase\",\"vnf_name\": \"wangyuans4\",\"vim_id\":\"\",\"dr_location\": \"RomaRespool\",\"nfvo_id\": \"\",\"vnf_type\": \"vNGFW\",\"plan_id\":\"V4\",\"plan_name\": \"V4\",\"vnfd_id\": \"vNGFW\",\"vm_list\": [{\"vm_flavor\":{\"location\": \"\",\"priority\": \"1\",\"storage\": [{\"vol_type\":\"local_volume\",\"vol_size\": \"200\"},{\"storage_type\": \"local_image\",\"disk_size\":\"80\"}],\"vdu_name\": \"OMU\",\"num_cpus\": \"4\",\"mem_size\": \"8192\"},\"init_number\":\"1\"}],\"ex_vim_list\": []}";
72         vnfObj = JSONObject.fromObject(data);
73         VnfResourceMgr grantTest = new VnfResourceMgr();
74         JSONObject result = grantTest.grantVnfResource(vnfObj, "1111", "abc");
75
76         JSONObject retJson = new JSONObject();
77         assertEquals(retJson, result);
78     }
79
80     @Test
81     public void testgrantVnfResourceSuccess1() {
82 //        new MockUp<VnfmRestfulUtil>() {
83 //
84 //            @Mock
85 //            public RestfulResponse getRemoteResponse(String url, String methodType, String params) {
86 //                RestfulResponse rsp = new RestfulResponse();
87 //                rsp.setStatus(200);
88 //                rsp.setResponseJson(new JSONObject().toString());
89 //                return rsp;
90 //            }
91 //        };
92
93         JSONObject vnfObj = new JSONObject();
94         String data =
95                 "{\"type\": \"instantiation\",\"location\": \"RomaRespool\",\"version\":\"V500R001C20\",\"vendor\": \"V500R001C20B001\",\"tenant\": \"admin\",\"vnf_id\":\"NE=1304\",\"vnfm_id\": \"9a49755d-8050-4369-9e7d-0a0855097585\",\"project_id\":\"\",\"operation_right\": \"decrease\",\"vnf_name\": \"wangyuans4\",\"vim_id\":\"\",\"dr_location\": \"RomaRespool\",\"nfvo_id\": \"\",\"vnf_type\": \"vNGFW\",\"plan_id\":\"V4\",\"plan_name\": \"V4\",\"vnfd_id\": \"vNGFW\",\"vm_list\": [{\"vm_flavor\":{\"location\": \"\",\"priority\": \"1\",\"storage\": [{\"vol_type\":\"local_volume\",\"vol_size\": \"200\"},{\"storage_type\": \"local_image\",\"disk_size\":\"80\"}],\"vdu_name\": \"OMU\",\"num_cpus\": \"4\",\"mem_size\": \"8192\"},\"init_number\":\"1\"}],\"ex_vim_list\": []}";
96         vnfObj = JSONObject.fromObject(data);
97         VnfResourceMgr grantTest = new VnfResourceMgr();
98         JSONObject result = grantTest.grantVnfResource(vnfObj, "1111", "abc");
99
100         JSONObject retJson = new JSONObject();
101         assertEquals(retJson, result);
102     }
103
104     @Test
105     public void testgrantVnfResourceSuccess2() {
106 //        new MockUp<VnfmRestfulUtil>() {
107 //
108 //            @Mock
109 //            public RestfulResponse getRemoteResponse(String url, String methodType, String params) {
110 //                RestfulResponse rsp = new RestfulResponse();
111 //                rsp.setStatus(200);
112 //                rsp.setResponseJson(new JSONObject().toString());
113 //                return rsp;
114 //            }
115 //        };
116
117         JSONObject vnfObj = new JSONObject();
118         String data =
119                 "{\"type\": \"scale\",\"location\": \"RomaRespool\",\"version\":\"V500R001C20\",\"vendor\": \"V500R001C20B001\",\"tenant\": \"admin\",\"vnf_id\":\"NE=1304\",\"vnfm_id\": \"9a49755d-8050-4369-9e7d-0a0855097585\",\"project_id\":\"\",\"operation_right\": \"decrease\",\"vnf_name\": \"wangyuans4\",\"vim_id\":\"\",\"dr_location\": \"RomaRespool\",\"nfvo_id\": \"\",\"vnf_type\": \"vNGFW\",\"plan_id\":\"V4\",\"plan_name\": \"V4\",\"vnfd_id\": \"vNGFW\",\"vm_list\": [{\"vm_flavor\":{\"location\": \"\",\"priority\": \"1\",\"storage\": [{\"vol_type\":\"local_volume\",\"vol_size\": \"200\"},{\"storage_type\": \"local_image\",\"disk_size\":\"80\"}],\"vdu_name\": \"OMU\",\"num_cpus\": \"4\",\"mem_size\": \"8192\"},\"init_number\":\"1\"}],\"ex_vim_list\": []}";
120         vnfObj = JSONObject.fromObject(data);
121         VnfResourceMgr grantTest = new VnfResourceMgr();
122         JSONObject result = grantTest.grantVnfResource(vnfObj, "1111", "abc");
123
124         JSONObject retJson = new JSONObject();
125         assertEquals(retJson, result);
126     }
127
128     @Test
129     public void testgrantVnfResourceSuccess3() {
130 //        new MockUp<VnfmRestfulUtil>() {
131 //
132 //            @Mock
133 //            public RestfulResponse getRemoteResponse(String url, String methodType, String params) {
134 //                RestfulResponse rsp = new RestfulResponse();
135 //                rsp.setStatus(200);
136 //                rsp.setResponseJson(new JSONObject().toString());
137 //                return rsp;
138 //            }
139 //        };
140
141         JSONObject vnfObj = new JSONObject();
142         String data =
143                 "{\"type\": \"scale\",\"location\": \"RomaRespool\",\"version\":\"V500R001C20\",\"vendor\": \"V500R001C20B001\",\"tenant\": \"admin\",\"vnf_id\":\"NE=1304\",\"vnfm_id\": \"9a49755d-8050-4369-9e7d-0a0855097585\",\"project_id\":\"\",\"operation_right\": \"increase\",\"vnf_name\": \"wangyuans4\",\"vim_id\":\"\",\"dr_location\": \"RomaRespool\",\"nfvo_id\": \"\",\"vnf_type\": \"vNGFW\",\"plan_id\":\"V4\",\"plan_name\": \"V4\",\"vnfd_id\": \"vNGFW\",\"vm_list\": [{\"vm_flavor\":{\"location\": \"\",\"priority\": \"1\",\"storage\": [{\"vol_type\":\"local_volume\",\"vol_size\": \"200\"},{\"storage_type\": \"local_image\",\"disk_size\":\"80\"}],\"vdu_name\": \"OMU\",\"num_cpus\": \"4\",\"mem_size\": \"8192\"},\"init_number\":\"1\"}],\"ex_vim_list\": []}";
144         vnfObj = JSONObject.fromObject(data);
145         VnfResourceMgr grantTest = new VnfResourceMgr();
146         JSONObject result = grantTest.grantVnfResource(vnfObj, "1111", "abc");
147
148         JSONObject retJson = new JSONObject();
149         assertEquals(retJson, result);
150     }
151
152     @Test
153     public void testgrantVnfResourceByResMapNull() {
154
155         String data =
156                 "{\"type\": \"instantiation\",\"operation_right\": \"increase\",\"vnf_name\": \"vnf_name\",\"vm_list\": [{\"vm_flavors\": {\"storage\": [{\"vol_type\": \"local_volume\",\"vol_size\": \"2\",\"storage_type\": \"local_image\",\"disk_size\": \"100\"}],\"num_cpus\": \"6\",\"mem_size\": \"8\"},\"init_number\": \"1\"}],\"version\": \"version\",\"template_id\": \"template_id\",\"template_name\": \"template_name\",\"plan_id\": \"plan_id\",\"plan_name\": \"plan_name\",\"project_id\": \"project_id\",\"project_name\": \"project_name\",\"creator\": \"creator\",\"status\": \"status\",\"tenant\": \"tenant\",\"parent_tenant\": \"parent_tenant\",\"vnfd_id\": \"vnfd_id\",\"location\": \"location\",\"dr_location\": \"dr_location\",\"nfvo_id\": \"nfvo_id\"}";
157         JSONObject vnfObj = JSONObject.fromObject(data);
158         VnfResourceMgr vnfResourceMgr = new VnfResourceMgr();
159         JSONObject result = vnfResourceMgr.grantVnfResource(vnfObj, "vnfId", "vnfmId");
160
161         JSONObject retJson = new JSONObject();
162         retJson.put("retCode", Constant.REST_FAIL);
163         retJson.put("errorMsg", "resource params error");
164         assertEquals(retJson, result);
165     }
166
167     @Test
168     public void testgrantVnfResourceByTypeIsEmpty() {
169         String data =
170                 "{\"type\": \"\",\"operation_right\": \"increase\",\"vnf_name\": \"vnf_name\",\"vm_list\": [{\"vm_flavor\": {\"storage\": [{\"vol_type\": \"local_volume\",\"vol_size\": \"2\",\"storage_type\": \"local_image\",\"disk_size\": \"100\"}],\"num_cpus\": \"6\",\"mem_size\": \"8\"},\"init_number\": \"1\"}],\"version\": \"version\",\"template_id\": \"template_id\",\"template_name\": \"template_name\",\"plan_id\": \"plan_id\",\"plan_name\": \"plan_name\",\"project_id\": \"project_id\",\"project_name\": \"project_name\",\"creator\": \"creator\",\"status\": \"status\",\"tenant\": \"tenant\",\"parent_tenant\": \"parent_tenant\",\"vnfd_id\": \"vnfd_id\",\"location\": \"location\",\"dr_location\": \"dr_location\",\"nfvo_id\": \"nfvo_id\"}";
171         JSONObject vnfObj = JSONObject.fromObject(data);
172         VnfResourceMgr vnfResourceMgr = new VnfResourceMgr();
173         JSONObject result = vnfResourceMgr.grantVnfResource(vnfObj, "vnfId", "vnfmId");
174
175         JSONObject retJson = new JSONObject();
176         retJson.put("retCode", Constant.REST_FAIL);
177         retJson.put("errorMsg", "basic params error");
178         assertEquals(retJson, result);
179     }
180
181     @Test
182     public void testgrantVnfResourceByVnfNameIsEmpty() {
183         String data =
184                 "{\"type\": \"instantiation\",\"operation_right\": \"increase\",\"vnf_name\": \"\",\"vm_list\": [{\"vm_flavor\": {\"storage\": [{\"vol_type\": \"local_volume\",\"vol_size\": \"2\",\"storage_type\": \"local_image\",\"disk_size\": \"100\"}],\"num_cpus\": \"6\",\"mem_size\": \"8\"},\"init_number\": \"1\"}],\"version\": \"version\",\"template_id\": \"template_id\",\"template_name\": \"template_name\",\"plan_id\": \"plan_id\",\"plan_name\": \"plan_name\",\"project_id\": \"project_id\",\"project_name\": \"project_name\",\"creator\": \"creator\",\"status\": \"status\",\"tenant\": \"tenant\",\"parent_tenant\": \"parent_tenant\",\"vnfd_id\": \"vnfd_id\",\"location\": \"location\",\"dr_location\": \"dr_location\",\"nfvo_id\": \"nfvo_id\"}";
185         JSONObject vnfObj = JSONObject.fromObject(data);
186         VnfResourceMgr vnfResourceMgr = new VnfResourceMgr();
187         JSONObject result = vnfResourceMgr.grantVnfResource(vnfObj, "vnfId", "vnfmId");
188
189         JSONObject retJson = new JSONObject();
190         retJson.put("retCode", Constant.REST_FAIL);
191         retJson.put("errorMsg", "basic params error");
192         assertEquals(retJson, result);
193     }
194
195     @Test
196     public void testgrantVnfResourceByVnfIdIsEmpty() {
197         String data =
198                 "{\"type\": \"instantiation\",\"operation_right\": \"increase\",\"vnf_name\": \"vnf_name\",\"vm_list\": [{\"vm_flavor\": {\"storage\": [{\"vol_type\": \"local_volume\",\"vol_size\": \"2\",\"storage_type\": \"local_image\",\"disk_size\": \"100\"}],\"num_cpus\": \"6\",\"mem_size\": \"8\"},\"init_number\": \"1\"}],\"version\": \"version\",\"template_id\": \"template_id\",\"template_name\": \"template_name\",\"plan_id\": \"plan_id\",\"plan_name\": \"plan_name\",\"project_id\": \"project_id\",\"project_name\": \"project_name\",\"creator\": \"creator\",\"status\": \"status\",\"tenant\": \"tenant\",\"parent_tenant\": \"parent_tenant\",\"vnfd_id\": \"vnfd_id\",\"location\": \"location\",\"dr_location\": \"dr_location\",\"nfvo_id\": \"nfvo_id\"}";
199         JSONObject vnfObj = JSONObject.fromObject(data);
200         VnfResourceMgr vnfResourceMgr = new VnfResourceMgr();
201         JSONObject result = vnfResourceMgr.grantVnfResource(vnfObj, "", "vnfmId");
202
203         JSONObject retJson = new JSONObject();
204         retJson.put("retCode", Constant.REST_FAIL);
205         retJson.put("errorMsg", "basic params error");
206         assertEquals(retJson, result);
207     }
208
209     @Test
210     public void testgrantVnfResourceByRequestTypeIsEmpty() {
211         String data =
212                 "{\"type\": \"instantiation\",\"operation_right\": \"\",\"vnf_name\": \"vnf_name\",\"vm_list\": [{\"vm_flavor\": {\"storage\": [{\"vol_type\": \"local_volume\",\"vol_size\": \"2\",\"storage_type\": \"local_image\",\"disk_size\": \"100\"}],\"num_cpus\": \"6\",\"mem_size\": \"8\"},\"init_number\": \"1\"}],\"version\": \"version\",\"template_id\": \"template_id\",\"template_name\": \"template_name\",\"plan_id\": \"plan_id\",\"plan_name\": \"plan_name\",\"project_id\": \"project_id\",\"project_name\": \"project_name\",\"creator\": \"creator\",\"status\": \"status\",\"tenant\": \"tenant\",\"parent_tenant\": \"parent_tenant\",\"vnfd_id\": \"vnfd_id\",\"location\": \"location\",\"dr_location\": \"dr_location\",\"nfvo_id\": \"nfvo_id\"}";
213         JSONObject vnfObj = JSONObject.fromObject(data);
214         VnfResourceMgr vnfResourceMgr = new VnfResourceMgr();
215         JSONObject result = vnfResourceMgr.grantVnfResource(vnfObj, "vnfId", "vnfmId");
216
217         JSONObject retJson = new JSONObject();
218         retJson.put("retCode", Constant.REST_FAIL);
219         retJson.put("errorMsg", "basic params error");
220         assertEquals(retJson, result);
221     }
222
223     @Test
224     public void testgrantVnfResourceByJSONException() {
225         String data =
226                 "{\"operation_right\": \"increase\",\"vnf_name\": \"vnf_name\",\"vm_list\": [{\"vm_flavor\": {\"storage\": [{\"vol_type\": \"local_volume\",\"vol_size\": \"2\",\"storage_type\": \"local_image\",\"disk_size\": \"100\"}],\"num_cpus\": \"6\",\"mem_size\": \"8\"},\"init_number\": \"1\"}],\"version\": \"version\",\"template_id\": \"template_id\",\"template_name\": \"template_name\",\"plan_id\": \"plan_id\",\"plan_name\": \"plan_name\",\"project_id\": \"project_id\",\"project_name\": \"project_name\",\"creator\": \"creator\",\"status\": \"status\",\"tenant\": \"tenant\",\"parent_tenant\": \"parent_tenant\",\"vnfd_id\": \"vnfd_id\",\"location\": \"location\",\"dr_location\": \"dr_location\",\"nfvo_id\": \"nfvo_id\"}";
227         JSONObject vnfObj = JSONObject.fromObject(data);
228         VnfResourceMgr vnfResourceMgr = new VnfResourceMgr();
229         JSONObject result = vnfResourceMgr.grantVnfResource(vnfObj, "vnfId", "vnfmId");
230
231         JSONObject retJson = new JSONObject();
232         retJson.put("retCode", Constant.REST_FAIL);
233         retJson.put("errorMsg", "params parse exception");
234         assertEquals(retJson, result);
235     }
236 }