2 * ================================================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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 * ================================================================================
20 package org.openecomp.portalapp.portal.test.controller;
22 import static org.junit.Assert.assertEquals;
24 import java.util.ArrayList;
25 import java.util.List;
27 import javax.servlet.http.HttpServletRequest;
28 import javax.servlet.http.HttpServletResponse;
29 import javax.servlet.http.HttpSession;
31 import org.junit.Before;
32 import org.junit.Test;
33 import org.mockito.InjectMocks;
34 import org.mockito.Mock;
35 import org.mockito.Mockito;
36 import org.mockito.MockitoAnnotations;
37 import org.openecomp.portalapp.portal.controller.UserRolesController;
38 import org.openecomp.portalapp.portal.domain.EPUser;
39 import org.openecomp.portalapp.portal.service.UserRolesService;
40 import org.openecomp.portalapp.portal.test.core.MockEPUser;
41 import org.openecomp.portalapp.portal.transport.AppWithRolesForUser;
42 import org.openecomp.portalapp.portal.transport.FieldsValidator;
43 import org.openecomp.portalapp.portal.transport.FieldsValidator.FieldName;
44 import org.openecomp.portalapp.portal.transport.RoleInAppForUser;
45 import org.openecomp.portalapp.test.framework.MockitoTestSuite;
46 import org.openecomp.portalapp.util.EPUserUtils;
47 import org.openecomp.portalsdk.core.service.DataAccessService;
48 import org.openecomp.portalsdk.core.util.SystemProperties;
50 public class UserRolesControllerTest extends MockitoTestSuite {
52 String userid = "ab1234";
55 UserRolesService userRolesService;
58 FieldsValidator fieldsValidator;
61 UserRolesController userRolesController = new UserRolesController();
64 private DataAccessService dataAccessService;
68 MockitoAnnotations.initMocks(this);
71 MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
73 HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
74 HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
77 EPUserUtils ePUserUtils = new EPUserUtils();
82 MockEPUser mockUser = new MockEPUser();
85 public void putAppWithUserRoleRequestTest() {
87 FieldsValidator actualFieldsValidator = null;
89 AppWithRolesForUser appWithRolesForUser = new AppWithRolesForUser();
90 List<RoleInAppForUser> listofRoles = new ArrayList<RoleInAppForUser>();
92 appWithRolesForUser.setOrgUserId("guest");
93 appWithRolesForUser.setAppId((long) 550);
94 appWithRolesForUser.setAppName("D2 Services Analytics Dashboard");
95 appWithRolesForUser.setAppRoles(listofRoles);
97 RoleInAppForUser roleInAppForUser = new RoleInAppForUser();
98 roleInAppForUser.setIsApplied(false);
99 roleInAppForUser.setRoleId((long) 1);
100 roleInAppForUser.setRoleName("System Administrator");
102 RoleInAppForUser roleInAppForUser1 = new RoleInAppForUser();
103 roleInAppForUser1.setIsApplied(true);
104 roleInAppForUser1.setRoleId((long) 16);
105 roleInAppForUser1.setRoleName("Standard User");
107 listofRoles.add(roleInAppForUser);
108 listofRoles.add(roleInAppForUser1);
109 EPUser user = mockUser.mockEPUser();
110 FieldsValidator expectedFieldValidator = new FieldsValidator();
111 List<FieldName> fields = new ArrayList<>();
113 expectedFieldValidator.setHttpStatusCode((long) 200);
114 expectedFieldValidator.setFields(fields);
115 expectedFieldValidator.setErrorCode(null);
116 HttpSession session = mockedRequest.getSession();
117 session.setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);
119 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
120 Mockito.when(userRolesService.putUserAppRolesRequest(appWithRolesForUser, user))
121 .thenReturn(expectedFieldValidator);
123 actualFieldsValidator = userRolesController.putAppWithUserRoleRequest(mockedRequest, appWithRolesForUser,
125 assertEquals(expectedFieldValidator.getHttpStatusCode(), actualFieldsValidator.getHttpStatusCode());
126 assertEquals(expectedFieldValidator.getErrorCode(), actualFieldsValidator.getErrorCode());
127 assertEquals(expectedFieldValidator.getFields(), actualFieldsValidator.getFields());