Merge "Added Junits for Policy PAP-REST"
[policy/engine.git] / ONAP-PAP-REST / src / test / java / org / onap / policy / pap / xacml / rest / controller / ClosedLoopDictionaryControllerTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP-PAP-REST
4  * ================================================================================
5  * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20 package org.onap.policy.pap.xacml.rest.controller;
21
22 import static org.junit.Assert.assertTrue;
23 import static org.junit.Assert.fail;
24 import static org.mockito.Mockito.doNothing;
25 import static org.mockito.Mockito.when;
26
27 import java.io.BufferedReader;
28 import java.io.StringReader;
29 import java.util.ArrayList;
30 import java.util.List;
31
32 import javax.servlet.http.HttpServletRequest;
33
34 import org.junit.Before;
35 import org.junit.Test;
36 import org.mockito.Mockito;
37 import org.onap.policy.common.logging.flexlogger.FlexLogger;
38 import org.onap.policy.common.logging.flexlogger.Logger;
39 import org.onap.policy.rest.dao.CommonClassDao;
40 import org.onap.policy.rest.jpa.ClosedLoopD2Services;
41 import org.onap.policy.rest.jpa.ClosedLoopSite;
42 import org.onap.policy.rest.jpa.PEPOptions;
43 import org.onap.policy.rest.jpa.UserInfo;
44 import org.onap.policy.rest.jpa.VNFType;
45 import org.onap.policy.rest.jpa.VSCLAction;
46 import org.onap.policy.rest.jpa.VarbindDictionary;
47 import org.springframework.mock.web.MockHttpServletResponse;
48
49 public class ClosedLoopDictionaryControllerTest {
50         
51         private static Logger logger = FlexLogger.getLogger(ClosedLoopDictionaryControllerTest.class);
52         private static CommonClassDao commonClassDao;
53         private String jsonString = null;
54         private HttpServletRequest request = null;
55         private ClosedLoopDictionaryController controller = null;
56         private MockHttpServletResponse response = null;
57         private UserInfo userInfo;
58         private List<String>  data;
59
60         @Before
61         public void setUp() throws Exception {
62                 logger.info("setUp: Entering");
63                 commonClassDao = Mockito.mock(CommonClassDao.class);
64                 
65                 data = new ArrayList<>();
66                 data.add("Test");
67                 
68                 userInfo = new UserInfo();
69                 userInfo.setUserLoginId("Test");
70                 userInfo.setUserName("Test");
71         
72                 doNothing().when(commonClassDao).delete(new VSCLAction());
73                 doNothing().when(commonClassDao).save(new VSCLAction());
74                 
75                 controller = new ClosedLoopDictionaryController();
76                 controller.setCommonClassDao(commonClassDao);
77                 
78                 request = Mockito.mock(HttpServletRequest.class);
79                 response =  new MockHttpServletResponse();  
80                 logger.info("setUp: exit");
81         }
82         
83         @Test
84         public void testGetVSCLActionDictionaryByNameEntityData(){
85                 when(commonClassDao.getDataByColumn(VSCLAction.class, "vsclaction")).thenReturn(data);
86                 controller.getVSCLActionDictionaryByNameEntityData(response);
87                 try {
88                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("vsclActionDictionaryDatas"));
89                 } catch (Exception e) {
90                         fail();
91                         logger.error(e.getMessage(),e);
92                 }
93         }
94         
95         @Test
96         public void testGetVSCLActionDictionaryEntityData(){
97                 when(commonClassDao.getData(VSCLAction.class)).thenReturn(new ArrayList<>());
98                 controller.getVSCLActionDictionaryEntityData(response);
99                 try {
100                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("vsclActionDictionaryDatas"));
101                 } catch (Exception e) {
102                         fail();
103                         logger.error(e.getMessage(),e);
104                 }
105         }
106         
107         @Test
108         public void testGetVNFTypeDictionaryByNameEntityData(){
109                 when(commonClassDao.getDataByColumn(VNFType.class, "vnftype")).thenReturn(data);
110                 controller.getVNFTypeDictionaryByNameEntityData(response);
111                 try {
112                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("vnfTypeDictionaryDatas"));
113                 } catch (Exception e) {
114                         fail();
115                         logger.error(e.getMessage(),e);
116                 }
117         }
118         
119         @Test
120         public void testGetVNFTypeDictionaryEntityData(){
121                 when(commonClassDao.getData(VNFType.class)).thenReturn(new ArrayList<>());
122                 controller.getVNFTypeDictionaryEntityData(response);
123                 try {
124                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("vnfTypeDictionaryDatas"));
125                 } catch (Exception e) {
126                         fail();
127                         logger.error(e.getMessage(),e);
128                 }
129         }
130         
131         @Test
132         public void testGetPEPOptionsDictionaryByNameEntityData(){
133                 when(commonClassDao.getDataByColumn(PEPOptions.class, "pepName")).thenReturn(data);
134                 controller.getPEPOptionsDictionaryByNameEntityData(response);
135                 try {
136                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("pepOptionsDictionaryDatas"));
137                 } catch (Exception e) {
138                         fail();
139                         logger.error(e.getMessage(),e);
140                 }
141         }
142         
143         @Test
144         public void testGetPEPOptionsDictionaryEntityData(){
145                 when(commonClassDao.getData(PEPOptions.class)).thenReturn(new ArrayList<>());
146                 controller.getPEPOptionsDictionaryEntityData(response);
147                 try {
148                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("pepOptionsDictionaryDatas"));
149                 } catch (Exception e) {
150                         fail();
151                         logger.error(e.getMessage(),e);
152                 }
153         }
154         
155         @Test
156         public void testGetVarbindDictionaryByNameEntityData(){
157                 when(commonClassDao.getDataByColumn(VarbindDictionary.class, "varbindName")).thenReturn(data);
158                 controller.getVarbindDictionaryByNameEntityData(response);
159                 try {
160                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("varbindDictionaryDatas"));
161                 } catch (Exception e) {
162                         fail();
163                         logger.error(e.getMessage(),e);
164                 }
165         }
166         
167         @Test
168         public void testGetVarbindDictionaryEntityData(){
169                 when(commonClassDao.getData(VarbindDictionary.class)).thenReturn(new ArrayList<>());
170                 controller.getVarbindDictionaryEntityData(response);
171                 try {
172                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("varbindDictionaryDatas"));
173                 } catch (Exception e) {
174                         fail();
175                         logger.error(e.getMessage(),e);
176                 }
177         }
178         
179         @Test
180         public void testGetClosedLoopServiceDictionaryByNameEntityData(){
181                 when(commonClassDao.getDataByColumn(ClosedLoopD2Services.class, "serviceName")).thenReturn(data);
182                 controller.getClosedLoopServiceDictionaryByNameEntityData(response);
183                 try {
184                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("closedLoopServiceDictionaryDatas"));
185                 } catch (Exception e) {
186                         fail();
187                         logger.error(e.getMessage(),e);
188                 }
189         }
190         
191         @Test
192         public void testGetClosedLoopServiceDictionaryEntityData(){
193                 when(commonClassDao.getData(ClosedLoopD2Services.class)).thenReturn(new ArrayList<>());
194                 controller.getClosedLoopServiceDictionaryEntityData(response);
195                 try {
196                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("closedLoopServiceDictionaryDatas"));
197                 } catch (Exception e) {
198                         fail();
199                         logger.error(e.getMessage(),e);
200                 }
201         }
202         
203         @Test
204         public void testGetClosedLoopSiteDictionaryByNameEntityData(){
205                 when(commonClassDao.getDataByColumn(ClosedLoopSite.class, "siteName")).thenReturn(data);
206                 controller.getClosedLoopSiteDictionaryByNameEntityData(response);
207                 try {
208                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("closedLoopSiteDictionaryDatas"));
209                 } catch (Exception e) {
210                         fail();
211                         logger.error(e.getMessage(),e);
212                 }
213         }
214         
215         @Test
216         public void testGetClosedLoopSiteDictionaryEntityData(){
217                 when(commonClassDao.getData(ClosedLoopSite.class)).thenReturn(new ArrayList<>());
218                 controller.getClosedLoopSiteDictionaryEntityData(response);
219                 try {
220                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("closedLoopSiteDictionaryDatas"));
221                 } catch (Exception e) {
222                         fail();
223                         logger.error(e.getMessage(),e);
224                 }
225         }
226         
227         @Test
228         public void testSaveVSCLAction(){
229                 jsonString = "{\"userid\":\"demo\",\"vsclActionDictionaryData\":{\"description\":\"test\",\"vsclaction\":\"Test\"}}";
230                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
231                         when(request.getReader()).thenReturn(br);
232                         controller.saveVSCLAction(request, response);
233                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("vsclActionDictionaryDatas"));
234                 }catch(Exception e){
235                         logger.error("Exception"+ e);
236                 } 
237         }
238         
239         @Test
240         public void testUpdateVSCLAction(){
241                 jsonString = "{\"userid\":\"demo\",\"vsclActionDictionaryData\":{\"id\":1,\"description\":\"test\",\"vsclaction\":\"Test\"}}";
242                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
243                         when(request.getReader()).thenReturn(br);
244                         controller.saveVSCLAction(request, response);
245                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("vsclActionDictionaryDatas"));
246                 }catch(Exception e){
247                         logger.error("Exception"+ e);
248                 } 
249         }
250         
251         @Test
252         public void testRemoveVSCLAction(){
253                 jsonString = "{\"userid\":\"demo\",\"data\":{\"id\":1,\"description\":\"test\",\"vsclaction\":\"Test\"}}";
254                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
255                         when(request.getReader()).thenReturn(br);
256                         controller.removeVSCLAction(request, response);
257                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("vsclActionDictionaryDatas"));
258                 }catch(Exception e){
259                         logger.error("Exception"+ e);
260                 } 
261         }
262         
263         @Test
264         public void testSaveVnfType(){
265                 jsonString = "{\"userid\":\"demo\",\"vnfTypeDictionaryData\":{\"description\":\"test\",\"vnftype\":\"Test\"}}";
266                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
267                         when(request.getReader()).thenReturn(br);
268                         controller.saveVnfType(request, response);
269                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("vnfTypeDictionaryData"));
270                 }catch(Exception e){
271                         logger.error("Exception"+ e);
272                 } 
273         }
274         
275         @Test
276         public void testUpdateVnfType(){
277                 jsonString = "{\"userid\":\"demo\",\"vnfTypeDictionaryData\":{\"id\":1,\"description\":\"test\",\"vnftype\":\"Test\"}}";
278                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
279                         when(request.getReader()).thenReturn(br);
280                         controller.saveVnfType(request, response);
281                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("vnfTypeDictionaryData"));
282                 }catch(Exception e){
283                         logger.error("Exception"+ e);
284                 } 
285         }
286         
287         @Test
288         public void testRemoveVnfType(){
289                 jsonString = "{\"userid\":\"demo\",\"data\":{\"id\":1,\"description\":\"test\",\"vnftype\":\"Test\"}}";
290                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
291                         when(request.getReader()).thenReturn(br);
292                         controller.removeVnfType(request, response);
293                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("vnfTypeDictionaryData"));
294                 }catch(Exception e){
295                         logger.error("Exception"+ e);
296                 } 
297         }
298         
299         @Test
300         public void testSavePEPOptions(){
301                 jsonString = "{\"pepOptionsDictionaryData\":{\"attributes\":[{\"$$hashKey\":\"object:257\",\"id\":\"choice1\",\"number\":\"12\",\"option\":\"test\"}],\"description\":\"test\",\"pepName\":\"Test\"},\"userid\":\"demo\"}";
302                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
303                         when(request.getReader()).thenReturn(br);
304                         controller.savePEPOptions(request, response);
305                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("pepOptionsDictionaryDatas"));
306                 }catch(Exception e){
307                         logger.error("Exception"+ e);
308                 } 
309         }
310         
311         @Test
312         public void testUpdatePEPOptions(){
313                 jsonString = "{\"pepOptionsDictionaryData\":{\"attributes\":[{\"$$hashKey\":\"object:257\",\"id\":\"choice1\",\"number\":\"12\",\"option\":\"test\"}],\"description\":\"test\",\"pepName\":\"Test\",\"id\":1},\"userid\":\"demo\"}";
314                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
315                         when(request.getReader()).thenReturn(br);
316                         controller.savePEPOptions(request, response);
317                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("pepOptionsDictionaryDatas"));
318                 }catch(Exception e){
319                         logger.error("Exception"+ e);
320                 } 
321         }
322         
323         @Test
324         public void testRemovePEPOptions(){
325                 jsonString = "{\"data\":{\"attributes\":[{\"$$hashKey\":\"object:257\",\"id\":\"choice1\",\"number\":\"12\",\"option\":\"test\"}],\"description\":\"test\",\"pepName\":\"Test\"},\"userid\":\"demo\"}";
326                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
327                         when(request.getReader()).thenReturn(br);
328                         controller.removePEPOptions(request, response);
329                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("pepOptionsDictionaryDatas"));
330                 }catch(Exception e){
331                         logger.error("Exception"+ e);
332                 } 
333         }
334         
335         @Test
336         public void testSaveServiceType(){
337                 jsonString = "{\"userid\":\"demo\",\"closedLoopServiceDictionaryData\":{\"description\":\"test\",\"serviceName\":\"Test\",\"id\":1}}";
338                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
339                         when(request.getReader()).thenReturn(br);
340                         controller.saveServiceType(request, response);
341                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("closedLoopServiceDictionaryData"));
342                 }catch(Exception e){
343                         logger.error("Exception"+ e);
344                 } 
345         }
346         
347         @Test
348         public void testUpdateServiceType(){
349                 jsonString = "{\"userid\":\"demo\",\"closedLoopServiceDictionaryData\":{\"id\":1,\"description\":\"test\",\"serviceName\":\"Test\"}}";
350                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
351                         when(request.getReader()).thenReturn(br);
352                         controller.saveServiceType(request, response);
353                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("closedLoopServiceDictionaryData"));
354                 }catch(Exception e){
355                         logger.error("Exception"+ e);
356                 } 
357         }
358         
359         @Test
360         public void testRemoveServiceType(){
361                 jsonString = "{\"userid\":\"demo\",\"data\":{\"id\":1,\"description\":\"test\",\"serviceName\":\"Test\"}}";
362                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
363                         when(request.getReader()).thenReturn(br);
364                         controller.removeServiceType(request, response);
365                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("closedLoopServiceDictionaryData"));
366                 }catch(Exception e){
367                         logger.error("Exception"+ e);
368                 } 
369         }
370         
371         @Test
372         public void testSaveSiteType(){
373                 jsonString = "{\"userid\":\"demo\",\"closedLoopSiteDictionaryData\":{\"description\":\"test\",\"siteName\":\"Test\"}}";
374                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
375                         when(request.getReader()).thenReturn(br);
376                         controller.saveSiteType(request, response);
377                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("closedLoopSiteDictionaryDatas"));
378                 }catch(Exception e){
379                         logger.error("Exception"+ e);
380                 } 
381         }
382         
383         @Test
384         public void testUpdateSiteType(){
385                 jsonString = "{\"userid\":\"demo\",\"closedLoopSiteDictionaryData\":{\"id\":1,\"description\":\"test\",\"siteName\":\"Test\"}}";
386                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
387                         when(request.getReader()).thenReturn(br);
388                         controller.saveSiteType(request, response);
389                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("closedLoopSiteDictionaryDatas"));
390                 }catch(Exception e){
391                         logger.error("Exception"+ e);
392                 } 
393         }
394         
395         @Test
396         public void testRemoveSiteType(){
397                 jsonString = "{\"userid\":\"demo\",\"data\":{\"id\":1,\"description\":\"test\",\"siteName\":\"Test\"}}";
398                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
399                         when(request.getReader()).thenReturn(br);
400                         controller.removeSiteType(request, response);
401                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("closedLoopSiteDictionaryDatas"));
402                 }catch(Exception e){
403                         logger.error("Exception"+ e);
404                 } 
405         }
406         
407         @Test
408         public void testSaveVarbind(){
409                 jsonString = "{\"userid\":\"demo\",\"varbindDictionaryData\":{\"description\":\"test\",\"varbindName\":\"Test\"}}";
410                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
411                         when(request.getReader()).thenReturn(br);
412                         controller.saveVarbind(request, response);
413                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("varbindDictionaryDatas"));
414                 }catch(Exception e){
415                         logger.error("Exception"+ e);
416                 } 
417         }
418         
419         @Test
420         public void testUpdateVarbind(){
421                 jsonString = "{\"userid\":\"demo\",\"varbindDictionaryData\":{\"id\":1,\"description\":\"test\",\"varbindName\":\"Test\"}}";
422                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
423                         when(request.getReader()).thenReturn(br);
424                         controller.saveVarbind(request, response);
425                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("varbindDictionaryDatas"));
426                 }catch(Exception e){
427                         logger.error("Exception"+ e);
428                 } 
429         }
430         
431         @Test
432         public void testRemoveVarbind(){
433                 jsonString = "{\"userid\":\"demo\",\"data\":{\"id\":1,\"description\":\"test\",\"varbindName\":\"Test\"}}";
434                 try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
435                         when(request.getReader()).thenReturn(br);
436                         controller.removeVarbind(request, response);
437                         assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("varbindDictionaryDatas"));
438                 }catch(Exception e){
439                         logger.error("Exception"+ e);
440                 } 
441         }
442 }