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