You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by pr...@apache.org on 2018/07/23 05:57:43 UTC
[2/2] ranger git commit: RANGER-2150: Unit test coverage for XUserMgr
and UserMgr class
RANGER-2150: Unit test coverage for XUserMgr and UserMgr class
Project: http://git-wip-us.apache.org/repos/asf/ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/34499290
Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/34499290
Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/34499290
Branch: refs/heads/master
Commit: 34499290059a28f5084f0fa3b249d70ba11d1e83
Parents: f368dcb
Author: pradeep <pr...@apache.org>
Authored: Fri Jul 6 01:28:54 2018 +0530
Committer: pradeep <pr...@apache.org>
Committed: Mon Jul 23 11:24:22 2018 +0530
----------------------------------------------------------------------
.../java/org/apache/ranger/biz/UserMgr.java | 4 +-
.../java/org/apache/ranger/biz/XUserMgr.java | 33 +-
.../java/org/apache/ranger/biz/TestUserMgr.java | 1036 ++++--
.../org/apache/ranger/biz/TestXUserMgr.java | 3284 +++++++++++++-----
4 files changed, 3166 insertions(+), 1191 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ranger/blob/34499290/security-admin/src/main/java/org/apache/ranger/biz/UserMgr.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/UserMgr.java b/security-admin/src/main/java/org/apache/ranger/biz/UserMgr.java
index 6d94e4f..2a638f8 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/UserMgr.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/UserMgr.java
@@ -618,7 +618,7 @@ public class UserMgr {
return userProfile;
}
- private void gjUserToUserProfile(XXPortalUser user, VXPortalUser userProfile) {
+ protected void gjUserToUserProfile(XXPortalUser user, VXPortalUser userProfile) {
UserSessionBase sess = ContextUtil.getCurrentUserSession();
if (sess == null) {
return;
@@ -810,7 +810,7 @@ public class UserMgr {
* @param searchCriteria
* @return
*/
- private Query createUserSearchQuery(String queryStr, String sortClause,
+ protected Query createUserSearchQuery(String queryStr, String sortClause,
SearchCriteria searchCriteria) {
HashMap<String, Object> paramList = searchCriteria.getParamList();
http://git-wip-us.apache.org/repos/asf/ranger/blob/34499290/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java b/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
index 7f5eab7..ea60e99 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
@@ -132,12 +132,12 @@ public class XUserMgr extends XUserMgrBase {
@Autowired
GUIDUtil guidUtil;
- @Autowired
- UserMgr userManager;
-
@Autowired
XUgsyncAuditInfoService xUgsyncAuditInfoService;
+ @Autowired
+ XGroupUserService xGroupUserService;
+
static final Logger logger = Logger.getLogger(XUserMgr.class);
@@ -173,7 +173,7 @@ public class XUserMgr extends XUserMgrBase {
}
if (vXUser.getDescription() == null) {
- setUserDesc(vXUser);
+ vXUser.setDescription(vXUser.getName());
}
String actualPassword = vXUser.getPassword();
@@ -325,7 +325,7 @@ public class XUserMgr extends XUserMgrBase {
return null;
}
- private VXGroupUser createXGroupUser(Long userId, Long groupId) {
+ protected VXGroupUser createXGroupUser(Long userId, Long groupId) {
VXGroupUser vXGroupUser = new VXGroupUser();
vXGroupUser.setParentGroupId(groupId);
vXGroupUser.setUserId(userId);
@@ -538,8 +538,7 @@ public class XUserMgr extends XUserMgrBase {
List<String> existingRole = daoManager.getXXPortalUserRole()
.findXPortalUserRolebyXPortalUserId(xxPortalUser.getId());
if (xxPortalUser.getUserSource() == RangerCommonEnums.USER_EXTERNAL) {
- vXPortalUser = userManager.updateRoleForExternalUsers(reqRoleList,
- existingRole, vXPortalUser);
+ vXPortalUser = userMgr.updateRoleForExternalUsers(reqRoleList, existingRole, vXPortalUser);
}
vXUser = xUserService.createXUserWithOutLogin(vXUser);
vxUGInfo.setXuserInfo(vXUser);
@@ -603,10 +602,10 @@ public class XUserMgr extends XUserMgrBase {
List<String> existingRole = daoManager.getXXPortalUserRole()
.findXPortalUserRolebyXPortalUserId(
xxPortalUser.getId());
- VXPortalUser vxPortalUser = userManager
+ VXPortalUser vxPortalUser = userMgr
.mapXXPortalUserToVXPortalUserForDefaultAccount(xxPortalUser);
if (xxPortalUser.getUserSource() == RangerCommonEnums.USER_EXTERNAL) {
- vxPortalUser = userManager.updateRoleForExternalUsers(
+ vxPortalUser = userMgr.updateRoleForExternalUsers(
reqRoleList, existingRole, vxPortalUser);
assignPermissionToUser(vxPortalUser, true);
}
@@ -851,11 +850,6 @@ public class XUserMgr extends XUserMgrBase {
return vXUserList;
}
- // FIXME Hack : Unnecessary, to be removed after discussion.
- private void setUserDesc(VXUser vXUser) {
- vXUser.setDescription(vXUser.getName());
- }
-
@Override
public VXGroup updateXGroup(VXGroup vXGroup) {
checkAdminAccess();
@@ -872,7 +866,7 @@ public class XUserMgr extends XUserMgrBase {
return vXGroup;
}
- private void updateXgroupUserForGroupUpdate(VXGroup vXGroup) {
+ protected void updateXgroupUserForGroupUpdate(VXGroup vXGroup) {
List<XXGroupUser> grpUsers = daoManager.getXXGroupUser().findByGroupId(vXGroup.getId());
if(CollectionUtils.isNotEmpty(grpUsers)){
for (XXGroupUser grpUser : grpUsers) {
@@ -1264,10 +1258,8 @@ public class XUserMgr extends XUserMgrBase {
}
public VXPermMapList searchXPermMaps(SearchCriteria searchCriteria) {
-
- VXPermMapList returnList;
+ VXPermMapList returnList = null;
UserSessionBase currentUserSession = ContextUtil.getCurrentUserSession();
- // If user is system admin
if (currentUserSession != null && currentUserSession.isUserAdmin()) {
returnList = super.searchXPermMaps(searchCriteria);
} else {
@@ -1310,13 +1302,12 @@ public class XUserMgr extends XUserMgrBase {
public VXAuditMapList searchXAuditMaps(SearchCriteria searchCriteria) {
- VXAuditMapList returnList;
+ VXAuditMapList returnList=new VXAuditMapList();
UserSessionBase currentUserSession = ContextUtil.getCurrentUserSession();
// If user is system admin
if (currentUserSession != null && currentUserSession.isUserAdmin()) {
returnList = super.searchXAuditMaps(searchCriteria);
} else {
- returnList = new VXAuditMapList();
int startIndex = searchCriteria.getStartIndex();
int pageSize = searchCriteria.getMaxRows();
searchCriteria.setStartIndex(0);
@@ -2255,7 +2246,7 @@ public class XUserMgr extends XUserMgrBase {
}
return createdXUser;
}
- private void validatePassword(VXUser vXUser) {
+ protected void validatePassword(VXUser vXUser) {
if (vXUser.getPassword() != null && !vXUser.getPassword().isEmpty()) {
boolean checkPassword = false;
String pattern = "(?=.*[0-9])(?=.*[a-zA-Z]).{8,}";
http://git-wip-us.apache.org/repos/asf/ranger/blob/34499290/security-admin/src/test/java/org/apache/ranger/biz/TestUserMgr.java
----------------------------------------------------------------------
diff --git a/security-admin/src/test/java/org/apache/ranger/biz/TestUserMgr.java b/security-admin/src/test/java/org/apache/ranger/biz/TestUserMgr.java
index 10453a5..202a113 100644
--- a/security-admin/src/test/java/org/apache/ranger/biz/TestUserMgr.java
+++ b/security-admin/src/test/java/org/apache/ranger/biz/TestUserMgr.java
@@ -23,11 +23,11 @@ import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;
-import javax.ws.rs.WebApplicationException;
-
+import org.apache.ranger.common.AppConstants;
import org.apache.ranger.common.ContextUtil;
-import org.apache.ranger.common.MessageEnums;
import org.apache.ranger.common.RESTErrorUtil;
+import org.apache.ranger.common.RangerCommonEnums;
+import org.apache.ranger.common.RangerConstants;
import org.apache.ranger.common.SearchCriteria;
import org.apache.ranger.common.SearchUtil;
import org.apache.ranger.common.StringUtil;
@@ -37,15 +37,19 @@ import org.apache.ranger.db.XXGroupPermissionDao;
import org.apache.ranger.db.XXModuleDefDao;
import org.apache.ranger.db.XXPortalUserDao;
import org.apache.ranger.db.XXPortalUserRoleDao;
+import org.apache.ranger.db.XXUserDao;
import org.apache.ranger.db.XXUserPermissionDao;
import org.apache.ranger.entity.XXGroupPermission;
import org.apache.ranger.entity.XXModuleDef;
import org.apache.ranger.entity.XXPortalUser;
import org.apache.ranger.entity.XXPortalUserRole;
+import org.apache.ranger.entity.XXTrxLog;
+import org.apache.ranger.entity.XXUser;
import org.apache.ranger.entity.XXUserPermission;
import org.apache.ranger.security.context.RangerContextHolder;
import org.apache.ranger.security.context.RangerSecurityContext;
import org.apache.ranger.service.XGroupPermissionService;
+import org.apache.ranger.service.XPortalUserService;
import org.apache.ranger.service.XUserPermissionService;
import org.apache.ranger.view.VXGroupPermission;
import org.apache.ranger.view.VXPasswordChange;
@@ -54,6 +58,7 @@ import org.apache.ranger.view.VXPortalUserList;
import org.apache.ranger.view.VXResponse;
import org.apache.ranger.view.VXString;
import org.apache.ranger.view.VXUserPermission;
+import org.junit.After;
import org.junit.Assert;
import org.junit.FixMethodOrder;
import org.junit.Rule;
@@ -71,6 +76,7 @@ import org.mockito.junit.MockitoJUnitRunner;
public class TestUserMgr {
private static Long userId = 1L;
+ private static String userLoginID = "testuser";
@InjectMocks
UserMgr userMgr = new UserMgr();
@@ -94,7 +100,7 @@ public class TestUserMgr {
SearchUtil searchUtil;
@Mock
- RangerBizUtil rangerBizUtil;
+ RangerBizUtil rangerBizUtil;
@Mock
XUserPermissionService xUserPermissionService;
@@ -108,6 +114,9 @@ public class TestUserMgr {
@Mock
XUserMgr xUserMgr;
+ @Mock
+ XPortalUserService xPortalUserService;
+
@Rule
public ExpectedException thrown = ExpectedException.none();
@@ -115,8 +124,7 @@ public class TestUserMgr {
RangerSecurityContext context = new RangerSecurityContext();
context.setUserSession(new UserSessionBase());
RangerContextHolder.setSecurityContext(context);
- UserSessionBase currentUserSession = ContextUtil
- .getCurrentUserSession();
+ UserSessionBase currentUserSession = ContextUtil.getCurrentUserSession();
currentUserSession.setUserAdmin(true);
}
@@ -148,16 +156,48 @@ public class TestUserMgr {
userProfile.setEmailAddress("test@test.com");
userProfile.setFirstName("user12");
userProfile.setLastName("test12");
- userProfile.setLoginId("134");
+ userProfile.setLoginId(userLoginID);
userProfile.setPassword("usertest12323");
- userProfile.setUserSource(123);
- userProfile.setPublicScreenName("user");
+ userProfile.setUserSource(1);
+ userProfile.setPublicScreenName("testuser");
userProfile.setId(userId);
return userProfile;
}
+ private XXPortalUser xxPortalUser(VXPortalUser userProfile) {
+ XXPortalUser xxPortalUser = new XXPortalUser();
+ xxPortalUser.setEmailAddress(userProfile.getEmailAddress());
+ xxPortalUser.setFirstName(userProfile.getFirstName());
+ xxPortalUser.setLastName(userProfile.getLastName());
+ xxPortalUser.setLoginId(userProfile.getLoginId());
+ xxPortalUser.setPassword(userProfile.getPassword());
+ xxPortalUser.setUserSource(userProfile.getUserSource());
+ xxPortalUser.setPublicScreenName(userProfile.getPublicScreenName());
+ return xxPortalUser;
+ }
+
+ public void setupRangerUserSyncUser() {
+ RangerSecurityContext context = new RangerSecurityContext();
+ context.setUserSession(new UserSessionBase());
+ RangerContextHolder.setSecurityContext(context);
+ UserSessionBase currentUserSession = ContextUtil.getCurrentUserSession();
+ XXPortalUser user = new XXPortalUser();
+ user.setId(1L);
+ user.setLoginId("rangerusersync");
+ user.setEmailAddress("test@test.com");
+ currentUserSession.setXXPortalUser(user);
+ currentUserSession.setUserAdmin(true);
+ }
+
+ @After
+ public void destroySession() {
+ RangerSecurityContext context = new RangerSecurityContext();
+ context.setUserSession(null);
+ RangerContextHolder.setSecurityContext(context);
+ }
+
@Test
- public void test11CreateUser() {
+ public void test01CreateUser() {
setup();
XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
XXPortalUserRoleDao roleDao = Mockito.mock(XXPortalUserRoleDao.class);
@@ -184,41 +224,36 @@ public class TestUserMgr {
list.add(XXPortalUserRole);
Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
- Mockito.when(userDao.create((XXPortalUser) Mockito.any()))
- .thenReturn(user);
+ Mockito.when(userDao.create((XXPortalUser) Mockito.any())).thenReturn(user);
Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(roleDao);
Mockito.when(roleDao.findByUserId(userId)).thenReturn(list);
- Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
- XXPortalUser dbxxPortalUser = userMgr.createUser(userProfile, 1,
- userRoleList);
+ Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
+ XXPortalUser dbxxPortalUser = userMgr.createUser(userProfile, 1,userRoleList);
Assert.assertNotNull(dbxxPortalUser);
userId = dbxxPortalUser.getId();
Assert.assertEquals(userId, dbxxPortalUser.getId());
- Assert.assertEquals(userProfile.getFirstName(),
- dbxxPortalUser.getFirstName());
- Assert.assertEquals(userProfile.getFirstName(),
- dbxxPortalUser.getFirstName());
- Assert.assertEquals(userProfile.getLastName(),
- dbxxPortalUser.getLastName());
- Assert.assertEquals(userProfile.getLoginId(),
- dbxxPortalUser.getLoginId());
- Assert.assertEquals(userProfile.getEmailAddress(),
- dbxxPortalUser.getEmailAddress());
- Assert.assertEquals(userProfile.getPassword(),
- dbxxPortalUser.getPassword());
+ Assert.assertEquals(userProfile.getFirstName(),dbxxPortalUser.getFirstName());
+ Assert.assertEquals(userProfile.getFirstName(),dbxxPortalUser.getFirstName());
+ Assert.assertEquals(userProfile.getLastName(),dbxxPortalUser.getLastName());
+ Assert.assertEquals(userProfile.getLoginId(),dbxxPortalUser.getLoginId());
+ Assert.assertEquals(userProfile.getEmailAddress(),dbxxPortalUser.getEmailAddress());
+ Assert.assertEquals(userProfile.getPassword(),dbxxPortalUser.getPassword());
Mockito.verify(daoManager).getXXPortalUser();
Mockito.verify(daoManager).getXXPortalUserRole();
}
@Test
- public void test12CreateUser() {
+ public void test02CreateUser() {
setup();
XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
XXPortalUserRoleDao roleDao = Mockito.mock(XXPortalUserRoleDao.class);
VXPortalUser userProfile = userProfile();
+ Collection<String> userRoleList = new ArrayList<String>();
+ userRoleList.add("ROLE_USER");
+ userProfile.setUserRoleList(userRoleList);
XXPortalUser user = new XXPortalUser();
user.setEmailAddress(userProfile.getEmailAddress());
@@ -237,35 +272,28 @@ public class TestUserMgr {
list.add(XXPortalUserRole);
Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
- Mockito.when(userDao.create((XXPortalUser) Mockito.any()))
- .thenReturn(user);
+ Mockito.when(userDao.create((XXPortalUser) Mockito.any())).thenReturn(user);
Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(roleDao);
Mockito.when(roleDao.findByUserId(userId)).thenReturn(list);
- Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
+ Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
XXPortalUser dbxxPortalUser = userMgr.createUser(userProfile, 1);
userId = dbxxPortalUser.getId();
Assert.assertNotNull(dbxxPortalUser);
Assert.assertEquals(userId, dbxxPortalUser.getId());
- Assert.assertEquals(userProfile.getFirstName(),
- dbxxPortalUser.getFirstName());
- Assert.assertEquals(userProfile.getFirstName(),
- dbxxPortalUser.getFirstName());
- Assert.assertEquals(userProfile.getLastName(),
- dbxxPortalUser.getLastName());
- Assert.assertEquals(userProfile.getLoginId(),
- dbxxPortalUser.getLoginId());
- Assert.assertEquals(userProfile.getEmailAddress(),
- dbxxPortalUser.getEmailAddress());
- Assert.assertEquals(userProfile.getPassword(),
- dbxxPortalUser.getPassword());
+ Assert.assertEquals(userProfile.getFirstName(),dbxxPortalUser.getFirstName());
+ Assert.assertEquals(userProfile.getFirstName(),dbxxPortalUser.getFirstName());
+ Assert.assertEquals(userProfile.getLastName(),dbxxPortalUser.getLastName());
+ Assert.assertEquals(userProfile.getLoginId(),dbxxPortalUser.getLoginId());
+ Assert.assertEquals(userProfile.getEmailAddress(),dbxxPortalUser.getEmailAddress());
+ Assert.assertEquals(userProfile.getPassword(),dbxxPortalUser.getPassword());
Mockito.verify(daoManager).getXXPortalUser();
Mockito.verify(daoManager).getXXPortalUserRole();
}
@Test
- public void test13ChangePasswordAsAdmin() {
+ public void test03ChangePasswordAsAdmin() {
setup();
XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
VXPortalUser userProfile = userProfile();
@@ -281,26 +309,20 @@ public class TestUserMgr {
Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
Mockito.when(userDao.findByLoginId(Mockito.nullable(String.class))).thenReturn(user);
- Mockito.when(
- stringUtil.equals(Mockito.anyString(), Mockito.nullable(String.class)))
- .thenReturn(true);
+ Mockito.when(stringUtil.equals(Mockito.anyString(), Mockito.nullable(String.class))).thenReturn(true);
Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
- Mockito.when(
- stringUtil.validatePassword(Mockito.anyString(), Mockito.any(String[].class))).thenReturn(true);
+ Mockito.when(stringUtil.validatePassword(Mockito.anyString(), Mockito.any(String[].class))).thenReturn(true);
VXResponse dbVXResponse = userMgr.changePassword(pwdChange);
Assert.assertNotNull(dbVXResponse);
- Assert.assertEquals(userProfile.getStatus(),
- dbVXResponse.getStatusCode());
+ Assert.assertEquals(userProfile.getStatus(),dbVXResponse.getStatusCode());
- Mockito.verify(stringUtil).equals(Mockito.anyString(),
- Mockito.nullable(String.class));
- Mockito.verify(stringUtil).validatePassword(Mockito.anyString(),
- Mockito.any(String[].class));
+ Mockito.verify(stringUtil).equals(Mockito.anyString(),Mockito.nullable(String.class));
+ Mockito.verify(stringUtil).validatePassword(Mockito.anyString(),Mockito.any(String[].class));
}
@Test
- public void test14ChangePasswordAsKeyAdmin() {
+ public void test04ChangePasswordAsKeyAdmin() {
setupKeyAdmin();
XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
VXPortalUser userProfile = userProfile();
@@ -330,7 +352,7 @@ public class TestUserMgr {
}
@Test
- public void test15ChangePasswordAsUser() {
+ public void test05ChangePasswordAsUser() {
setupUser();
XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
VXPortalUser userProfile = userProfile();
@@ -360,7 +382,7 @@ public class TestUserMgr {
}
@Test
- public void test16ChangeEmailAddressAsAdmin() {
+ public void test06ChangeEmailAddressAsAdmin() {
setup();
XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
XXPortalUserRoleDao roleDao = Mockito.mock(XXPortalUserRoleDao.class);
@@ -448,21 +470,22 @@ public class TestUserMgr {
Mockito.when(xUserPermissionService.populateViewBean(xUserPermissionObj)).thenReturn(userPermission);
Mockito.when(daoManager.getXXModuleDef()).thenReturn(xModuleDefDao);
Mockito.when(xModuleDefDao.findByModuleId(Mockito.anyLong())).thenReturn(xModuleDef);
- Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
- VXPortalUser dbVXPortalUser = userMgr.changeEmailAddress(user,
- changeEmail);
+ Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
+ VXPortalUser dbVXPortalUser = userMgr.changeEmailAddress(user,changeEmail);
Assert.assertNotNull(dbVXPortalUser);
Assert.assertEquals(userId, dbVXPortalUser.getId());
- Assert.assertEquals(userProfile.getLastName(),
- dbVXPortalUser.getLastName());
- Assert.assertEquals(changeEmail.getLoginId(),
- dbVXPortalUser.getLoginId());
- Assert.assertEquals(changeEmail.getEmailAddress(),
- dbVXPortalUser.getEmailAddress());
+ Assert.assertEquals(userProfile.getLastName(),dbVXPortalUser.getLastName());
+ Assert.assertEquals(changeEmail.getLoginId(),dbVXPortalUser.getLoginId());
+ Assert.assertEquals(changeEmail.getEmailAddress(),dbVXPortalUser.getEmailAddress());
+ user.setUserSource(RangerCommonEnums.USER_APP);
+ dbVXPortalUser = userMgr.changeEmailAddress(user,changeEmail);
+ user.setUserSource(RangerCommonEnums.USER_EXTERNAL);
+ changeEmail.setEmailAddress("");
+ dbVXPortalUser = userMgr.changeEmailAddress(user,changeEmail);
}
@Test
- public void test17ChangeEmailAddressAsKeyAdmin() {
+ public void test07ChangeEmailAddressAsKeyAdmin() {
setupKeyAdmin();
XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
XXPortalUserRoleDao roleDao = Mockito.mock(XXPortalUserRoleDao.class);
@@ -549,7 +572,7 @@ public class TestUserMgr {
Mockito.when(xUserPermissionService.populateViewBean(xUserPermissionObj)).thenReturn(userPermission);
Mockito.when(daoManager.getXXModuleDef()).thenReturn(xModuleDefDao);
Mockito.when(xModuleDefDao.findByModuleId(Mockito.anyLong())).thenReturn(xModuleDef);
- Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
+ Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
VXPortalUser dbVXPortalUser = userMgr.changeEmailAddress(userKeyAdmin,changeEmail);
Assert.assertNotNull(dbVXPortalUser);
Assert.assertEquals(userId, dbVXPortalUser.getId());
@@ -560,7 +583,7 @@ public class TestUserMgr {
@Test
- public void test18ChangeEmailAddressAsUser() {
+ public void test08ChangeEmailAddressAsUser() {
setupUser();
XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
XXPortalUserRoleDao roleDao = Mockito.mock(XXPortalUserRoleDao.class);
@@ -647,7 +670,7 @@ public class TestUserMgr {
Mockito.when(xUserPermissionService.populateViewBean(xUserPermissionObj)).thenReturn(userPermission);
Mockito.when(daoManager.getXXModuleDef()).thenReturn(xModuleDefDao);
Mockito.when(xModuleDefDao.findByModuleId(Mockito.anyLong())).thenReturn(xModuleDef);
- Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
+ Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
VXPortalUser dbVXPortalUser = userMgr.changeEmailAddress(user,changeEmail);
Assert.assertNotNull(dbVXPortalUser);
Assert.assertEquals(userId, dbVXPortalUser.getId());
@@ -657,14 +680,12 @@ public class TestUserMgr {
}
@Test
- public void test21CreateUser() {
+ public void test09CreateUser() {
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);
+ XXUserPermissionDao xUserPermissionDao = Mockito.mock(XXUserPermissionDao.class);
+ XXGroupPermissionDao xGroupPermissionDao = Mockito.mock(XXGroupPermissionDao.class);
XXPortalUser user = new XXPortalUser();
VXPortalUser userProfile = userProfile();
@@ -700,25 +721,20 @@ public class TestUserMgr {
xGroupPermissionList.add(xGroupPermissionObj);
Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
- Mockito.when(userDao.create((XXPortalUser) Mockito.any()))
- .thenReturn(user);
+ Mockito.when(userDao.create((XXPortalUser) Mockito.any())).thenReturn(user);
Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(roleDao);
- Mockito.when(daoManager.getXXUserPermission()).thenReturn(
- xUserPermissionDao);
+ Mockito.when(daoManager.getXXUserPermission()).thenReturn(xUserPermissionDao);
- Mockito.when(daoManager.getXXGroupPermission()).thenReturn(
- xGroupPermissionDao);
- Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
+ Mockito.when(daoManager.getXXGroupPermission()).thenReturn(xGroupPermissionDao);
+ Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
VXPortalUser dbVXPortalUser = userMgr.createUser(userProfile);
Assert.assertNotNull(dbVXPortalUser);
Assert.assertEquals(user.getId(), dbVXPortalUser.getId());
Assert.assertEquals(user.getFirstName(), dbVXPortalUser.getFirstName());
- Assert.assertEquals(user.getFirstName(), dbVXPortalUser.getFirstName());
Assert.assertEquals(user.getLastName(), dbVXPortalUser.getLastName());
Assert.assertEquals(user.getLoginId(), dbVXPortalUser.getLoginId());
- Assert.assertEquals(user.getEmailAddress(),
- dbVXPortalUser.getEmailAddress());
+ Assert.assertEquals(user.getEmailAddress(),dbVXPortalUser.getEmailAddress());
Assert.assertEquals(user.getPassword(), dbVXPortalUser.getPassword());
Mockito.verify(daoManager).getXXPortalUser();
@@ -727,13 +743,16 @@ public class TestUserMgr {
}
@Test
- public void test22CreateDefaultAccountUser() {
+ public void test10CreateDefaultAccountUser() {
setup();
XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
XXPortalUserRoleDao roleDao = Mockito.mock(XXPortalUserRoleDao.class);
VXPortalUser userProfile = userProfile();
+ Collection<String> userRoleList = new ArrayList<String>();
+ userRoleList.add("ROLE_USER");
+ userProfile.setUserRoleList(userRoleList);
XXPortalUser user = new XXPortalUser();
-
+ user.setEmailAddress(userProfile.getEmailAddress());
XXPortalUserRole XXPortalUserRole = new XXPortalUserRole();
XXPortalUserRole.setId(userId);
XXPortalUserRole.setUserRole("ROLE_USER");
@@ -742,30 +761,72 @@ public class TestUserMgr {
list.add(XXPortalUserRole);
Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
- Mockito.when(userDao.findByLoginId(Mockito.anyString())).thenReturn(
- user);
+ Mockito.when(userDao.findByLoginId(Mockito.anyString())).thenReturn(user);
Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(roleDao);
- Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
- VXPortalUser dbVXPortalUser = userMgr
- .createDefaultAccountUser(userProfile);
+ Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
+ VXPortalUser dbVXPortalUser = userMgr.createDefaultAccountUser(userProfile);
Assert.assertNotNull(dbVXPortalUser);
Assert.assertEquals(user.getId(), dbVXPortalUser.getId());
Assert.assertEquals(user.getFirstName(), dbVXPortalUser.getFirstName());
- Assert.assertEquals(user.getFirstName(), dbVXPortalUser.getFirstName());
Assert.assertEquals(user.getLastName(), dbVXPortalUser.getLastName());
Assert.assertEquals(user.getLoginId(), dbVXPortalUser.getLoginId());
- Assert.assertEquals(user.getEmailAddress(),
- dbVXPortalUser.getEmailAddress());
+ Assert.assertEquals(user.getEmailAddress(),dbVXPortalUser.getEmailAddress());
Assert.assertEquals(user.getPassword(), dbVXPortalUser.getPassword());
-
- Mockito.verify(daoManager, Mockito.atLeast(1)).getXXPortalUser();
- Mockito.verify(daoManager, Mockito.atLeast(1)).getXXPortalUserRole();
+ Mockito.verify(daoManager, Mockito.atLeast(1)).getXXPortalUser();
+ Mockito.verify(daoManager, Mockito.atLeast(1)).getXXPortalUserRole();
}
@Test
- public void test23IsUserInRole() {
+ public void test11CreateDefaultAccountUser() {
+ setup();
+ XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
XXPortalUserRoleDao roleDao = Mockito.mock(XXPortalUserRoleDao.class);
+ VXPortalUser userProfile = userProfile();
+ userProfile.setStatus(RangerCommonEnums.USER_EXTERNAL);
+ Collection<String> userRoleList = new ArrayList<String>();
+ userRoleList.add("ROLE_USER");
+ userProfile.setUserRoleList(userRoleList);
+ XXPortalUser user = new XXPortalUser();
+ user.setEmailAddress(userProfile.getEmailAddress());
+ user.setUserSource(RangerCommonEnums.USER_EXTERNAL);
+ 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.findByLoginId(Mockito.anyString())).thenReturn(null);
+ Mockito.when(userDao.findByEmailAddress(Mockito.anyString())).thenReturn(null);
+ Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(roleDao);
+ Mockito.when(userDao.create((XXPortalUser) Mockito.any())).thenReturn(user);
+ Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
+ VXPortalUser dbVXPortalUser = userMgr.createDefaultAccountUser(userProfile);
+ 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());
+ Assert.assertEquals(user.getEmailAddress(),dbVXPortalUser.getEmailAddress());
+ Assert.assertEquals(user.getPassword(), dbVXPortalUser.getPassword());
+ Mockito.verify(daoManager, Mockito.atLeast(1)).getXXPortalUser();
+ Mockito.verify(daoManager, Mockito.atLeast(1)).getXXPortalUserRole();
+ }
+
+ @Test
+ public void test12CreateDefaultAccountUser() {
+ setup();
+ XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
+ XXPortalUserRoleDao roleDao = Mockito.mock(XXPortalUserRoleDao.class);
+ VXPortalUser userProfile = userProfile();
+ userProfile.setStatus(RangerCommonEnums.USER_EXTERNAL);
+ Collection<String> userRoleList = new ArrayList<String>();
+ userRoleList.add("ROLE_USER");
+ userProfile.setUserRoleList(userRoleList);
+ XXPortalUser xxPortalUser = new XXPortalUser();
+ xxPortalUser.setEmailAddress(userProfile.getEmailAddress());
+ xxPortalUser.setUserSource(RangerCommonEnums.USER_EXTERNAL);
XXPortalUserRole XXPortalUserRole = new XXPortalUserRole();
XXPortalUserRole.setId(userId);
XXPortalUserRole.setUserRole("ROLE_USER");
@@ -773,57 +834,76 @@ public class TestUserMgr {
List<XXPortalUserRole> list = new ArrayList<XXPortalUserRole>();
list.add(XXPortalUserRole);
+ Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
+ Mockito.when(userDao.findByLoginId(Mockito.anyString())).thenReturn(xxPortalUser);
Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(roleDao);
- Mockito.when(roleDao.findByRoleUserId(userId, "ROLE_USER")).thenReturn(
- XXPortalUserRole);
+ Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
+ userProfile.setPassword("");
+ userProfile.setEmailAddress(null);
+ VXPortalUser dbVXPortalUser = userMgr.createDefaultAccountUser(userProfile);
+ Assert.assertNotNull(dbVXPortalUser);
+ Assert.assertEquals(xxPortalUser.getId(), dbVXPortalUser.getId());
+ Assert.assertEquals(xxPortalUser.getFirstName(), dbVXPortalUser.getFirstName());
+ Assert.assertEquals(xxPortalUser.getLastName(), dbVXPortalUser.getLastName());
+ Assert.assertEquals(xxPortalUser.getLoginId(), dbVXPortalUser.getLoginId());
+ Assert.assertEquals(xxPortalUser.getEmailAddress(),dbVXPortalUser.getEmailAddress());
+ Assert.assertEquals(xxPortalUser.getPassword(), dbVXPortalUser.getPassword());
+ Mockito.verify(daoManager, Mockito.atLeast(1)).getXXPortalUser();
+ Mockito.verify(daoManager, Mockito.atLeast(1)).getXXPortalUserRole();
+ }
+ @Test
+ public void test13IsUserInRole() {
+ XXPortalUserRoleDao roleDao = Mockito.mock(XXPortalUserRoleDao.class);
+ XXPortalUserRole XXPortalUserRole = new XXPortalUserRole();
+ XXPortalUserRole.setId(userId);
+ XXPortalUserRole.setUserRole("ROLE_USER");
+ List<XXPortalUserRole> list = new ArrayList<XXPortalUserRole>();
+ list.add(XXPortalUserRole);
+ Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(roleDao);
+ Mockito.when(roleDao.findByRoleUserId(userId, "ROLE_USER")).thenReturn(XXPortalUserRole);
boolean isValue = userMgr.isUserInRole(userId, "ROLE_USER");
Assert.assertTrue(isValue);
-
- Mockito.verify(daoManager).getXXPortalUserRole();
+ Mockito.when(roleDao.findByRoleUserId(userId, "ROLE_USER")).thenReturn(null);
+ isValue = userMgr.isUserInRole(userId, "ROLE_USER");
+ Assert.assertFalse(isValue);
}
@Test
- public void test24UpdateUserWithPass() {
+ public void test14UpdateUserWithPass() {
setup();
XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
-
VXPortalUser userProfile = userProfile();
+ userProfile.setPassword("password1234");
XXPortalUser user = new XXPortalUser();
-
+ user.setId(userProfile.getId());
+ user.setLoginId(userProfile.getLoginId());
+ user.setEmailAddress(userProfile.getEmailAddress());
+ user.setLoginId(userProfile.getLoginId());
+ String encryptedPwd = userMgr.encrypt(userProfile.getLoginId(),userProfile.getPassword());
+ user.setPassword(encryptedPwd);
Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
Mockito.when(userDao.getById(userProfile.getId())).thenReturn(user);
-
- Mockito.when(
- restErrorUtil.createRESTException(
- "Please provide valid email address.",
- MessageEnums.INVALID_INPUT_DATA)).thenThrow(
- new WebApplicationException());
- thrown.expect(WebApplicationException.class);
- Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
+ Mockito.when(stringUtil.validateEmail(Mockito.anyString())).thenReturn(true);
+ Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
+ Mockito.when(stringUtil.validatePassword(Mockito.anyString(), Mockito.any(String[].class))).thenReturn(true);
+ Mockito.when(userDao.update(user)).thenReturn(user);
XXPortalUser dbXXPortalUser = userMgr.updateUserWithPass(userProfile);
Assert.assertNotNull(dbXXPortalUser);
Assert.assertEquals(userId, dbXXPortalUser.getId());
- Assert.assertEquals(userProfile.getFirstName(),
- dbXXPortalUser.getFirstName());
- Assert.assertEquals(userProfile.getFirstName(),
- dbXXPortalUser.getFirstName());
- Assert.assertEquals(userProfile.getLastName(),
- dbXXPortalUser.getLastName());
- Assert.assertEquals(userProfile.getLoginId(),
- dbXXPortalUser.getLoginId());
- Assert.assertEquals(userProfile.getEmailAddress(),
- dbXXPortalUser.getEmailAddress());
- Assert.assertEquals(userProfile.getPassword(),
- dbXXPortalUser.getPassword());
-
- Mockito.verify(restErrorUtil).createRESTException(
- "Please provide valid email address.",
- MessageEnums.INVALID_INPUT_DATA);
+ Assert.assertEquals(userProfile.getFirstName(),dbXXPortalUser.getFirstName());
+ Assert.assertEquals(userProfile.getFirstName(),dbXXPortalUser.getFirstName());
+ Assert.assertEquals(userProfile.getLastName(),dbXXPortalUser.getLastName());
+ Assert.assertEquals(userProfile.getLoginId(),dbXXPortalUser.getLoginId());
+ Assert.assertEquals(userProfile.getEmailAddress(),dbXXPortalUser.getEmailAddress());
+ Assert.assertEquals(encryptedPwd, dbXXPortalUser.getPassword());
+ Mockito.when(userDao.getById(userProfile.getId())).thenReturn(null);
+ dbXXPortalUser = userMgr.updateUserWithPass(userProfile);
+ Assert.assertNull(dbXXPortalUser);
}
@Test
- public void test25searchUsers() {
+ public void test15searchUsers() {
Query query = Mockito.mock(Query.class);
EntityManager entityManager = Mockito.mock(EntityManager.class);
SearchCriteria searchCriteria = new SearchCriteria();
@@ -833,27 +913,44 @@ public class TestUserMgr {
searchCriteria.setMaxRows(12);
searchCriteria.setOwnerId(userId);
searchCriteria.setStartIndex(1);
- searchCriteria.setSortBy("asc");
+ searchCriteria.setSortBy("userId");
+ searchCriteria.setSortType("asc");
Long count = 1l;
Mockito.when(daoManager.getEntityManager()).thenReturn(entityManager);
- Mockito.when(entityManager.createQuery(Mockito.anyString()))
- .thenReturn(query);
+ Mockito.when(entityManager.createQuery(Mockito.anyString())).thenReturn(query);
Mockito.when(query.getSingleResult()).thenReturn(count);
- VXPortalUserList dbVXPortalUserList = userMgr
- .searchUsers(searchCriteria);
-
+ VXPortalUserList dbVXPortalUserList = userMgr.searchUsers(searchCriteria);
+ Assert.assertNotNull(dbVXPortalUserList);
+ searchCriteria.setSortBy("loginId");
+ dbVXPortalUserList = userMgr.searchUsers(searchCriteria);
+ Assert.assertNotNull(dbVXPortalUserList);
+ searchCriteria.setSortBy("emailAddress");
+ dbVXPortalUserList = userMgr.searchUsers(searchCriteria);
+ Assert.assertNotNull(dbVXPortalUserList);
+ searchCriteria.setSortBy("firstName");
+ dbVXPortalUserList = userMgr.searchUsers(searchCriteria);
+ Assert.assertNotNull(dbVXPortalUserList);
+ searchCriteria.setSortBy("lastName");
+ dbVXPortalUserList = userMgr.searchUsers(searchCriteria);
+ Assert.assertNotNull(dbVXPortalUserList);
+ searchCriteria.setSortBy("source");
+ searchCriteria.setSortType("");
+ dbVXPortalUserList = userMgr.searchUsers(searchCriteria);
+ Assert.assertNotNull(dbVXPortalUserList);
+ searchCriteria.setSortBy("");
+ searchCriteria.setSortType("desc");
+ dbVXPortalUserList = userMgr.searchUsers(searchCriteria);
Assert.assertNotNull(dbVXPortalUserList);
- Mockito.verify(query).getSingleResult();
}
@Test
- public void test26FindByEmailAddress() {
+ public void test16FindByEmailAddress() {
XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
XXPortalUser user = new XXPortalUser();
- String emailId = "jeet786sonkar@gmail.com";
+ String emailId = "test001user@apache.org";
Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
Mockito.when(userDao.findByEmailAddress(emailId)).thenReturn(user);
@@ -865,7 +962,7 @@ public class TestUserMgr {
}
@Test
- public void test27GetRolesForUser() {
+ public void test17GetRolesForUser() {
XXPortalUserRoleDao roleDao = Mockito.mock(XXPortalUserRoleDao.class);
VXPortalUser userProfile = userProfile();
@@ -895,7 +992,7 @@ public class TestUserMgr {
}
@Test
- public void test28DeleteUserRole() {
+ public void test18DeleteUserRole() {
setup();
XXPortalUserRoleDao roleDao = Mockito.mock(XXPortalUserRoleDao.class);
@@ -909,26 +1006,22 @@ public class TestUserMgr {
Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(roleDao);
Mockito.when(roleDao.findByUserId(userId)).thenReturn(list);
-
+
boolean deleteValue = userMgr.deleteUserRole(userId, userRole);
Assert.assertTrue(deleteValue);
}
@Test
- public void test29DeactivateUser() {
+ 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);
+ 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);
+ VXUserPermission vXUserPermission = Mockito.mock(VXUserPermission.class);
VXPortalUser userProfile = userProfile();
@@ -976,75 +1069,56 @@ public class TestUserMgr {
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(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(user);
+ 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.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);
+ Mockito.verify(xUserPermissionService).populateViewBean(xUserPermissionObj);
+ Mockito.verify(xGroupPermissionService).populateViewBean(xGroupPermissionObj);
}
@Test
- public void test30checkAccess() {
+ public void test20checkAccess() {
setup();
XXPortalUserDao xPortalUserDao = Mockito.mock(XXPortalUserDao.class);
XXPortalUser xPortalUser = Mockito.mock(XXPortalUser.class);
Mockito.when(daoManager.getXXPortalUser()).thenReturn(xPortalUserDao);
Mockito.when(xPortalUserDao.getById(userId)).thenReturn(xPortalUser);
-
userMgr.checkAccess(userId);
- Mockito.verify(daoManager).getXXPortalUser();
}
@Test
- public void test31getUserProfile() {
+ public void test21getUserProfile() {
setup();
XXPortalUserDao xPortalUserDao = Mockito.mock(XXPortalUserDao.class);
XXPortalUser xPortalUser = Mockito.mock(XXPortalUser.class);
- XXUserPermissionDao xUserPermissionDao = Mockito
- .mock(XXUserPermissionDao.class);
- XXGroupPermissionDao xGroupPermissionDao = Mockito
- .mock(XXGroupPermissionDao.class);
+ XXUserPermissionDao xUserPermissionDao = Mockito.mock(XXUserPermissionDao.class);
+ XXGroupPermissionDao xGroupPermissionDao = Mockito.mock(XXGroupPermissionDao.class);
- XXPortalUserRoleDao xPortalUserRoleDao = Mockito
- .mock(XXPortalUserRoleDao.class);
+ XXPortalUserRoleDao xPortalUserRoleDao = Mockito.mock(XXPortalUserRoleDao.class);
List<XXPortalUserRole> xPortalUserRoleList = new ArrayList<XXPortalUserRole>();
XXPortalUserRole XXPortalUserRole = new XXPortalUserRole();
@@ -1077,45 +1151,62 @@ public class TestUserMgr {
xGroupPermissionList.add(xGroupPermissionObj);
Mockito.when(daoManager.getXXPortalUser()).thenReturn(xPortalUserDao);
- Mockito.when(xPortalUserDao.getById(userId)).thenReturn(xPortalUser);
- Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(
- xPortalUserRoleDao);
- Mockito.when(daoManager.getXXUserPermission()).thenReturn(
- xUserPermissionDao);
+ Mockito.when(xPortalUserDao.getById(userId)).thenReturn(null);
+ Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(xPortalUserRoleDao);
+ Mockito.when(daoManager.getXXUserPermission()).thenReturn(xUserPermissionDao);
- Mockito.when(daoManager.getXXGroupPermission()).thenReturn(
- xGroupPermissionDao);
+ Mockito.when(daoManager.getXXGroupPermission()).thenReturn(xGroupPermissionDao);
VXPortalUser dbVXPortalUser = userMgr.getUserProfile(userId);
+ Mockito.when(xPortalUserDao.getById(userId)).thenReturn(xPortalUser);
+ dbVXPortalUser = userMgr.getUserProfile(userId);
Assert.assertNotNull(dbVXPortalUser);
-
- Mockito.verify(daoManager).getXXPortalUser();
- Mockito.verify(daoManager).getXXUserPermission();
- Mockito.verify(daoManager).getXXUserPermission();
- Mockito.verify(daoManager).getXXGroupPermission();
}
@Test
- public void test32getUserProfileByLoginId() {
+ public void test22getUserProfileByLoginId() {
setup();
XXPortalUserDao xPortalUserDao = Mockito.mock(XXPortalUserDao.class);
Mockito.when(daoManager.getXXPortalUser()).thenReturn(xPortalUserDao);
-
+ 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());
VXPortalUser dbVXPortalUser = userMgr.getUserProfileByLoginId();
- Assert.assertNull(dbVXPortalUser);
-
- Mockito.verify(daoManager).getXXPortalUser();
+ Mockito.when(xPortalUserDao.findByLoginId(Mockito.anyString())).thenReturn(user);
+ XXPortalUserRoleDao xPortalUserRoleDao = Mockito.mock(XXPortalUserRoleDao.class);
+ Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(xPortalUserRoleDao);
+ List<XXPortalUserRole> xPortalUserRoleList = new ArrayList<XXPortalUserRole>();
+ XXPortalUserRole XXPortalUserRole = new XXPortalUserRole();
+ XXPortalUserRole.setId(userId);
+ XXPortalUserRole.setUserId(userId);
+ XXPortalUserRole.setUserRole("ROLE_USER");
+ xPortalUserRoleList.add(XXPortalUserRole);
+ Mockito.when(xPortalUserRoleDao.findByParentId(Mockito.anyLong())).thenReturn(xPortalUserRoleList);
+ XXUserPermissionDao xUserPermissionDao = Mockito.mock(XXUserPermissionDao.class);
+ XXGroupPermissionDao xGroupPermissionDao = Mockito.mock(XXGroupPermissionDao.class);
+ Mockito.when(daoManager.getXXUserPermission()).thenReturn(xUserPermissionDao);
+ List<XXUserPermission> xUserPermissionsList = new ArrayList<XXUserPermission>();
+ List<XXGroupPermission> xGroupPermissionList = new ArrayList<XXGroupPermission>();
+ Mockito.when(xUserPermissionDao.findByUserPermissionIdAndIsAllowed(userProfile.getId())).thenReturn(xUserPermissionsList);
+ Mockito.when(daoManager.getXXGroupPermission()).thenReturn(xGroupPermissionDao);
+ Mockito.when(xGroupPermissionDao.findbyVXPortalUserId(userProfile.getId())).thenReturn(xGroupPermissionList);
+ dbVXPortalUser = userMgr.getUserProfileByLoginId(user.getLoginId());
+ Assert.assertNotNull(dbVXPortalUser);
}
@Test
- public void test33setUserRoles() {
+ public void test23setUserRoles() {
setup();
- XXPortalUserRoleDao xPortalUserRoleDao = Mockito
- .mock(XXPortalUserRoleDao.class);
+ XXPortalUserRoleDao xPortalUserRoleDao = Mockito.mock(XXPortalUserRoleDao.class);
XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
- XXUserPermissionDao xUserPermissionDao = Mockito
- .mock(XXUserPermissionDao.class);
- XXGroupPermissionDao xGroupPermissionDao = Mockito
- .mock(XXGroupPermissionDao.class);
+ XXUserPermissionDao xUserPermissionDao = Mockito.mock(XXUserPermissionDao.class);
+ XXGroupPermissionDao xGroupPermissionDao = Mockito.mock(XXGroupPermissionDao.class);
XXModuleDefDao xModuleDefDao = Mockito.mock(XXModuleDefDao.class);
VXPortalUser userProfile = userProfile();
@@ -1192,47 +1283,31 @@ public class TestUserMgr {
userPermission.setUserName("xyz");
userPermission.setOwner("admin");
- Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(
- xPortalUserRoleDao);
+ Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(xPortalUserRoleDao);
Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
Mockito.when(userDao.getById(userId)).thenReturn(user);
- 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(groupPermission);
+ 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(groupPermission);
Mockito.when(daoManager.getXXModuleDef()).thenReturn(xModuleDefDao);
- Mockito.when(xModuleDefDao.findByModuleId(Mockito.anyLong()))
- .thenReturn(xModuleDef);
- Mockito.when(
- xUserPermissionService.populateViewBean(xUserPermissionObj))
- .thenReturn(userPermission);
+ Mockito.when(xModuleDefDao.findByModuleId(Mockito.anyLong())).thenReturn(xModuleDef);
+ Mockito.when(xUserPermissionService.populateViewBean(xUserPermissionObj)).thenReturn(userPermission);
Mockito.when(daoManager.getXXModuleDef()).thenReturn(xModuleDefDao);
- Mockito.when(xModuleDefDao.findByModuleId(Mockito.anyLong()))
- .thenReturn(xModuleDef);
- Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
+ Mockito.when(xModuleDefDao.findByModuleId(Mockito.anyLong())).thenReturn(xModuleDef);
+ Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
userMgr.checkAccess(userId);
userMgr.setUserRoles(userId, vStringRolesList);
Mockito.verify(daoManager).getXXUserPermission();
Mockito.verify(daoManager).getXXGroupPermission();
- Mockito.verify(xGroupPermissionService).populateViewBean(
- xGroupPermissionObj);
- Mockito.verify(xUserPermissionService).populateViewBean(
- xUserPermissionObj);
+ Mockito.verify(xGroupPermissionService).populateViewBean(xGroupPermissionObj);
+ Mockito.verify(xUserPermissionService).populateViewBean(xUserPermissionObj);
}
@Test
- public void test19updateRoles() {
+ public void test24updateRoles() {
setup();
Collection<String> rolesList = new ArrayList<String>();
rolesList.add("ROLE_USER");
@@ -1250,7 +1325,7 @@ public class TestUserMgr {
}
@Test
- public void test20UpdateUserWithPass() {
+ public void test25updatePasswordInSHA256() {
XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
VXPortalUser userProfile = userProfile();
String userName = userProfile.getFirstName();
@@ -1261,17 +1336,470 @@ public class TestUserMgr {
user.setLastName(userProfile.getLastName());
user.setLoginId(userProfile.getLoginId());
user.setPassword(userProfile.getPassword());
- user.setUserSource(userProfile.getUserSource());
+ user.setUserSource(RangerCommonEnums.USER_APP);
user.setPublicScreenName(userProfile.getPublicScreenName());
user.setId(userProfile.getId());
Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
- Mockito.when(userDao.findByLoginId(Mockito.anyString())).thenReturn(
- user);
Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
Mockito.when(userDao.update(user)).thenReturn(user);
- XXPortalUser dbXXPortalUser = userMgr.updatePasswordInSHA256(userName,
- userPassword,false);
+ XXPortalUser dbXXPortalUser = userMgr.updatePasswordInSHA256(null,userPassword,false);
+ Assert.assertNull(dbXXPortalUser);
+ Mockito.when(userDao.findByLoginId(Mockito.anyString())).thenReturn(null);
+ dbXXPortalUser = userMgr.updatePasswordInSHA256(userName,userPassword,false);
+ Assert.assertNull(dbXXPortalUser);
+ Mockito.when(userDao.findByLoginId(Mockito.anyString())).thenReturn(user);
+ dbXXPortalUser = userMgr.updatePasswordInSHA256(userName,userPassword,true);
+ Assert.assertNotNull(dbXXPortalUser);
+ dbXXPortalUser = userMgr.updatePasswordInSHA256(userName,"Secret",true);
Assert.assertNotNull(dbXXPortalUser);
+
}
+ @Test
+ public void test26CreateUser() {
+ setup();
+ XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
+ XXPortalUserRoleDao roleDao = Mockito.mock(XXPortalUserRoleDao.class);
+
+ VXPortalUser userProfile = userProfile();
+
+ Collection<String> userRoleList = new ArrayList<String>();
+ userRoleList.add("ROLE_USER");
+
+ XXPortalUser user = new XXPortalUser();
+ user.setEmailAddress(userProfile.getEmailAddress());
+ user.setFirstName(userProfile.getFirstName());
+ user.setLastName(userProfile.getLastName());
+ user.setLoginId(userProfile.getLoginId());
+ String encryptedPwd = userMgr.encrypt(userProfile.getLoginId(),userProfile.getPassword());
+ user.setPassword(encryptedPwd);
+ user.setUserSource(userProfile.getUserSource());
+ user.setPublicScreenName(userProfile.getPublicScreenName());
+ user.setId(userProfile.getId());
+
+ XXPortalUserRole XXPortalUserRole = new XXPortalUserRole();
+ XXPortalUserRole.setId(user.getId());
+ XXPortalUserRole.setUserRole("ROLE_USER");
+ List<XXPortalUserRole> list = new ArrayList<XXPortalUserRole>();
+ list.add(XXPortalUserRole);
+
+ Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
+ Mockito.when(userDao.create((XXPortalUser) Mockito.any())).thenReturn(user);
+ Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(roleDao);
+ Mockito.when(roleDao.findByUserId(userId)).thenReturn(list);
+ XXPortalUser dbxxPortalUser = userMgr.createUser(userProfile, 1,userRoleList);
+ Assert.assertNotNull(dbxxPortalUser);
+ userId = dbxxPortalUser.getId();
+ Assert.assertEquals(userId, dbxxPortalUser.getId());
+ Assert.assertEquals(userProfile.getFirstName(),dbxxPortalUser.getFirstName());
+ Assert.assertEquals(userProfile.getFirstName(),dbxxPortalUser.getFirstName());
+ Assert.assertEquals(userProfile.getLastName(),dbxxPortalUser.getLastName());
+ Assert.assertEquals(userProfile.getLoginId(),dbxxPortalUser.getLoginId());
+ Assert.assertEquals(userProfile.getEmailAddress(),dbxxPortalUser.getEmailAddress());
+ Assert.assertEquals(encryptedPwd,dbxxPortalUser.getPassword());
+
+ Mockito.verify(daoManager).getXXPortalUser();
+ Mockito.verify(daoManager).getXXPortalUserRole();
+ }
+
+ @Test
+ public void test27UpdateUser() {
+ setup();
+ XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
+
+ VXPortalUser userProfile = userProfile();
+ XXPortalUser user = new XXPortalUser();
+ user.setId(userProfile.getId());
+ user.setLoginId(userProfile.getLoginId());
+ user.setEmailAddress(userProfile.getEmailAddress());
+ user.setLoginId(userProfile.getLoginId());
+ String encryptedPwd = userMgr.encrypt(userProfile.getLoginId(),userProfile.getPassword());
+ user.setPassword(encryptedPwd);
+ Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
+ Mockito.when(userDao.getById(userProfile.getId())).thenReturn(user);
+ Mockito.when(stringUtil.validateEmail(Mockito.anyString())).thenReturn(true);
+
+ Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
+ XXPortalUser dbXXPortalUser = userMgr.updateUser(userProfile);
+ Assert.assertNotNull(dbXXPortalUser);
+ Assert.assertEquals(userId, dbXXPortalUser.getId());
+ Assert.assertEquals(userProfile.getFirstName(),dbXXPortalUser.getFirstName());
+ Assert.assertEquals(userProfile.getFirstName(),dbXXPortalUser.getFirstName());
+ Assert.assertEquals(userProfile.getLastName(),dbXXPortalUser.getLastName());
+ Assert.assertEquals(userProfile.getLoginId(),dbXXPortalUser.getLoginId());
+ Assert.assertEquals(userProfile.getEmailAddress(),dbXXPortalUser.getEmailAddress());
+ Assert.assertEquals(encryptedPwd,dbXXPortalUser.getPassword());
+ }
+
+ @Test
+ public void test28UpdateUser() {
+ setup();
+ XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
+
+ VXPortalUser userProfile = userProfile();
+ XXPortalUser user = new XXPortalUser();
+ user.setId(userProfile.getId());
+ user.setLoginId(userProfile.getLoginId());
+ user.setEmailAddress(userProfile.getEmailAddress());
+ user.setLoginId(userProfile.getLoginId());
+ String encryptedPwd = userMgr.encrypt(userProfile.getLoginId(),userProfile.getPassword());
+ user.setPassword(encryptedPwd);
+ Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
+ Mockito.when(userDao.getById(userProfile.getId())).thenReturn(null);
+ XXPortalUser dbXXPortalUser = userMgr.updateUser(userProfile);
+ Assert.assertNull(dbXXPortalUser);
+ user.setStatus(RangerCommonEnums.USER_EXTERNAL);
+ user.setFirstName("null");
+ user.setLastName("null");
+ Mockito.when(userDao.getById(userProfile.getId())).thenReturn(user);
+ Mockito.when(stringUtil.validateEmail(Mockito.anyString())).thenReturn(true);
+ Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
+ Mockito.when(userDao.findByEmailAddress(Mockito.anyString())).thenReturn(user);
+ dbXXPortalUser = userMgr.updateUser(userProfile);
+ Assert.assertNotNull(dbXXPortalUser);
+ Assert.assertEquals(userId, dbXXPortalUser.getId());
+ Assert.assertEquals(userProfile.getLoginId(),dbXXPortalUser.getLoginId());
+ Assert.assertEquals(userProfile.getEmailAddress(),dbXXPortalUser.getEmailAddress());
+ Assert.assertEquals(encryptedPwd,dbXXPortalUser.getPassword());
+ }
+
+ @Test
+ public void test29UpdateOldUserName() {
+ setup();
+ XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
+ XXUserDao xXUserDao = Mockito.mock(XXUserDao.class);
+ VXPortalUser userProfile = userProfile();
+ String userLoginId = userProfile.getLoginId();
+ String newUserName= "newUserName";
+ String currentPassword = userProfile.getPassword();
+
+ XXPortalUser xXPortalUser = new XXPortalUser();
+ xXPortalUser.setEmailAddress(userProfile.getEmailAddress());
+ xXPortalUser.setFirstName(userProfile.getFirstName());
+ xXPortalUser.setLastName(userProfile.getLastName());
+ xXPortalUser.setLoginId(userProfile.getLoginId());
+ String encryptedPwd = userMgr.encrypt(userProfile.getLoginId(),userProfile.getPassword());
+ xXPortalUser.setPassword(encryptedPwd);
+ xXPortalUser.setUserSource(userProfile.getUserSource());
+ xXPortalUser.setPublicScreenName(userProfile.getPublicScreenName());
+ xXPortalUser.setId(userProfile.getId());
+ xXPortalUser.setUserSource(RangerCommonEnums.USER_APP);
+
+ XXUser xXUser = new XXUser();
+ Collection<String> userRoleList = new ArrayList<String>();
+ userRoleList.add("ROLE_USER");
+ Collection<String> groupNameList = new ArrayList<String>();
+ groupNameList.add("Grp2");
+ xXUser.setId(userId);
+ xXUser.setDescription(userProfile.getPublicScreenName());
+ xXUser.setName(userProfile.getLoginId());
+
+ List<XXTrxLog> trxLogList = new ArrayList<XXTrxLog>();
+ XXTrxLog xTrxLogObj = new XXTrxLog();
+ xTrxLogObj.setAction("update");
+ xTrxLogObj.setAddedByUserId(userId);
+ xTrxLogObj.setAttributeName("User Name");
+ xTrxLogObj.setCreateTime(new Date());
+ xTrxLogObj.setId(userId);
+ xTrxLogObj.setPreviousValue(userLoginId);
+ xTrxLogObj.setNewValue(newUserName);
+ xTrxLogObj.setObjectClassType(AppConstants.CLASS_TYPE_USER_PROFILE);
+ xTrxLogObj.setObjectName(xXPortalUser.getLoginId());
+ xTrxLogObj.setObjectId(userId);
+ xTrxLogObj.setParentObjectClassType(AppConstants.CLASS_TYPE_USER_PROFILE);
+ xTrxLogObj.setParentObjectId(userId);
+ xTrxLogObj.setUpdatedByUserId(xXPortalUser.getId());
+ trxLogList.add(xTrxLogObj);
+ Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
+ Mockito.when(userDao.findByLoginId(userProfile.getLoginId())).thenReturn(xXPortalUser);
+ Mockito.when(daoManager.getXXUser()).thenReturn(xXUserDao);
+ Mockito.when(xXUserDao.findByUserName(xXUser.getName())).thenReturn(xXUser);
+
+ xXUser.setName(newUserName);
+ Mockito.when(xXUserDao.update(xXUser)).thenReturn(xXUser);
+
+ xXPortalUser.setLoginId(newUserName);
+ Mockito.when(userDao.update(xXPortalUser)).thenReturn(xXPortalUser);
+
+ xXPortalUser=userMgr.updateOldUserName(userLoginId, newUserName, currentPassword);
+
+ Assert.assertNotNull(xXPortalUser);
+ Assert.assertEquals(newUserName,xXPortalUser.getLoginId());
+ xXPortalUser.setUserSource(RangerCommonEnums.USER_EXTERNAL);
+ Mockito.when(userDao.findByLoginId(userProfile.getLoginId())).thenReturn(xXPortalUser);
+ xXPortalUser=userMgr.updateOldUserName(userLoginId, newUserName, currentPassword);
+ xXPortalUser=userMgr.updateOldUserName(null, newUserName, currentPassword);
+ Mockito.when(userDao.findByLoginId(userProfile.getLoginId())).thenReturn(null);
+ xXPortalUser=userMgr.updateOldUserName(userLoginId, newUserName, currentPassword);
+ }
+
+ @Test
+ public void test30getRolesByLoginId() {
+ setup();
+ XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
+ XXPortalUserRoleDao roleDao = Mockito.mock(XXPortalUserRoleDao.class);
+
+ VXPortalUser userProfile = userProfile();
+ String userLoginId = userProfile.getLoginId();
+
+ Collection<String> userRoleList = new ArrayList<String>();
+ userRoleList.add("ROLE_USER");
+
+ XXPortalUser user = new XXPortalUser();
+ user.setEmailAddress(userProfile.getEmailAddress());
+ user.setFirstName(userProfile.getFirstName());
+ user.setLastName(userProfile.getLastName());
+ user.setLoginId(userProfile.getLoginId());
+ String encryptedPwd = userMgr.encrypt(userProfile.getLoginId(),userProfile.getPassword());
+ user.setPassword(encryptedPwd);
+ user.setUserSource(userProfile.getUserSource());
+ user.setPublicScreenName(userProfile.getPublicScreenName());
+ user.setId(userProfile.getId());
+
+ XXPortalUserRole XXPortalUserRole = new XXPortalUserRole();
+ XXPortalUserRole.setId(user.getId());
+ XXPortalUserRole.setUserRole("ROLE_USER");
+ List<XXPortalUserRole> list = new ArrayList<XXPortalUserRole>();
+ list.add(XXPortalUserRole);
+
+ Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
+ Mockito.when(userDao.findByLoginId(userProfile.getLoginId())).thenReturn(user);
+ Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(roleDao);
+ Mockito.when(roleDao.findByUserId(userId)).thenReturn(list);
+ Collection<String> roleList = userMgr.getRolesByLoginId(userLoginId);
+ Assert.assertNotNull(roleList);
+ Assert.assertEquals(userLoginId, user.getLoginId());
+ Assert.assertEquals(userRoleList, roleList);
+ roleList = userMgr.getRolesByLoginId(null);
+ Mockito.when(roleDao.findByUserId(userId)).thenReturn(null);
+ roleList = userMgr.getRolesByLoginId(userLoginId);
+ }
+
+ @Test
+ public void test31checkAccess() {
+ setup();
+ XXPortalUser xPortalUser = Mockito.mock(XXPortalUser.class);
+ userMgr.checkAccess(xPortalUser);
+ destroySession();
+ VXPortalUser userProfile = userProfile();
+ xPortalUser = xxPortalUser(userProfile);
+ xPortalUser.setId(userProfile.getId());
+ setupUser();
+ userMgr.checkAccess(xPortalUser);
+ }
+
+ @Test
+ public void test32checkAdminAccess() {
+ setup();
+ userMgr.checkAdminAccess();
+ }
+
+ @Test
+ public void test33checkAccessForUpdate() {
+ setup();
+ XXPortalUser xPortalUser = Mockito.mock(XXPortalUser.class);
+ userMgr.checkAccessForUpdate(xPortalUser);
+ }
+
+ @Test
+ public void test34updateRoleForExternalUsers() {
+ setupRangerUserSyncUser();
+ XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
+ XXPortalUserRoleDao roleDao = Mockito.mock(XXPortalUserRoleDao.class);
+ XXUserPermissionDao xUserPermissionDao = Mockito.mock(XXUserPermissionDao.class);
+ Collection<String> existingRoleList = new ArrayList<String>();
+ existingRoleList.add(RangerConstants.ROLE_USER);
+ Collection<String> reqRoleList = new ArrayList<String>();
+ reqRoleList.add(RangerConstants.ROLE_SYS_ADMIN);
+
+ VXPortalUser userProfile = userProfile();
+ XXPortalUser user = new XXPortalUser();
+ user.setId(userProfile.getId());
+ user.setLoginId(userProfile.getLoginId());
+ user.setEmailAddress(userProfile.getEmailAddress());
+ user.setLoginId(userProfile.getLoginId());
+ String encryptedPwd = userMgr.encrypt(userProfile.getLoginId(),userProfile.getPassword());
+ user.setPassword(encryptedPwd);
+
+ XXPortalUserRole XXPortalUserRole = new XXPortalUserRole();
+ XXPortalUserRole.setId(userProfile.getId());
+ XXPortalUserRole.setUserRole(RangerConstants.ROLE_USER);
+ List<XXPortalUserRole> list = new ArrayList<XXPortalUserRole>();
+ list.add(XXPortalUserRole);
+
+ 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);
+ Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
+ Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(roleDao);
+ Mockito.when(roleDao.findByUserId(userId)).thenReturn(list);
+ Mockito.when(userDao.getById(userProfile.getId())).thenReturn(user);
+ Mockito.when(stringUtil.validateEmail(Mockito.anyString())).thenReturn(true);
+ Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
+ Mockito.when(daoManager.getXXUserPermission()).thenReturn(xUserPermissionDao);
+ Mockito.when(xUserPermissionDao.findByUserPermissionId(userProfile.getId())).thenReturn(xUserPermissionsList);
+ VXPortalUser dbVXPortalUser = userMgr.updateRoleForExternalUsers(reqRoleList,existingRoleList,userProfile);
+ Assert.assertNotNull(dbVXPortalUser);
+ Assert.assertEquals(userId, dbVXPortalUser.getId());
+ Assert.assertEquals(userProfile.getFirstName(),dbVXPortalUser.getFirstName());
+ Assert.assertEquals(userProfile.getLastName(),dbVXPortalUser.getLastName());
+ Assert.assertEquals(userProfile.getLoginId(),dbVXPortalUser.getLoginId());
+ Assert.assertEquals(userProfile.getEmailAddress(),dbVXPortalUser.getEmailAddress());
+ }
+
+ @Test
+ public void test35mapVXPortalUserToXXPortalUser() {
+ setup();
+ Collection<String> existingRoleList = new ArrayList<String>();
+ existingRoleList.add(RangerConstants.ROLE_USER);
+ Collection<String> reqRoleList = new ArrayList<String>();
+ reqRoleList.add(RangerConstants.ROLE_SYS_ADMIN);
+
+ VXPortalUser userProfile = userProfile();
+ userProfile.setFirstName("null");
+ userProfile.setLastName("null");
+ XXPortalUser user = new XXPortalUser();
+ user.setId(userProfile.getId());
+ user.setLoginId(userProfile.getLoginId());
+ user.setEmailAddress(userProfile.getEmailAddress());
+ user.setLoginId(userProfile.getLoginId());
+ String encryptedPwd = userMgr.encrypt(userProfile.getLoginId(),userProfile.getPassword());
+ user.setPassword(encryptedPwd);
+
+ XXPortalUserRole XXPortalUserRole = new XXPortalUserRole();
+ XXPortalUserRole.setId(userProfile.getId());
+ XXPortalUserRole.setUserRole(RangerConstants.ROLE_USER);
+ List<XXPortalUserRole> list = new ArrayList<XXPortalUserRole>();
+ list.add(XXPortalUserRole);
+
+ 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);
+ XXPortalUser dbVXPortalUser = userMgr.mapVXPortalUserToXXPortalUser(userProfile);
+ Assert.assertNotNull(dbVXPortalUser);
+ Assert.assertEquals(userProfile.getLoginId(),dbVXPortalUser.getLoginId());
+ Assert.assertEquals(userProfile.getEmailAddress(),dbVXPortalUser.getEmailAddress());
+ }
+
+ @Test
+ public void test36UpdateUser() {
+ setup();
+ XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
+ VXPortalUser userProfile = userProfile();
+ XXPortalUser user = new XXPortalUser();
+ user.setId(userProfile.getId());
+ user.setLoginId(userProfile.getLoginId());
+ userProfile.setFirstName("User");
+ userProfile.setLastName("User");
+ Mockito.when(stringUtil.validateEmail(Mockito.anyString())).thenReturn(true);
+ String encryptedPwd = userMgr.encrypt(userProfile.getLoginId(),userProfile.getPassword());
+ user.setPassword(encryptedPwd);
+ Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
+ Mockito.when(userDao.getById(userProfile.getId())).thenReturn(user);
+ Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
+ Mockito.when(stringUtil.toCamelCaseAllWords(Mockito.anyString())).thenReturn(userProfile.getFirstName());
+ XXPortalUser dbXXPortalUser = userMgr.updateUser(userProfile);
+ Assert.assertNotNull(dbXXPortalUser);
+ Mockito.when(stringUtil.isEmpty(Mockito.anyString())).thenReturn(true);
+ userProfile.setFirstName("null");
+ userProfile.setLastName("null");
+ userProfile.setEmailAddress("");
+ dbXXPortalUser = userMgr.updateUser(userProfile);
+ }
+
+ @Test
+ public void test37createUserSearchQuery() {
+ EntityManager entityManager = Mockito.mock(EntityManager.class);
+ String queryString="Select id,loginId,emailAddress,firstName,lastName,statusList,publicScreenName,status from XXPortalUser";
+ Query query = Mockito.mock(Query.class);
+ SearchCriteria searchCriteria = new SearchCriteria();
+ searchCriteria.setDistinct(true);
+ searchCriteria.setGetChildren(true);
+ searchCriteria.setGetCount(true);
+ searchCriteria.setMaxRows(12);
+ searchCriteria.setOwnerId(userId);
+ searchCriteria.setStartIndex(1);
+ searchCriteria.setSortBy("asc");
+ VXPortalUser vXPortalUser=userProfile();
+ List<String> userRoleList = new ArrayList<String>();
+ userRoleList.add("ROLE_USER");
+ List<Integer> statusList = new ArrayList<Integer>();
+ statusList.add(1);
+ searchCriteria.addParam("roleList", userRoleList);
+ searchCriteria.addParam("userId", vXPortalUser.getId());
+ searchCriteria.addParam("loginId", vXPortalUser.getLoginId());
+ searchCriteria.addParam("emailAddress", vXPortalUser.getEmailAddress());
+ searchCriteria.addParam("firstName", vXPortalUser.getFirstName());
+ searchCriteria.addParam("lastName", vXPortalUser.getLastName());
+ searchCriteria.addParam("statusList", statusList);
+ searchCriteria.addParam("publicScreenName", vXPortalUser.getPublicScreenName());
+ searchCriteria.addParam("status", vXPortalUser.getStatus());
+ searchCriteria.addParam("familyScreenName", vXPortalUser.getPublicScreenName());
+ Mockito.when(daoManager.getEntityManager()).thenReturn(entityManager);
+ Mockito.when(entityManager.createQuery(Mockito.anyString())).thenReturn(query);
+ Query newQuery = userMgr.createUserSearchQuery(query.toString(),queryString,searchCriteria);
+ Assert.assertNotNull(newQuery);
+ userRoleList.add("ROLE_SYS_ADMIN");
+ statusList.add(0);
+ searchCriteria.addParam("statusList", statusList);
+ searchCriteria.addParam("roleList", userRoleList);
+ newQuery = userMgr.createUserSearchQuery(query.toString(),queryString,searchCriteria);
+ }
+
+ @Test
+ public void test38mapVXPortalUserToXXPortalUser() {
+ Collection<String> existingRoleList = new ArrayList<String>();
+ existingRoleList.add(RangerConstants.ROLE_USER);
+ VXPortalUser dbVXPortalUser = userMgr.mapXXPortalUserToVXPortalUser(null,existingRoleList);
+ XXPortalUser user = new XXPortalUser();
+ Assert.assertNull(dbVXPortalUser);
+ dbVXPortalUser = userMgr.mapXXPortalUserToVXPortalUser(user,existingRoleList);
+ Assert.assertNull(dbVXPortalUser);
+ }
+
+ @Test
+ public void test39gjUserToUserProfile() {
+ VXPortalUser vXPortalUser = new VXPortalUser();
+ XXPortalUser xXPortalUser = new XXPortalUser();
+ userMgr.gjUserToUserProfile(xXPortalUser,vXPortalUser);
+ }
+
+ @Test
+ public void test40deleteUserRole() {
+ XXPortalUserRole xXPortalUserRole = new XXPortalUserRole();
+ userMgr.deleteUserRole(1L,xXPortalUserRole);
+ }
+
+ @Test
+ public void test41mapXXPortalUserToVXPortalUserForDefaultAccount() {
+ VXPortalUser vXPortalUser=userProfile();
+ XXPortalUser xXPortalUser = xxPortalUser(vXPortalUser);
+ XXPortalUserRoleDao roleDao = Mockito.mock(XXPortalUserRoleDao.class);
+ Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(roleDao);
+ XXPortalUserRole XXPortalUserRole = new XXPortalUserRole();
+ XXPortalUserRole.setId(userId);
+ XXPortalUserRole.setUserRole("ROLE_USER");
+ List<XXPortalUserRole> list = new ArrayList<XXPortalUserRole>();
+ list.add(XXPortalUserRole);
+ Mockito.when(roleDao.findByParentId(xXPortalUser.getId())).thenReturn(list);
+ VXPortalUser dbVXPortalUser = userMgr.mapXXPortalUserToVXPortalUserForDefaultAccount(xXPortalUser);
+ Assert.assertNotNull(dbVXPortalUser);
+ }
+
}