UserMgr { public VXPortalUser deactivateUser(XXPortalUser gjUser) { checkAdminAccess(); rangerBizUtil.blockAuditorRoleUser(); if (gjUser != null && gjUser.getStatus() != RangerConstants.ACT_STATUS_DEACTIVATED) { logger.info("Marking user " + gjUser.getLoginId() + " as deleted"); gjUser.setStatus(RangerConstants.ACT_STATUS_DEACTIVATED); gjUser = daoManager.getXXPortalUser().update(gjUser); return mapXXPortalUserVXPortalUser(gjUser); } return null; } UserMgr(); XXPortalUser createUser(VXPortalUser userProfile, int userStatus,
			Collection<String> userRoleList); XXPortalUser createUser(XXPortalUser user, int userStatus,
			Collection<String> userRoleList); XXPortalUser createUser(VXPortalUser userProfile, int userStatus); XXPortalUser updateUser(VXPortalUser userProfile); boolean updateRoles(Long userId, Collection<String> rolesList); void setUserRoles(Long userId, List<VXString> vStringRolesList); VXResponse changePassword(VXPasswordChange pwdChange); VXPortalUser changeEmailAddress(XXPortalUser gjUser,
			VXPasswordChange changeEmail); VXPortalUser deactivateUser(XXPortalUser gjUser); VXPortalUser getUserProfile(Long id); VXPortalUser getUserProfileByLoginId(); VXPortalUser getUserProfileByLoginId(String loginId); XXPortalUser mapVXPortalUserToXXPortalUser(VXPortalUser userProfile); VXPortalUser mapXXPortalUserToVXPortalUser(XXPortalUser user,
			Collection<String> userRoleList); VXPortalUser mapXXPortalUserVXPortalUser(XXPortalUser user); XXPortalUser findByEmailAddress(String emailId); XXPortalUser findByLoginId(String loginId); @Transactional(readOnly = true, propagation = Propagation.REQUIRED) Collection<String> getRolesForUser(XXPortalUser user); VXPortalUserList searchUsers(SearchCriteria searchCriteria); boolean deleteUserRole(Long userId, String userRole); boolean deleteUserRole(Long userId, XXPortalUserRole gjUserRole); XXPortalUserRole addUserRole(Long userId, String userRole); void checkAccess(Long userId); void checkAccess(XXPortalUser gjUser); void checkAccessForUpdate(XXPortalUser gjUser); String encrypt(String loginId, String password); String encryptWithOlderAlgo(String loginId, String password); VXPortalUser createUser(VXPortalUser userProfile); VXPortalUser createDefaultAccountUser(VXPortalUser userProfile); boolean isUserInRole(Long userId, String role); XXPortalUser updateUserWithPass(VXPortalUser userProfile); @Transactional(readOnly = false, propagation = Propagation.REQUIRED) XXPortalUser updatePasswordInSHA256(String userName,String userPassword,boolean logAudits); void checkAdminAccess(); Collection<String> getRolesByLoginId(String loginId); @Transactional(readOnly = false, propagation = Propagation.REQUIRED) XXPortalUser updateOldUserName(String userLoginId,String newUserName, String currentPassword);  }
