Junit coverage increased
[vfc/nfvo/driver/vnfm/svnfm.git] / huawei / vnfmadapter / VnfmadapterService / service / src / test / java / org / onap / vfc / nfvo / vnfm / svnfm / vnfmadapter / service / rest / VnfResourceRoaTest.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.rest;
18
19 import static org.junit.Assert.assertNotNull;
20
21 import java.io.IOException;
22
23 import javax.servlet.http.HttpServletRequest;
24
25 import org.junit.After;
26 import org.junit.Before;
27 import org.junit.Test;
28 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.VnfmJsonUtil;
29 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.VnfmUtil;
30 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.constant.Constant;
31 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.process.VnfResourceMgr;
32
33 import mockit.Mock;
34 import mockit.MockUp;
35 import net.sf.json.JSONObject;
36
37 public class VnfResourceRoaTest {
38
39     private VnfResourceRoa vnfResourceRoa;
40
41     private VnfResourceMgr vnfResourceMgr;
42
43     @Before
44     public void setUp() {
45         vnfResourceRoa = new VnfResourceRoa();
46         vnfResourceMgr = new VnfResourceMgr();
47         vnfResourceRoa.setVnfResourceMgr(vnfResourceMgr);
48     }
49
50     @After
51     public void tearDown() {
52         vnfResourceRoa = null;
53         vnfResourceMgr = null;
54     }
55
56     @Test
57     public void testGrantVnfResByDataObjectNull() {
58         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
59         HttpServletRequest mockInstance = proxyStub.getMockInstance();
60         new MockUp<VnfmJsonUtil>() {
61
62             @Mock
63             public <T> T getJsonFromContexts(HttpServletRequest context) {
64                 return null;
65             }
66         };
67
68         String result = vnfResourceRoa.grantVnfRes(mockInstance, "vnfId");
69
70         JSONObject restJson = new JSONObject();
71         restJson.put("retCode", Constant.REST_FAIL);
72         restJson.put("data", "Params error");
73         assertNotNull(result);
74     }
75
76     @Test
77     public void testGrantVnfResByGrantObjNull() {
78         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {};
79         HttpServletRequest mockInstance = proxyStub.getMockInstance();
80         final JSONObject dataObject = new JSONObject();
81         new MockUp<VnfmJsonUtil>() {
82
83             @SuppressWarnings("unchecked")
84             @Mock
85             public <T> T getJsonFromContexts(HttpServletRequest context) {
86                 return (T)dataObject;
87             }
88         };
89         new MockUp<JSONObject>() {
90
91             @Mock
92             public JSONObject getJSONObject(String key) {
93                 if(key == "grant") {
94                     return null;
95                 }
96                 return dataObject;
97             }
98         };
99
100         String result = vnfResourceRoa.grantVnfRes(mockInstance, "vnfId");
101
102         JSONObject restJson = new JSONObject();
103         restJson.put("retCode", Constant.REST_FAIL);
104         restJson.put("data", "Grant param error");
105         assertNotNull(result);
106     }
107
108     @Test
109     public void testGrantVnfRes() {
110         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {
111
112             @Mock
113             public String getHeader(String name) {
114                 return "127.0.0.1";
115             }
116         };
117         HttpServletRequest mockInstance = proxyStub.getMockInstance();
118         final JSONObject dataObject = new JSONObject();
119         JSONObject grant = new JSONObject();
120         grant.put("project_id", "project_id");
121         dataObject.put("grant", grant);
122         new MockUp<VnfmJsonUtil>() {
123
124             @SuppressWarnings("unchecked")
125             @Mock
126             public <T> T getJsonFromContexts(HttpServletRequest context) {
127                 return (T)dataObject;
128             }
129         };
130         new MockUp<VnfmUtil>() {
131
132             @Mock
133             public String getVnfmIdByIp(String ip) {
134                 return "vnfmId";
135             }
136         };
137
138         new MockUp<VnfResourceMgr>() {
139
140             @Mock
141             public JSONObject grantVnfResource(JSONObject vnfObj, String vnfId, String vnfmId) {
142                 JSONObject resultJson = new JSONObject();
143                 resultJson.put("retCode", Constant.REST_SUCCESS);
144                 JSONObject data = new JSONObject();
145                 data.put("data", "success");
146                 resultJson.put("data", data);
147                 return resultJson;
148             }
149         };
150         String result = vnfResourceRoa.grantVnfRes(mockInstance, "vnfId");
151
152         JSONObject restJson = new JSONObject();
153         restJson.put("retCode", Constant.REST_SUCCESS);
154         JSONObject data = new JSONObject();
155         data.put("data", "success");
156         restJson.put("data", data);
157         assertNotNull(result);
158     }
159
160     @Test
161     public void testGrantVnfResByFail() {
162         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {
163
164             @Mock
165             public String getHeader(String name) {
166                 return "127.0.0.1";
167             }
168         };
169         HttpServletRequest mockInstance = proxyStub.getMockInstance();
170         final JSONObject dataObject = new JSONObject();
171         JSONObject grant = new JSONObject();
172         grant.put("project_id", "project_id");
173         dataObject.put("grant", grant);
174         new MockUp<VnfmJsonUtil>() {
175
176             @SuppressWarnings("unchecked")
177             @Mock
178             public <T> T getJsonFromContexts(HttpServletRequest context) {
179                 return (T)dataObject;
180             }
181         };
182         new MockUp<VnfmUtil>() {
183
184             @Mock
185             public String getVnfmIdByIp(String ip) {
186                 return "vnfmId";
187             }
188         };
189
190         new MockUp<VnfResourceMgr>() {
191
192             @Mock
193             public JSONObject grantVnfResource(JSONObject vnfObj, String vnfId, String vnfmId) {
194                 JSONObject resultJson = new JSONObject();
195                 resultJson.put("retCode", Constant.REST_FAIL);
196                 resultJson.put("data", "Fail!");
197                 return resultJson;
198             }
199         };
200         String result = vnfResourceRoa.grantVnfRes(mockInstance, "vnfId");
201
202         JSONObject restJson = new JSONObject();
203         restJson.put("retCode", Constant.REST_FAIL);
204         restJson.put("data", "Fail!");
205         assertNotNull(result);
206     }
207
208     @Test
209     public void testGrantVnfResByDataNull() {
210         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {
211
212             @Mock
213             public String getHeader(String name) {
214                 return "127.0.0.1";
215             }
216         };
217         HttpServletRequest mockInstance = proxyStub.getMockInstance();
218         final JSONObject dataObject = new JSONObject();
219         JSONObject grant = new JSONObject();
220         grant.put("project_id", "project_id");
221         dataObject.put("grant", grant);
222         new MockUp<VnfmJsonUtil>() {
223
224             @SuppressWarnings("unchecked")
225             @Mock
226             public <T> T getJsonFromContexts(HttpServletRequest context) {
227                 return (T)dataObject;
228             }
229         };
230         new MockUp<VnfmUtil>() {
231
232             @Mock
233             public String getVnfmIdByIp(String ip) {
234                 return "vnfmId";
235             }
236         };
237
238         new MockUp<VnfResourceMgr>() {
239
240             @Mock
241             public JSONObject grantVnfResource(JSONObject vnfObj, String vnfId, String vnfmId) {
242                 JSONObject resultJson = new JSONObject();
243                 resultJson.put("retCode", Constant.REST_FAIL);
244                 return resultJson;
245             }
246         };
247         String result = vnfResourceRoa.grantVnfRes(mockInstance, "vnfId");
248
249         JSONObject restJson = new JSONObject();
250         restJson.put("retCode", Constant.REST_FAIL);
251         assertNotNull(result);
252     }
253
254     @Test
255     public void testNotify() throws IOException {
256         MockUp<HttpServletRequest> proxyStub = new MockUp<HttpServletRequest>() {
257
258             @Mock
259             public String getHeader(String name) {
260                 return "127.0.0.1";
261             }
262         };
263         HttpServletRequest mockInstance = proxyStub.getMockInstance();
264         String result = vnfResourceRoa.notify(mockInstance);
265
266         JSONObject restJson = new JSONObject();
267         restJson.put(Constant.RETCODE, Constant.REST_SUCCESS);
268         assertNotNull(result);
269     }
270 }