2 * ================================================================================
\r
4 * ================================================================================
\r
5 * Copyright (C) 2017 AT&T Intellectual Property
\r
6 * ================================================================================
\r
7 * Licensed under the Apache License, Version 2.0 (the "License");
\r
8 * you may not use this file except in compliance with the License.
\r
9 * You may obtain a copy of the License at
\r
11 * http://www.apache.org/licenses/LICENSE-2.0
\r
13 * Unless required by applicable law or agreed to in writing, software
\r
14 * distributed under the License is distributed on an "AS IS" BASIS,
\r
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
16 * See the License for the specific language governing permissions and
\r
17 * limitations under the License.
\r
18 * ================================================================================
\r
20 package org.openecomp.portalapp.portal.test.controller;
\r
22 import static org.junit.Assert.*;
\r
24 import java.io.IOException;
\r
25 import java.util.ArrayList;
\r
26 import java.util.Date;
\r
27 import java.util.List;
\r
29 import javax.servlet.http.HttpServletRequest;
\r
30 import javax.servlet.http.HttpServletResponse;
\r
31 import javax.servlet.http.HttpSession;
\r
32 import javax.validation.constraints.AssertTrue;
\r
34 import org.junit.Before;
\r
35 import org.junit.Test;
\r
36 import org.junit.runner.RunWith;
\r
37 import org.mockito.InjectMocks;
\r
38 import org.mockito.Mock;
\r
39 import org.mockito.Mockito;
\r
40 import org.mockito.MockitoAnnotations;
\r
41 import org.mockito.runners.MockitoJUnitRunner;
\r
42 import org.openecomp.portalapp.portal.controller.FunctionalMenuController;
\r
43 import org.openecomp.portalapp.portal.domain.EPUser;
\r
44 import org.openecomp.portalapp.portal.service.AdminRolesService;
\r
45 import org.openecomp.portalapp.portal.service.AdminRolesServiceImpl;
\r
46 import org.openecomp.portalapp.portal.service.FunctionalMenuService;
\r
47 import org.openecomp.portalapp.portal.service.FunctionalMenuServiceImpl;
\r
48 import org.openecomp.portalapp.portal.test.core.MockEPUser;
\r
49 import org.openecomp.portalapp.portal.test.framework.MockitoTestSuite;
\r
50 import org.openecomp.portalapp.portal.transport.BusinessCardApplicationRole;
\r
51 import org.openecomp.portalapp.portal.transport.BusinessCardApplicationRolesList;
\r
52 import org.openecomp.portalapp.portal.transport.FieldsValidator;
\r
53 import org.openecomp.portalapp.portal.transport.FieldsValidator.FieldName;
\r
54 import org.openecomp.portalapp.portal.utils.EcompPortalUtils;
\r
55 import org.openecomp.portalapp.util.EPUserUtils;
\r
56 import org.openecomp.portalsdk.core.service.DataAccessService;
\r
57 import org.openecomp.portalsdk.core.util.SystemProperties;
\r
59 @RunWith(MockitoJUnitRunner.class)
\r
60 public class FunctionalMenuControllerTest extends MockitoTestSuite {
\r
62 String userid = "sk434m";
\r
65 FunctionalMenuService functionalMenuService = new FunctionalMenuServiceImpl();
\r
68 FunctionalMenuController functionalMenuController = new FunctionalMenuController();
\r
71 private DataAccessService dataAccessService;
\r
74 AdminRolesService adminRolesService = new AdminRolesServiceImpl();
\r
77 public void setup() {
\r
78 MockitoAnnotations.initMocks(this);
\r
81 MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
\r
83 HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
\r
84 HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
\r
87 EPUserUtils ePUserUtils = new EPUserUtils();
\r
92 MockEPUser mockUser = new MockEPUser();
\r
94 List<BusinessCardApplicationRolesList> appRoles = new ArrayList<BusinessCardApplicationRolesList>();
\r
95 List<BusinessCardApplicationRolesList> appRolesActual = new ArrayList<BusinessCardApplicationRolesList>();
\r
97 List<BusinessCardApplicationRole> userAppRoleList = new ArrayList<BusinessCardApplicationRole>();
\r
99 public List<BusinessCardApplicationRole> mockBusinessCardApplicationRole() {
\r
100 List<BusinessCardApplicationRole> userAppRoleList = new ArrayList<BusinessCardApplicationRole>();
\r
102 BusinessCardApplicationRole businessCardApplicationRole = new BusinessCardApplicationRole();
\r
103 businessCardApplicationRole.setRoleName("ADMIN");
\r
104 businessCardApplicationRole.setAppName("ASDC");
\r
106 BusinessCardApplicationRole businessCardApplicationRole1 = new BusinessCardApplicationRole();
\r
107 businessCardApplicationRole1.setAppName("ASDC");
\r
108 businessCardApplicationRole1.setRoleName("Tester");
\r
110 userAppRoleList.add(businessCardApplicationRole);
\r
111 userAppRoleList.add(businessCardApplicationRole1);
\r
112 return userAppRoleList;
\r
115 public List<BusinessCardApplicationRolesList> mockBusinessCardApplicationRolesList() {
\r
116 List<BusinessCardApplicationRolesList> appRolesActual = new ArrayList<BusinessCardApplicationRolesList>();
\r
118 BusinessCardApplicationRolesList businessCardApplicationRolesList = new BusinessCardApplicationRolesList();
\r
119 businessCardApplicationRolesList.setAppName("ASDC");
\r
121 List<String> roleNames = new ArrayList<String>();
\r
122 roleNames.add("ADMIN");
\r
123 roleNames.add("Tester");
\r
124 businessCardApplicationRolesList.setRoleNames(roleNames);
\r
126 appRolesActual.add(businessCardApplicationRolesList);
\r
127 return appRolesActual;
\r
131 public void getAppListTestIfAppAlredyExistsBusinessCardApplicationRolesList() throws IOException {
\r
133 userAppRoleList = mockBusinessCardApplicationRole();
\r
134 appRolesActual = mockBusinessCardApplicationRolesList();
\r
136 Mockito.when(functionalMenuService.getUserAppRolesList(userid)).thenReturn(userAppRoleList);
\r
138 appRoles = functionalMenuController.getAppList(mockedRequest, userid);
\r
140 assertEquals(appRolesActual.size(), appRoles.size());
\r
141 assertEquals(appRolesActual.get(0).getAppName(), appRoles.get(0).getAppName());
\r
142 assertEquals(appRolesActual.get(0).getRoleNames(), appRoles.get(0).getRoleNames());
\r
147 public void getAppListTestIfAppDoesnotExistsInBusinessCardApplicationRolesList() throws IOException {
\r
149 userAppRoleList = mockBusinessCardApplicationRole();
\r
150 BusinessCardApplicationRole businessCardApplicationRole = new BusinessCardApplicationRole();
\r
151 businessCardApplicationRole.setAppName("CCD");
\r
152 businessCardApplicationRole.setRoleName("ADMIN");
\r
153 userAppRoleList.add(businessCardApplicationRole);
\r
154 appRolesActual = mockBusinessCardApplicationRolesList();
\r
155 BusinessCardApplicationRolesList businessCardApplicationRolesList = new BusinessCardApplicationRolesList();
\r
156 businessCardApplicationRolesList.setAppName("CCD");
\r
157 List<String> roleNames1 = new ArrayList<String>();
\r
158 roleNames1.add("ADMIN");
\r
159 businessCardApplicationRolesList.setRoleNames(roleNames1);
\r
160 appRolesActual.add(businessCardApplicationRolesList);
\r
161 Mockito.when(functionalMenuService.getUserAppRolesList(userid)).thenReturn(userAppRoleList);
\r
162 appRoles = functionalMenuController.getAppList(mockedRequest, userid);
\r
163 assertEquals(appRolesActual.size(), appRoles.size());
\r
164 assertEquals(appRolesActual.get(0).getAppName(), appRoles.get(0).getAppName());
\r
165 assertEquals(appRolesActual.get(0).getRoleNames(), appRoles.get(0).getRoleNames());
\r
166 assertEquals(appRolesActual.get(1).getAppName(), appRoles.get(1).getAppName());
\r
167 assertEquals(appRolesActual.get(1).getRoleNames(), appRoles.get(1).getRoleNames());
\r
172 public void regenerateAncestorTableTest() {
\r
173 EPUser user = mockUser.mockEPUser();
\r
175 HttpSession session = mockedRequest.getSession();
\r
176 session.setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);
\r
177 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
\r
178 FieldsValidator acutualFieldValidator = null;
\r
179 FieldsValidator expectedFieldValidator = new FieldsValidator();
\r
180 List<FieldName> fields = new ArrayList<>();
\r
181 expectedFieldValidator.setHttpStatusCode((long) 200);
\r
182 expectedFieldValidator.setFields(fields);
\r
183 expectedFieldValidator.setErrorCode(null);
\r
184 Mockito.when(!adminRolesService.isSuperAdmin(user)).thenReturn(true);
\r
185 Mockito.when(functionalMenuService.regenerateAncestorTable()).thenReturn(expectedFieldValidator);
\r
186 acutualFieldValidator = functionalMenuController.regenerateAncestorTable(mockedRequest, mockedResponse);
\r
187 assertTrue(acutualFieldValidator.equals(expectedFieldValidator));
\r