9a576761de188f600c632ee37100a529a4bc4b34
[portal/sdk.git] /
1 /*
2  * ============LICENSE_START==========================================
3  * ONAP Portal SDK
4  * ===================================================================
5  * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6  * ===================================================================
7  *
8  * Unless otherwise specified, all software contained herein is licensed
9  * under the Apache License, Version 2.0 (the "License");
10  * you may not use this software except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *             http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  * Unless otherwise specified, all documentation contained herein is licensed
22  * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23  * you may not use this documentation except in compliance with the License.
24  * You may obtain a copy of the License at
25  *
26  *             https://creativecommons.org/licenses/by/4.0/
27  *
28  * Unless required by applicable law or agreed to in writing, documentation
29  * distributed under the License is distributed on an "AS IS" BASIS,
30  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31  * See the License for the specific language governing permissions and
32  * limitations under the License.
33  *
34  * ============LICENSE_END============================================
35  *
36  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
37  */
38
39 package org.onap.portalapp.controller.core;
40
41 import static org.junit.Assert.*;
42
43 import java.io.BufferedReader;
44 import java.io.IOException;
45 import java.io.PrintWriter;
46 import java.io.StringReader;
47 import java.io.StringWriter;
48 import java.util.ArrayList;
49 import java.util.List;
50
51 import javax.servlet.http.HttpServletRequest;
52 import javax.servlet.http.HttpServletResponse;
53
54 import org.junit.Before;
55 import org.junit.Test;
56 import org.mockito.InjectMocks;
57 import org.mockito.Mock;
58 import org.mockito.Mockito;
59 import org.mockito.MockitoAnnotations;
60 import org.onap.portalapp.framework.MockitoTestSuite;
61 import org.onap.portalsdk.core.domain.Role;
62 import org.onap.portalsdk.core.domain.User;
63 import org.onap.portalsdk.core.service.RoleService;
64 import org.onap.portalsdk.core.web.support.UserUtils;
65 import org.springframework.web.bind.ServletRequestUtils;
66 import org.springframework.web.servlet.ModelAndView;
67 import org.onap.portalapp.controller.core.RoleListController;
68
69 import com.fasterxml.jackson.databind.ObjectMapper;
70
71 public class RoleListControllerTest {
72
73         @InjectMocks
74         RoleListController roleListController = new RoleListController();
75
76         @Mock
77         RoleService roleService;
78
79         @Before
80         public void setup() {
81                 MockitoAnnotations.initMocks(this);
82         }
83
84         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
85         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
86         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
87         NullPointerException nullPointerException = new NullPointerException();
88
89         @Mock
90         UserUtils userUtils = new UserUtils();
91
92         @Mock
93         ServletRequestUtils servletRequestUtils;
94
95         @Mock
96         ObjectMapper mapper = new ObjectMapper();
97
98         @Test
99         public void getRoleListTest() throws IOException {
100                 roleListController.setViewName("Test");
101                 User user = new User();
102                 user.setOrgUserId("test12");
103                 List<Role> roleList = new ArrayList<>();
104                 Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
105                 Mockito.when(roleService.getAvailableRoles(user.getOrgUserId())).thenReturn(roleList);
106                 ModelAndView expectedResult = roleListController.getRoleList(mockedRequest);
107                 assertEquals(expectedResult.getViewName(), "Test");
108         }
109
110         @Test
111         public void getRoleListExceptionTest() throws IOException {
112                 User user = new User();
113                 user.setOrgUserId("test12");
114                 Mockito.when(roleService.getAvailableRoles(user.getOrgUserId())).thenThrow(nullPointerException);
115                 ModelAndView expectedResult = roleListController.getRoleList(mockedRequest);
116                 assertNull(expectedResult.getViewName());
117         }
118
119         @Test
120         public void getRolesTest() throws IOException {
121                 User user = new User();
122                 user.setOrgUserId("test12");
123                 List<Role> roleList = new ArrayList<>();
124                 Role role = new Role();
125                 role.setId((long) 1);
126                 Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
127                 Mockito.when(roleService.getAvailableRoles(user.getOrgUserId())).thenReturn(roleList);
128                 StringWriter sw = new StringWriter();
129                 PrintWriter writer = new PrintWriter(sw);
130                 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
131                 roleListController.getRoles(mockedRequest, mockedResponse);
132
133         }
134
135         @Test
136         public void getRolesExceptionTest() throws IOException {
137                 User user = new User();
138                 user.setOrgUserId("test12");
139                 Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
140                 Mockito.when(roleService.getAvailableRoles(user.getOrgUserId())).thenThrow(nullPointerException);
141                 roleListController.getRoles(mockedRequest, mockedResponse);
142         }
143
144         @Test
145         public void toggleRoleTest() throws IOException {
146                 User user = new User();
147                 user.setOrgUserId("test12");
148                 Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
149                 String json = "{\"role\":{\"id\":1,\"created\":null,\"modified\":null,\"createdId\":null,\"modifiedId\":null,\"rowNum\":null,\"auditUserId\":null,\"auditTrail\":null,\"name\":\"test1\",\"active\":false,\"priority\":\"1\",\"roleFunctions\":[],\"childRoles\":[],\"editUrl\":\"/role.htm?role_id=1\",\"toggleActiveImage\":\"/static/fusion/images/inactive.png\",\"toggleActiveAltText\":\"Click to Activate Role\"},\"childRoles\":[],\"roleFunctions\":[]}";
150                 Mockito.when(mockedRequest.getReader()).thenReturn(new BufferedReader(new StringReader(json)));
151                 Role role = new Role();
152                 role.setActive(true);
153                 Mockito.when(roleService.getRole(user.getOrgUserId(), (long) 1)).thenReturn(role);
154                 StringWriter sw = new StringWriter();
155                 PrintWriter writer = new PrintWriter(sw);
156                 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
157                 assertNull(roleListController.toggleRole(mockedRequest, mockedResponse));
158         }
159
160         @Test
161         public void toggleRoleExceptionTest() throws IOException {
162                 User user = new User();
163                 user.setOrgUserId("test12");
164                 Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
165                 String json = "{\"role\":{\"id\":1,\"created\":null,\"modified\":null,\"createdId\":null,\"modifiedId\":null,\"rowNum\":null,\"auditUserId\":null,\"auditTrail\":null,\"name\":\"test1\",\"active\":false,\"priority\":\"1\",\"roleFunctions\":[],\"childRoles\":[],\"editUrl\":\"/role.htm?role_id=1\",\"toggleActiveImage\":\"/static/fusion/images/inactive.png\",\"toggleActiveAltText\":\"Click to Activate Role\"},\"childRoles\":[],\"roleFunctions\":[]}";
166                 Mockito.when(mockedRequest.getReader()).thenReturn(new BufferedReader(new StringReader(json)));
167                 Role role = new Role();
168                 role.setActive(true);
169                 Mockito.when(roleService.getRole(user.getOrgUserId(), (long) 1)).thenThrow(nullPointerException);
170                 StringWriter sw = new StringWriter();
171                 PrintWriter writer = new PrintWriter(sw);
172                 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
173                 assertNull(roleListController.toggleRole(mockedRequest, mockedResponse));
174         }
175
176         @Test
177         public void removeRoleTest() throws IOException {
178                 User user = new User();
179                 user.setOrgUserId("test12");
180                 Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
181                 String json = "{\"role\":{\"id\":1,\"created\":null,\"modified\":null,\"createdId\":null,\"modifiedId\":null,\"rowNum\":null,\"auditUserId\":null,\"auditTrail\":null,\"name\":\"test1\",\"active\":false,\"priority\":\"1\",\"roleFunctions\":[],\"childRoles\":[],\"editUrl\":\"/role.htm?role_id=1\",\"toggleActiveImage\":\"/static/fusion/images/inactive.png\",\"toggleActiveAltText\":\"Click to Activate Role\"},\"childRoles\":[],\"roleFunctions\":[]}";
182                 Mockito.when(mockedRequest.getReader()).thenReturn(new BufferedReader(new StringReader(json)));
183                 Role role = new Role();
184                 role.setActive(true);
185                 Mockito.when(roleService.getRole(user.getOrgUserId(), (long) 1)).thenReturn(role);
186                 StringWriter sw = new StringWriter();
187                 PrintWriter writer = new PrintWriter(sw);
188                 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
189                 List<Role> roleList = new ArrayList<>();
190                 Mockito.when(roleService.getAvailableRoles(user.getOrgUserId())).thenReturn(roleList);
191                 assertNull(roleListController.removeRole(mockedRequest, mockedResponse));
192         }
193
194         @Test
195         public void removeRoleExceptionTest() throws IOException {
196                 User user = new User();
197                 user.setOrgUserId("test12");
198                 Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
199                 String json = "{\"role\":{\"id\":1,\"created\":null,\"modified\":null,\"createdId\":null,\"modifiedId\":null,\"rowNum\":null,\"auditUserId\":null,\"auditTrail\":null,\"name\":\"test1\",\"active\":false,\"priority\":\"1\",\"roleFunctions\":[],\"childRoles\":[],\"editUrl\":\"/role.htm?role_id=1\",\"toggleActiveImage\":\"/static/fusion/images/inactive.png\",\"toggleActiveAltText\":\"Click to Activate Role\"},\"childRoles\":[],\"roleFunctions\":[]}";
200                 Mockito.when(mockedRequest.getReader()).thenReturn(new BufferedReader(new StringReader(json)));
201                 Role role = new Role();
202                 role.setActive(true);
203                 Mockito.when(roleService.getRole(user.getOrgUserId(), (long) 1)).thenThrow(nullPointerException);
204                 StringWriter sw = new StringWriter();
205                 PrintWriter writer = new PrintWriter(sw);
206                 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
207                 assertNull(roleListController.removeRole(mockedRequest, mockedResponse));
208         }
209 }