2 * ============LICENSE_START==========================================
4 * ===================================================================
5 * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6 * ===================================================================
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
13 * http://www.apache.org/licenses/LICENSE-2.0
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.
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
26 * https://creativecommons.org/licenses/by/4.0/
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.
34 * ============LICENSE_END============================================
36 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
39 package org.onap.portalapp.controller.core;
41 import static org.junit.Assert.assertEquals;
42 import static org.junit.Assert.assertNull;
44 import java.io.BufferedReader;
45 import java.io.IOException;
46 import java.io.PrintWriter;
47 import java.io.StringReader;
48 import java.io.StringWriter;
49 import java.util.ArrayList;
50 import java.util.List;
52 import javax.servlet.http.HttpServletRequest;
53 import javax.servlet.http.HttpServletResponse;
55 import org.junit.Before;
56 import org.junit.Test;
57 import org.mockito.InjectMocks;
58 import org.mockito.Mock;
59 import org.mockito.Mockito;
60 import org.mockito.MockitoAnnotations;
61 import org.onap.portalapp.framework.MockitoTestSuite;
62 import org.onap.portalsdk.core.domain.Role;
63 import org.onap.portalsdk.core.domain.User;
64 import org.onap.portalsdk.core.service.RoleService;
65 import org.onap.portalsdk.core.web.support.UserUtils;
66 import org.springframework.web.bind.ServletRequestUtils;
67 import org.springframework.web.servlet.ModelAndView;
69 import com.fasterxml.jackson.databind.ObjectMapper;
71 public class RoleListControllerTest {
74 RoleListController roleListController = new RoleListController();
77 RoleService roleService;
81 MockitoAnnotations.initMocks(this);
84 MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
85 HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
86 HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
87 NullPointerException nullPointerException = new NullPointerException();
90 UserUtils userUtils = new UserUtils();
93 ServletRequestUtils servletRequestUtils;
96 ObjectMapper mapper = new ObjectMapper();
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");
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());
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);
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);
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));
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));
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));
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));