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.assertEquals;
\r 
  24 import java.util.ArrayList;
\r 
  25 import java.util.Date;
\r 
  26 import java.util.List;
\r 
  28 import javax.servlet.http.HttpServletRequest;
\r 
  29 import javax.servlet.http.HttpServletResponse;
\r 
  30 import javax.servlet.http.HttpSession;
\r 
  32 import org.junit.Before;
\r 
  33 import org.junit.Test;
\r 
  34 import org.mockito.InjectMocks;
\r 
  35 import org.mockito.Mock;
\r 
  36 import org.mockito.Mockito;
\r 
  37 import org.mockito.MockitoAnnotations;
\r 
  38 import org.openecomp.portalapp.portal.controller.UserRolesController;
\r 
  39 import org.openecomp.portalapp.portal.domain.EPUser;
\r 
  40 import org.openecomp.portalapp.portal.service.UserRolesService;
\r 
  41 import org.openecomp.portalapp.portal.test.core.MockEPUser;
\r 
  42 import org.openecomp.portalapp.portal.test.framework.MockitoTestSuite;
\r 
  43 import org.openecomp.portalapp.portal.transport.AppWithRolesForUser;
\r 
  44 import org.openecomp.portalapp.portal.transport.FieldsValidator;
\r 
  45 import org.openecomp.portalapp.portal.transport.FieldsValidator.FieldName;
\r 
  46 import org.openecomp.portalapp.portal.transport.RoleInAppForUser;
\r 
  47 import org.openecomp.portalapp.util.EPUserUtils;
\r 
  48 import org.openecomp.portalsdk.core.service.DataAccessService;
\r 
  49 import org.openecomp.portalsdk.core.util.SystemProperties;
\r 
  51 public class UserRolesControllerTest extends MockitoTestSuite {
\r 
  53         String userid = "sk434m";
\r 
  56         UserRolesService userRolesService;
\r 
  59         FieldsValidator fieldsValidator;
\r 
  62         UserRolesController userRolesController = new UserRolesController();
\r 
  65         private DataAccessService dataAccessService;
\r 
  68         public void setup() {
\r 
  69                 MockitoAnnotations.initMocks(this);
\r 
  72         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
\r 
  74         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
\r 
  75         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
\r 
  78         EPUserUtils ePUserUtils = new EPUserUtils();
\r 
  83         MockEPUser mockUser = new MockEPUser();
\r 
  86         public void putAppWithUserRoleRequestTest() {
\r 
  88                 FieldsValidator actualFieldsValidator = null;
\r 
  90                 AppWithRolesForUser appWithRolesForUser = new AppWithRolesForUser();
\r 
  91                 List<RoleInAppForUser> listofRoles = new ArrayList<RoleInAppForUser>();
\r 
  93                 appWithRolesForUser.setOrgUserId("guest");
\r 
  94                 appWithRolesForUser.setAppId((long) 550);
\r 
  95                 appWithRolesForUser.setAppName("D2 Services Analytics Dashboard");
\r 
  96                 appWithRolesForUser.setAppRoles(listofRoles);
\r 
  98                 RoleInAppForUser roleInAppForUser = new RoleInAppForUser();
\r 
  99                 roleInAppForUser.setIsApplied(false);
\r 
 100                 roleInAppForUser.setRoleId((long) 1);
\r 
 101                 roleInAppForUser.setRoleName("System Administrator");
\r 
 103                 RoleInAppForUser roleInAppForUser1 = new RoleInAppForUser();
\r 
 104                 roleInAppForUser1.setIsApplied(true);
\r 
 105                 roleInAppForUser1.setRoleId((long) 16);
\r 
 106                 roleInAppForUser1.setRoleName("Standard User");
\r 
 108                 listofRoles.add(roleInAppForUser);
\r 
 109                 listofRoles.add(roleInAppForUser1);
\r 
 110                 EPUser user = mockUser.mockEPUser();
\r 
 111                 FieldsValidator expectedFieldValidator = new FieldsValidator();
\r 
 112                 List<FieldName> fields = new ArrayList<>();
\r 
 114                 expectedFieldValidator.setHttpStatusCode((long) 200);
\r 
 115                 expectedFieldValidator.setFields(fields);
\r 
 116                 expectedFieldValidator.setErrorCode(null);
\r 
 117                 HttpSession session = mockedRequest.getSession();
\r 
 118                 session.setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);
\r 
 120                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
\r 
 121                 Mockito.when(userRolesService.putUserAppRolesRequest(appWithRolesForUser, user))
\r 
 122                                 .thenReturn(expectedFieldValidator);
\r 
 124                 actualFieldsValidator = userRolesController.putAppWithUserRoleRequest(mockedRequest, appWithRolesForUser,
\r 
 126                 assertEquals(expectedFieldValidator.getHttpStatusCode(), actualFieldsValidator.getHttpStatusCode());
\r 
 127                 assertEquals(expectedFieldValidator.getErrorCode(), actualFieldsValidator.getErrorCode());
\r 
 128                 assertEquals(expectedFieldValidator.getFields(), actualFieldsValidator.getFields());
\r