@Test public void test19DeactivateUser() { setup(); XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class); XXPortalUserRoleDao roleDao = Mockito.mock(XXPortalUserRoleDao.class); XXUserPermissionDao xUserPermissionDao = Mockito.mock(XXUserPermissionDao.class); XXGroupPermissionDao xGroupPermissionDao = Mockito.mock(XXGroupPermissionDao.class); VXGroupPermission vXGroupPermission = Mockito.mock(VXGroupPermission.class); XXModuleDefDao xModuleDefDao = Mockito.mock(XXModuleDefDao.class); XXModuleDef xModuleDef = Mockito.mock(XXModuleDef.class); VXUserPermission vXUserPermission = Mockito.mock(VXUserPermission.class); VXPortalUser userProfile = userProfile(); XXPortalUser user = new XXPortalUser(); user.setEmailAddress(userProfile.getEmailAddress()); user.setFirstName(userProfile.getFirstName()); user.setLastName(userProfile.getLastName()); user.setLoginId(userProfile.getLoginId()); user.setPassword(userProfile.getPassword()); user.setUserSource(userProfile.getUserSource()); user.setPublicScreenName(userProfile.getPublicScreenName()); user.setId(userProfile.getId()); List<XXUserPermission> xUserPermissionsList = new ArrayList<XXUserPermission>(); XXUserPermission xUserPermissionObj = new XXUserPermission(); xUserPermissionObj.setAddedByUserId(userId); xUserPermissionObj.setCreateTime(new Date()); xUserPermissionObj.setId(userId); xUserPermissionObj.setIsAllowed(1); xUserPermissionObj.setModuleId(1L); xUserPermissionObj.setUpdatedByUserId(userId); xUserPermissionObj.setUpdateTime(new Date()); xUserPermissionObj.setUserId(userId); xUserPermissionsList.add(xUserPermissionObj); List<XXGroupPermission> xGroupPermissionList = new ArrayList<XXGroupPermission>(); XXGroupPermission xGroupPermissionObj = new XXGroupPermission(); xGroupPermissionObj.setAddedByUserId(userId); xGroupPermissionObj.setCreateTime(new Date()); xGroupPermissionObj.setId(userId); xGroupPermissionObj.setIsAllowed(1); xGroupPermissionObj.setModuleId(1L); xGroupPermissionObj.setUpdatedByUserId(userId); xGroupPermissionObj.setUpdateTime(new Date()); xGroupPermissionObj.setGroupId(userId); xGroupPermissionList.add(xGroupPermissionObj); XXPortalUserRole XXPortalUserRole = new XXPortalUserRole(); XXPortalUserRole.setId(userId); XXPortalUserRole.setUserRole("ROLE_USER"); List<XXPortalUserRole> list = new ArrayList<XXPortalUserRole>(); list.add(XXPortalUserRole); Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao); Mockito.when(userDao.update(user)).thenReturn(user); Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(roleDao); Mockito.when(roleDao.findByParentId(Mockito.anyLong())).thenReturn(list); Mockito.when(daoManager.getXXUserPermission()).thenReturn(xUserPermissionDao); Mockito.when(xUserPermissionDao.findByUserPermissionIdAndIsAllowed(userProfile.getId())).thenReturn(xUserPermissionsList); Mockito.when(daoManager.getXXGroupPermission()).thenReturn(xGroupPermissionDao); Mockito.when(xGroupPermissionDao.findbyVXPortalUserId(userProfile.getId())).thenReturn(xGroupPermissionList); Mockito.when(xGroupPermissionService.populateViewBean(xGroupPermissionObj)).thenReturn(vXGroupPermission); Mockito.when(daoManager.getXXModuleDef()).thenReturn(xModuleDefDao); Mockito.when(xModuleDefDao.findByModuleId(Mockito.anyLong())).thenReturn(xModuleDef); Mockito.when(xUserPermissionService.populateViewBean(xUserPermissionObj)).thenReturn(vXUserPermission); Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser(); VXPortalUser dbVXPortalUser = userMgr.deactivateUser(null); Assert.assertNull(dbVXPortalUser); dbVXPortalUser = userMgr.deactivateUser(user); Assert.assertNotNull(dbVXPortalUser); Assert.assertEquals(user.getId(), dbVXPortalUser.getId()); Assert.assertEquals(user.getFirstName(), dbVXPortalUser.getFirstName()); Assert.assertEquals(user.getLastName(), dbVXPortalUser.getLastName()); Assert.assertEquals(user.getLoginId(), dbVXPortalUser.getLoginId()); Mockito.verify(daoManager).getXXPortalUser(); Mockito.verify(daoManager).getXXUserPermission(); Mockito.verify(daoManager).getXXGroupPermission(); Mockito.verify(xUserPermissionService).populateViewBean(xUserPermissionObj); Mockito.verify(xGroupPermissionService).populateViewBean(xGroupPermissionObj); }