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 2021/12/16 09:24:19 UTC
[ranger] branch master updated: RANGER-3553: Unit test coverage for XUserMgr class
This is an automated email from the ASF dual-hosted git repository.
pradeep pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/master by this push:
new cc62216 RANGER-3553: Unit test coverage for XUserMgr class
cc62216 is described below
commit cc622161861b2f7a477546b98f2b67f7b848af31
Author: pradeep <pr...@apache.org>
AuthorDate: Wed Dec 15 21:21:47 2021 +0530
RANGER-3553: Unit test coverage for XUserMgr class
---
.../main/java/org/apache/ranger/biz/XUserMgr.java | 8 +-
.../java/org/apache/ranger/biz/TestXUserMgr.java | 1090 +++++++++++++++++++-
2 files changed, 1088 insertions(+), 10 deletions(-)
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 546345a..0eb582c 100755
--- a/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
@@ -509,12 +509,12 @@ public class XUserMgr extends XUserMgrBase {
searchCriteria.addParam("xUserId", userId);
VXGroupUserList vXGroupUserList = xGroupUserService.searchXGroupUsers(searchCriteria);
List<VXGroupUser> vXGroupUsers = vXGroupUserList.getList();
- for(VXGroupUser eachVXGrpUser : vXGroupUsers) {
- groupNamesSet.add(eachVXGrpUser.getName());
- }
-
if (vXGroupUsers != null) {
+ for(VXGroupUser eachVXGrpUser : vXGroupUsers) {
+ groupNamesSet.add(eachVXGrpUser.getName());
+ }
+
// Create
for (Long groupId : groupIdList) {
boolean found = false;
diff --git a/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java b/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
index 5b201ec..945bba4 100644
--- a/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
+++ b/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
@@ -40,6 +40,7 @@ import org.apache.ranger.common.UserSessionBase;
import org.apache.ranger.db.RangerDaoManager;
import org.apache.ranger.db.XXAuditMapDao;
import org.apache.ranger.db.XXAuthSessionDao;
+import org.apache.ranger.db.XXGlobalStateDao;
import org.apache.ranger.db.XXGroupDao;
import org.apache.ranger.db.XXGroupGroupDao;
import org.apache.ranger.db.XXGroupPermissionDao;
@@ -50,8 +51,10 @@ import org.apache.ranger.db.XXPolicyDao;
import org.apache.ranger.db.XXPortalUserDao;
import org.apache.ranger.db.XXPortalUserRoleDao;
import org.apache.ranger.db.XXResourceDao;
+import org.apache.ranger.db.XXRoleDao;
import org.apache.ranger.db.XXRoleRefGroupDao;
import org.apache.ranger.db.XXRoleRefUserDao;
+import org.apache.ranger.db.XXSecurityZoneDao;
import org.apache.ranger.db.XXSecurityZoneRefGroupDao;
import org.apache.ranger.db.XXSecurityZoneRefUserDao;
import org.apache.ranger.db.XXUserDao;
@@ -68,17 +71,22 @@ import org.apache.ranger.entity.XXPolicy;
import org.apache.ranger.entity.XXPortalUser;
import org.apache.ranger.entity.XXPortalUserRole;
import org.apache.ranger.entity.XXResource;
+import org.apache.ranger.entity.XXRole;
import org.apache.ranger.entity.XXRoleRefGroup;
import org.apache.ranger.entity.XXRoleRefUser;
+import org.apache.ranger.entity.XXSecurityZone;
import org.apache.ranger.entity.XXSecurityZoneRefGroup;
import org.apache.ranger.entity.XXSecurityZoneRefUser;
+import org.apache.ranger.entity.XXTrxLog;
import org.apache.ranger.entity.XXUser;
import org.apache.ranger.entity.XXUserPermission;
import org.apache.ranger.plugin.model.RangerPolicy;
+import org.apache.ranger.plugin.model.RangerSecurityZone;
import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItem;
import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemAccess;
import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemCondition;
import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource;
+import org.apache.ranger.plugin.model.UserInfo;
import org.apache.ranger.security.context.RangerContextHolder;
import org.apache.ranger.security.context.RangerSecurityContext;
import org.apache.ranger.service.RangerPolicyService;
@@ -94,6 +102,8 @@ import org.apache.ranger.service.XResourceService;
import org.apache.ranger.service.XUgsyncAuditInfoService;
import org.apache.ranger.service.XUserPermissionService;
import org.apache.ranger.service.XUserService;
+import org.apache.ranger.ugsyncutil.model.GroupUserInfo;
+import org.apache.ranger.ugsyncutil.model.UsersGroupRoleAssignments;
import org.apache.ranger.view.VXAuditMap;
import org.apache.ranger.view.VXAuditMapList;
import org.apache.ranger.view.VXGroup;
@@ -110,13 +120,13 @@ import org.apache.ranger.view.VXPermMapList;
import org.apache.ranger.view.VXPortalUser;
import org.apache.ranger.view.VXResource;
import org.apache.ranger.view.VXResponse;
+import org.apache.ranger.view.VXString;
import org.apache.ranger.view.VXStringList;
import org.apache.ranger.view.VXUgsyncAuditInfo;
import org.apache.ranger.view.VXUser;
import org.apache.ranger.view.VXUserGroupInfo;
import org.apache.ranger.view.VXUserList;
import org.apache.ranger.view.VXUserPermission;
-import org.apache.ranger.view.VXString;
import org.junit.After;
import org.junit.Assert;
import org.junit.FixMethodOrder;
@@ -129,6 +139,8 @@ import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.transaction.PlatformTransactionManager;
@RunWith(MockitoJUnitRunner.class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
@@ -139,6 +151,7 @@ public class TestXUserMgr {
private static String keyadminLoginID = "keyadmin";
private static String userLoginID = "testuser";
private static String groupName = "public";
+ private static final String RANGER_USER_GROUP_GLOBAL_STATE_NAME = "RangerUserStore";
private static Integer emptyValue;
@@ -216,6 +229,10 @@ public class TestXUserMgr {
@Rule
public ExpectedException thrown = ExpectedException.none();
+ @Mock
+ @Qualifier(value = "transactionManager")
+ PlatformTransactionManager txManager;
+
public void setup() {
RangerSecurityContext context = new RangerSecurityContext();
context.setUserSession(new UserSessionBase());
@@ -567,6 +584,7 @@ public class TestXUserMgr {
user.setId(userProfile().getId());
user.setLoginId(userProfile().getLoginId());
currentUserSession.setXXPortalUser(user);
+ currentUserSession.setUserRoleList(getRoleList());
}
@Test
@@ -664,8 +682,8 @@ public class TestXUserMgr {
vxUser.setDescription(null);
vxUser.setFirstName("null");
vxUser.setLastName("null");
- Mockito.when(xUserService.createResource(vxUser)).thenReturn(vxUser);
- Mockito.when(stringUtil.validateEmail("test@test.com")).thenReturn(true);
+ Mockito.when(restErrorUtil.createRESTException("Please provide valid email address.",MessageEnums.INVALID_INPUT_DATA)).thenThrow(new WebApplicationException());
+ thrown.expect(WebApplicationException.class);
xUserMgr.createXUser(vxUser);
}
@@ -724,6 +742,17 @@ public class TestXUserMgr {
Assert.assertEquals(dbvxUser.getDescription(), vxUser.getDescription());
Assert.assertEquals(dbvxUser.getName(), vxUser.getName());
Mockito.verify(xUserService).updateResource(vxUser);
+ groupIdList.clear();
+ groupIdList.add(9L);
+ vxUser.setGroupIdList(groupIdList);
+ List<XXTrxLog> trxLogList = new ArrayList<XXTrxLog>();
+ Mockito.when(xGroupUserService.getTransactionLog((VXGroupUser) Mockito.any(), Mockito.anyString())).thenReturn(trxLogList);
+ VXGroup vXGroup = vxGroup();
+ Mockito.when(xGroupService.readResource(Mockito.anyLong())).thenReturn(vXGroup);
+ VXGroupUser vXGroupUser = vxGroupUser();
+ Mockito.when(xGroupUserService.createResource((VXGroupUser) Mockito.any())).thenReturn(vXGroupUser);
+ dbvxUser = xUserMgr.updateXUser(vxUser);
+ Assert.assertNotNull(dbvxUser);
}
@Test
@@ -832,6 +861,10 @@ public class TestXUserMgr {
Mockito.verify(daoManager).getXXGroupUser();
Mockito.verify(xGroupService).updateResource(vXGroup);
Mockito.verify(xxGroupUserDao).findByGroupId(vXGroup.getId());
+ Mockito.when(restErrorUtil.createRESTException("group name updates are not allowed.",MessageEnums.INVALID_INPUT_DATA)).thenThrow(new WebApplicationException());
+ thrown.expect(WebApplicationException.class);
+ vXGroup.setName("UnknownGroup");
+ xUserMgr.updateXGroup(vXGroup);
}
@Test
@@ -946,6 +979,10 @@ public class TestXUserMgr {
Mockito.when(msBizUtil.hasModuleAccess(RangerConstants.MODULE_USER_GROUPS)).thenReturn(true);
VXUserList dbVXUserList = xUserMgr.getXGroupUsers(testSearchCriteria);
Assert.assertNotNull(dbVXUserList);
+ Mockito.when(msBizUtil.hasModuleAccess(Mockito.anyString())).thenReturn(false);
+ Mockito.when(restErrorUtil.createRESTException(HttpServletResponse.SC_FORBIDDEN, "User is not having permissions on the "+RangerConstants.MODULE_USER_GROUPS+" module.", true)).thenThrow(new WebApplicationException());
+ thrown.expect(WebApplicationException.class);
+ xUserMgr.getXGroupUsers(testSearchCriteria);
}
@Test
@@ -1346,6 +1383,12 @@ public class TestXUserMgr {
Mockito.verify(xModuleDefService).populateViewBean(xModuleDef);
Mockito.verify(daoManager).getXXUserPermission();
Mockito.verify(daoManager).getXXGroupPermission();
+
+ vXModuleDef.setModule("UnknownModule");
+ Mockito.when(xModuleDefDao.getById(userId)).thenReturn(xModuleDef);
+ Mockito.when(restErrorUtil.createRESTException("Module name change is not allowed!",MessageEnums.DATA_NOT_UPDATABLE)).thenThrow(new WebApplicationException());
+ thrown.expect(WebApplicationException.class);
+ dbMuduleDef = xUserMgr.updateXModuleDefPermission(vXModuleDef);
}
@Test
@@ -2015,6 +2058,7 @@ public class TestXUserMgr {
@Test
public void test48searchXGroups() {
+ setupUser();
VXGroup vXGroup = vxGroup();
VXGroupList vXGroupListSort = new VXGroupList();
List<VXGroup> vXGroups = new ArrayList<VXGroup>();
@@ -2035,6 +2079,30 @@ public class TestXUserMgr {
Mockito.when(xGroupService.searchXGroups(testSearchCriteria)).thenReturn(vXGroupListSort);
vXGroupList = xUserMgr.searchXGroups(testSearchCriteria);
Assert.assertNotNull(vXGroupList);
+ testSearchCriteria = createsearchCriteria();
+ testSearchCriteria.addParam("name", groupName);
+ testSearchCriteria.addParam("userid", userId);
+ VXUser loggedInUser = vxUser();
+ List<String> loggedInUserRole = new ArrayList<String>();
+ loggedInUserRole.add(RangerConstants.ROLE_USER);
+ loggedInUser.setId(8L);
+ loggedInUser.setName("testuser");
+ loggedInUser.setUserRoleList(loggedInUserRole);
+ Mockito.when(xUserService.getXUserByUserName(userLoginID)).thenReturn(loggedInUser);
+ Mockito.when(xGroupService.searchXGroups(testSearchCriteria)).thenReturn(vXGroupListSort);
+
+ List<Long> groupIdList = new ArrayList<Long>();
+ groupIdList.add(2L);
+ XXGroupUserDao mockxxGroupUserDao = Mockito.mock(XXGroupUserDao.class);
+ Mockito.when(daoManager.getXXGroupUser()).thenReturn(mockxxGroupUserDao);
+ Mockito.when(mockxxGroupUserDao.findGroupIdListByUserId(loggedInUser.getId())).thenReturn(groupIdList);
+ XXModuleDefDao modDef = Mockito.mock(XXModuleDefDao.class);
+ Mockito.when(daoManager.getXXModuleDef()).thenReturn(modDef);
+ List<String> lstModule = new ArrayList<String>();
+ lstModule.add(RangerConstants.MODULE_USER_GROUPS);
+ Mockito.when(modDef.findAccessibleModulesByUserId(Mockito.anyLong(),
+ Mockito.anyLong())).thenReturn(lstModule);
+ xUserMgr.searchXGroups(testSearchCriteria);
}
@Test
@@ -2078,6 +2146,7 @@ public class TestXUserMgr {
@Test
public void test50createServiceConfigUser_WithBlankName() {
destroySession();
+ setup();
Mockito.when(restErrorUtil.createRESTException("Please provide a valid username.",MessageEnums.INVALID_INPUT_DATA)).thenThrow(new WebApplicationException());
thrown.expect(WebApplicationException.class);
xUserMgr.createServiceConfigUser(null);
@@ -2445,7 +2514,7 @@ public class TestXUserMgr {
Mockito.when(xGroupService.getGroupByGroupName(vxGroup.getName())).thenReturn(vxGroup);
VXGroup vxGroup1=xUserMgr.getGroupByGroupName(vxGroup.getName());
Assert.assertNotNull(vxGroup1);
- Mockito.when(xGroupService.getGroupByGroupName(vxGroup.getName())).thenReturn(null);
+ Mockito.when(xGroupService.getGroupByGroupName(Mockito.anyString())).thenReturn(null);
Mockito.when(restErrorUtil.createRESTException(vxGroup.getName() + " is Not Found", MessageEnums.DATA_NOT_FOUND)).thenThrow(new WebApplicationException());
thrown.expect(WebApplicationException.class);
VXGroup vxGroup2=xUserMgr.getGroupByGroupName(vxGroup.getName());
@@ -2527,9 +2596,27 @@ public class TestXUserMgr {
Assert.assertEquals(dbvxUser.getDescription(), vxUser.getDescription());
Assert.assertEquals(dbvxUser.getName(), vxUser.getName());
Mockito.verify(xUserService).updateResource(vxUser);
- Mockito.when(restErrorUtil.createRESTException("Please provide a valid username.",MessageEnums.INVALID_INPUT_DATA)).thenThrow(new WebApplicationException());
+
+ groupIdList.clear();
+ groupIdList.add(9L);
+ vxUser.setGroupIdList(groupIdList);
+ List<XXTrxLog> trxLogList = new ArrayList<XXTrxLog>();
+ Mockito.when(xGroupUserService.getTransactionLog((VXGroupUser) Mockito.any(), Mockito.anyString())).thenReturn(trxLogList);
+ vxUser.setPassword("TestUser@1234");
+ oldUserProfile.setPassword(vxUser.getPassword());
+ vxGroupUserList.setVXGroupUsers(null);
+ Mockito.when(xGroupUserService.searchXGroupUsers((SearchCriteria) Mockito.any())).thenReturn(vxGroupUserList);
+ VXGroup vXGroup = vxGroup();
+ Mockito.when(xGroupService.readResource(Mockito.anyLong())).thenReturn(vXGroup);
+ VXGroupUser vXGroupUser = vxGroupUser();
+ Mockito.when(xGroupUserService.createResource((VXGroupUser) Mockito.any())).thenReturn(vXGroupUser);
+ dbvxUser = xUserMgr.updateXUser(vxUser);
+ Assert.assertNotNull(dbvxUser);
+
+ Mockito.when(userMgr.getUserProfileByLoginId(Mockito.anyString())).thenReturn(null);
+ Mockito.when(restErrorUtil.createRESTException("user " + vxUser.getName() + " does not exist.",MessageEnums.INVALID_INPUT_DATA)).thenThrow(new WebApplicationException());
thrown.expect(WebApplicationException.class);
- vxUser=xUserMgr.updateXUser(null);
+ vxUser=xUserMgr.updateXUser(vxUser);
Assert.assertNull(vxUser);
}
@@ -2964,6 +3051,12 @@ public class TestXUserMgr {
xUserMgr.deleteXUser(vXUser.getId(), force);
Mockito.when(xXPortalUserRoleDao.findByUserId(vXPortalUser.getId())).thenReturn(new ArrayList<XXPortalUserRole>());
xUserMgr.deleteXUser(vXUser.getId(), force);
+
+ vXUser.setName("");
+ Mockito.when(xXUserDao.getById(vXUser.getId())).thenReturn(xXUser);
+ Mockito.when(xUserService.populateViewBean(xXUser)).thenReturn(vXUser);
+ thrown.expect(NullPointerException.class);
+ xUserMgr.deleteXUser(vXUser.getId(), force);
}
@Test
@@ -3038,6 +3131,10 @@ public class TestXUserMgr {
xUserMgr.deleteXGroup(vXGroup.getId(), force);
Mockito.when(xXGroupPermissionDao.findByGroupId(vXGroup.getId())).thenReturn(new ArrayList<XXGroupPermission>());
xUserMgr.deleteXGroup(vXGroup.getId(), force);
+ Mockito.when(xGroupService.populateViewBean(xXGroup)).thenReturn(null);
+ Mockito.when(restErrorUtil.createRESTException("Group ID doesn't exist.",MessageEnums.INVALID_INPUT_DATA)).thenThrow(new WebApplicationException());
+ thrown.expect(WebApplicationException.class);
+ xUserMgr.deleteXGroup(vXGroup.getId(), force);
}
@Test
@@ -3427,6 +3524,10 @@ public class TestXUserMgr {
VXUser expectedVXUser = xUserMgr.getXUser(8L);
Assert.assertNotNull(expectedVXUser);
Assert.assertEquals(expectedVXUser.getName(), vxUser.getName());
+ destroySession();
+ Mockito.when(restErrorUtil.create403RESTException("Logged-In user is not allowed to access requested user data.")).thenThrow(new WebApplicationException());
+ thrown.expect(WebApplicationException.class);
+ xUserMgr.getXUser(8L);
}
@Test
@@ -3582,4 +3683,981 @@ public class TestXUserMgr {
Assert.assertEquals(rcvVXGroupList.getList().get(0).getName(),expectedVXGroup.getName());
}
+ @Test
+ public void test109AssignPermissionToUser() {
+ destroySession();
+ setup();
+ VXPortalUser vXPortalUser = userProfile();
+ List<XXModuleDef> xXModuleDefs = xxModuleDefs();
+ XXModuleDefDao xXModuleDefDao = Mockito.mock(XXModuleDefDao.class);
+ Mockito.when(daoManager.getXXModuleDef()).thenReturn(xXModuleDefDao);
+ Mockito.when(daoManager.getXXModuleDef().getAll()).thenReturn(xXModuleDefs);
+
+ VXUserPermission userPermission = vxUserPermission();
+ List<VXUserPermission> userPermList = new ArrayList<VXUserPermission>();
+ userPermList.add(userPermission);
+ List<XXUserPermission> xUserPermissionsList = new ArrayList<XXUserPermission>();
+ XXUserPermission xUserPermission = xxUserPermission();
+ xUserPermission.setModuleId(userPermission.getModuleId());
+ xUserPermission.setUserId(userPermission.getUserId());
+ xUserPermissionsList.add(xUserPermission);
+
+ XXUserPermissionDao xXUserPermissionDao= Mockito.mock(XXUserPermissionDao.class);
+ Mockito.when(daoManager.getXXUserPermission()).thenReturn(xXUserPermissionDao);
+ Mockito.when(xXUserPermissionDao.findByModuleIdAndPortalUserId(vXPortalUser.getId(),xXModuleDefs.get(0).getId())).thenReturn(xUserPermission);
+
+ VXUser vxUser = vxUser();
+ XXUser xXUser = xxUser(vxUser);
+ XXUserDao xxUserDao = Mockito.mock(XXUserDao.class);
+ Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
+ Mockito.when(xxUserDao.findByPortalUserId(vXPortalUser.getId())).thenReturn(xXUser);
+
+ Mockito.when(xUserPermissionService.populateViewBean(xUserPermission)).thenReturn(userPermission);
+
+ Mockito.when(xUserPermissionService.createResource((VXUserPermission) Mockito.any())).thenReturn(userPermission);
+ Mockito.when(xUserPermissionService.updateResource((VXUserPermission) Mockito.any())).thenReturn(userPermission);
+ UserSessionBase userSession = Mockito.mock(UserSessionBase.class);
+ Set<UserSessionBase> userSessions = new HashSet<UserSessionBase>();
+ userSessions.add(userSession);
+ Mockito.when(sessionMgr.getActiveUserSessionsForPortalUserId(userId)).thenReturn(userSessions);
+
+ Collection<String> existingRoleList = new ArrayList<String>();
+ existingRoleList.add(RangerConstants.ROLE_SYS_ADMIN);
+ vXPortalUser.setUserRoleList(existingRoleList);
+ xUserMgr.assignPermissionToUser(vXPortalUser, true);
+ existingRoleList.clear();
+ existingRoleList.add(RangerConstants.ROLE_KEY_ADMIN);
+ vXPortalUser.setUserRoleList(existingRoleList);
+ xUserMgr.assignPermissionToUser(vXPortalUser, true);
+ existingRoleList.clear();
+ existingRoleList.add(RangerConstants.ROLE_KEY_ADMIN_AUDITOR);
+ vXPortalUser.setUserRoleList(existingRoleList);
+ xUserMgr.assignPermissionToUser(vXPortalUser, true);
+ existingRoleList.clear();
+ existingRoleList.add(RangerConstants.ROLE_ADMIN_AUDITOR);
+ vXPortalUser.setUserRoleList(existingRoleList);
+ xUserMgr.assignPermissionToUser(vXPortalUser, true);
+ }
+
+ @Test
+ public void test110CreateOrDeleteXGroupUserList() {
+ destroySession();
+ setup();
+ GroupUserInfo groupUserInfo = new GroupUserInfo();
+ groupUserInfo.setGroupName("public");
+ Set<String> addUsers = new HashSet<String>();
+ Set<String> delUsers = new HashSet<String>();
+ addUsers.add("testuser1");
+ addUsers.add("testuser2");
+ delUsers.add("testuser3");
+ groupUserInfo.setAddUsers(addUsers);
+ groupUserInfo.setDelUsers(delUsers);
+ List<GroupUserInfo> groupUserInfoList = new ArrayList<GroupUserInfo>();
+ groupUserInfoList.add(groupUserInfo);
+ Map<String, Long> usersFromDB = new HashMap<String, Long>();
+ usersFromDB.put("testuser1", 1L);
+ usersFromDB.put("testuser2", 2L);
+ XXUserDao xxUserDao = Mockito.mock(XXUserDao.class);
+ Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
+ Mockito.when(xxUserDao.getAllUserIds()).thenReturn(usersFromDB);
+ xUserMgr.createOrDeleteXGroupUserList(groupUserInfoList);
+ }
+
+ @Test
+ public void test111CreateOrUpdateXUsers() {
+ destroySession();
+ setup();
+ List<VXUser> vXUserList=new ArrayList<VXUser>();
+ VXUser vXUser = vxUser();
+ VXUser vXUser1 = vxUser();
+ vXUser.setFirstName("null");
+ vXUser.setLastName("null");
+ vXUser.setEmailAddress("");
+ vXUser1.setName("null");
+ Collection<String> userRoleList = new ArrayList<String>();
+ userRoleList.add(RangerConstants.ROLE_USER);
+ userRoleList.add(RangerConstants.ROLE_SYS_ADMIN);
+ userRoleList.add(RangerConstants.ROLE_KEY_ADMIN);
+ userRoleList.add(RangerConstants.ROLE_KEY_ADMIN_AUDITOR);
+ userRoleList.add(RangerConstants.ROLE_ADMIN_AUDITOR);
+ vXUser.setUserRoleList(userRoleList);
+ vXUser1.setUserRoleList(userRoleList);
+ vXUserList.add(vXUser);
+ vXUserList.add(vXUser1);
+ VXUserList users = new VXUserList(vXUserList);
+ XXUserDao xxUserDao = Mockito.mock(XXUserDao.class);
+ XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
+ XXModuleDefDao xXModuleDefDao = Mockito.mock(XXModuleDefDao.class);
+ XXGlobalStateDao xxGlobalStateDao = Mockito.mock(XXGlobalStateDao.class);
+ XXUser xXUser = xxUser(vXUser);
+ VXPortalUser vXPortalUser = userProfile();
+ vXPortalUser.setFirstName("null");
+ vXPortalUser.setLastName("null");
+ XXPortalUser xXPortalUser = xxPortalUser(vXPortalUser);
+ xXPortalUser.setUserSource(RangerCommonEnums.USER_EXTERNAL);
+ List<String> lstRole = new ArrayList<String>();
+ lstRole.add(RangerConstants.ROLE_SYS_ADMIN);
+ List<XXModuleDef> xXModuleDefs=xxModuleDefs();
+
+ vXPortalUser.setUserRoleList(lstRole);
+ Mockito.when(userMgr.getUserProfileByLoginId(vXUser.getName())).thenReturn(null);
+
+ Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
+ Mockito.when(xxUserDao.findByUserName(vXUser.getName())).thenReturn(xXUser);
+ Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
+ Mockito.when(daoManager.getXXModuleDef()).thenReturn(xXModuleDefDao);
+ Mockito.when(daoManager.getXXGlobalState()).thenReturn(xxGlobalStateDao);
+ Mockito.when(xXModuleDefDao.getAll()).thenReturn(xXModuleDefs);
+
+ Mockito.when(userMgr.mapVXPortalUserToXXPortalUser((VXPortalUser) Mockito.any())).thenReturn(xXPortalUser);
+ XXPortalUserDao xXPortalUserDao = Mockito.mock(XXPortalUserDao.class);
+ Mockito.when(daoManager.getXXPortalUser()).thenReturn(xXPortalUserDao);
+ Mockito.when(daoManager.getXXPortalUser().create((XXPortalUser) Mockito.any())).thenReturn(xXPortalUser);
+ XXUser xUser = xxUser(vXUser);
+ Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
+ Mockito.when(daoManager.getXXUser().findByUserName(vXUser.getName())).thenReturn(xUser);
+ Mockito.when(xUserService.populateViewBean(xUser)).thenReturn(vXUser);
+
+ VXUserPermission userPermission = vxUserPermission();
+ List<VXUserPermission> userPermList = new ArrayList<VXUserPermission>();
+ userPermList.add(userPermission);
+
+ List<XXUserPermission> xUserPermissionsList = new ArrayList<XXUserPermission>();
+ XXUserPermission xUserPermissionObj = xxUserPermission();
+ xUserPermissionObj.setModuleId(userPermission.getModuleId());
+ xUserPermissionObj.setUserId(userPermission.getUserId());
+ xUserPermissionsList.add(xUserPermissionObj);
+
+ XXUserPermissionDao xUserPermissionDao = Mockito.mock(XXUserPermissionDao.class);
+ Mockito.when(daoManager.getXXUserPermission()).thenReturn(xUserPermissionDao);
+ UserSessionBase userSession = Mockito.mock(UserSessionBase.class);
+ Set<UserSessionBase> userSessions = new HashSet<UserSessionBase>();
+ userSessions.add(userSession);
+
+ Mockito.when(xUserPermissionService.createResource((VXUserPermission) Mockito.any())).thenReturn(userPermission);
+ Mockito.when(sessionMgr.getActiveUserSessionsForPortalUserId(userId)).thenReturn(userSessions);
+ xUserMgr.createOrUpdateXUsers(users);
+
+ Mockito.when(xUserPermissionDao.findByModuleIdAndPortalUserId(null, null)).thenReturn(xUserPermissionObj);
+ Mockito.when(xUserPermissionService.populateViewBean(xUserPermissionObj)).thenReturn(userPermission);
+ Mockito.when(xUserPermissionService.updateResource((VXUserPermission) Mockito.any())).thenReturn(userPermission);
+ xUserMgr.createOrUpdateXUsers(users);
+ }
+
+ @Test
+ public void test112CreateOrUpdateXUsers() {
+ destroySession();
+ setup();
+ List<VXUser> vXUserList=new ArrayList<VXUser>();
+ VXUser vXUser = vxUser();
+ vXUser.setFirstName("testuser");
+ vXUser.setLastName("testuser");
+ vXUser.setPassword("TestPassword@123");
+ vXUser.setEmailAddress("");
+ vXUser.setUserSource(RangerCommonEnums.USER_APP);
+ Collection<String> userRoleList = new ArrayList<String>();
+ userRoleList.add(RangerConstants.ROLE_USER);
+ userRoleList.add(RangerConstants.ROLE_SYS_ADMIN);
+ userRoleList.add(RangerConstants.ROLE_KEY_ADMIN);
+ userRoleList.add(RangerConstants.ROLE_KEY_ADMIN_AUDITOR);
+ userRoleList.add(RangerConstants.ROLE_ADMIN_AUDITOR);
+ vXUser.setUserRoleList(userRoleList);
+ vXUserList.add(vXUser);
+ VXUserList users = new VXUserList(vXUserList);
+
+ VXPortalUser vXPortalUser = userProfile();
+ vXPortalUser.setFirstName("testuser");
+ vXPortalUser.setLastName("testuser");
+ vXPortalUser.setPassword("TestPassword@123");
+ XXPortalUser xXPortalUser = xxPortalUser(vXPortalUser);
+ List<XXModuleDef> xXModuleDefs=xxModuleDefs();
+ List<XXUserPermission> xUserPermissionsList = new ArrayList<XXUserPermission>();
+ XXUserPermission xUserPermissionObj = xxUserPermission();
+ VXUserPermission userPermission = vxUserPermission();
+ List<VXUserPermission> userPermList = new ArrayList<VXUserPermission>();
+ userPermList.add(userPermission);
+ xUserPermissionObj.setModuleId(userPermission.getModuleId());
+ xUserPermissionObj.setUserId(userPermission.getUserId());
+ xUserPermissionsList.add(xUserPermissionObj);
+ UserSessionBase userSession = Mockito.mock(UserSessionBase.class);
+ Set<UserSessionBase> userSessions = new HashSet<UserSessionBase>();
+ userSessions.add(userSession);
+
+ XXUserDao xxUserDao = Mockito.mock(XXUserDao.class);
+ XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
+ XXModuleDefDao xXModuleDefDao = Mockito.mock(XXModuleDefDao.class);
+ XXUserPermissionDao xUserPermissionDao = Mockito.mock(XXUserPermissionDao.class);
+ XXGlobalStateDao xxGlobalStateDao = Mockito.mock(XXGlobalStateDao.class);
+
+ Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
+ Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
+ Mockito.when(daoManager.getXXPortalUser().create((XXPortalUser) Mockito.any())).thenReturn(xXPortalUser);
+ Mockito.when(daoManager.getXXModuleDef()).thenReturn(xXModuleDefDao);
+ Mockito.when(xXModuleDefDao.getAll()).thenReturn(xXModuleDefs);
+ Mockito.when(daoManager.getXXUserPermission()).thenReturn(xUserPermissionDao);
+ Mockito.when(xUserPermissionDao.findByModuleIdAndPortalUserId(null, null)).thenReturn(xUserPermissionObj);
+ Mockito.when(xUserPermissionService.createResource((VXUserPermission) Mockito.any())).thenReturn(userPermission);
+ Mockito.when(sessionMgr.getActiveUserSessionsForPortalUserId(userId)).thenReturn(userSessions);
+ Mockito.when(xUserService.createResource((VXUser) Mockito.any())).thenReturn(vXUser);
+ Mockito.when(xUserPermissionService.populateViewBean(xUserPermissionObj)).thenReturn(userPermission);
+ Mockito.when(xUserPermissionService.updateResource((VXUserPermission) Mockito.any())).thenReturn(userPermission);
+ Mockito.when(daoManager.getXXGlobalState()).thenReturn(xxGlobalStateDao);
+ xUserMgr.createOrUpdateXUsers(users);
+
+ vXUser.setPassword("*****");
+ xUserMgr.createOrUpdateXUsers(users);
+ }
+
+ @Test
+ public void test113CreateOrUpdateXUsers() {
+ destroySession();
+ setup();
+ VXUser vXUser = vxUser();
+ vXUser.setFirstName("null");
+ vXUser.setLastName("null");
+ List<VXUser> vXUserList=new ArrayList<VXUser>();
+ vXUserList.add(vXUser);
+ VXUserList users = new VXUserList(vXUserList);
+ XXUserDao xxUserDao = Mockito.mock(XXUserDao.class);
+ XXModuleDefDao xXModuleDefDao = Mockito.mock(XXModuleDefDao.class);
+ XXGlobalStateDao xxGlobalStateDao = Mockito.mock(XXGlobalStateDao.class);
+ XXUser xXUser = xxUser(vXUser);
+ VXPortalUser vXPortalUser = userProfile();
+ vXPortalUser.setFirstName("null");
+ vXPortalUser.setLastName("null");
+ XXPortalUser xXPortalUser = xxPortalUser(vXPortalUser);
+ xXPortalUser.setUserSource(RangerCommonEnums.USER_EXTERNAL);
+ List<String> lstRole = new ArrayList<String>();
+ lstRole.add(RangerConstants.ROLE_SYS_ADMIN);
+ List<XXModuleDef> xXModuleDefs=new ArrayList<XXModuleDef>();
+
+ vXPortalUser.setUserRoleList(lstRole);
+ Mockito.when(userMgr.getUserProfileByLoginId(vXUser.getName())).thenReturn(vXPortalUser);
+
+ Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
+ Mockito.when(xxUserDao.findByUserName(vXUser.getName())).thenReturn(xXUser);
+ Mockito.when(daoManager.getXXModuleDef()).thenReturn(xXModuleDefDao);
+ Mockito.when(daoManager.getXXGlobalState()).thenReturn(xxGlobalStateDao);
+ Mockito.when(xXModuleDefDao.getAll()).thenReturn(xXModuleDefs);
+ Mockito.when(xUserService.updateResource(vXUser)).thenReturn(vXUser);
+
+ XXUserPermissionDao xUserPermissionDao = Mockito.mock(XXUserPermissionDao.class);
+ Mockito.when(daoManager.getXXUserPermission()).thenReturn(xUserPermissionDao);
+ 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(xUserPermissionDao.findByUserPermissionId(vXPortalUser.getId())).thenReturn(xUserPermissionsList);
+ xUserMgr.createOrUpdateXUsers(users);
+ vXUserList.clear();
+ vXUser.setUserSource(RangerCommonEnums.USER_APP);
+ vXUser.setFirstName("testuser");
+ vXUser.setLastName("testuser");
+ vXUser.setPassword("TestPassword@123");
+ vXUserList.add(vXUser);
+ users = new VXUserList(vXUserList);
+ vXPortalUser = userProfile();
+ vXPortalUser.setUserSource(RangerCommonEnums.USER_APP);
+ vXPortalUser.setFirstName("testuser");
+ vXPortalUser.setLastName("testuser");
+ vXPortalUser.setPassword("TestPassword@123");
+ vXPortalUser.setUserRoleList(lstRole);
+ Mockito.when(userMgr.getUserProfileByLoginId(vXUser.getName())).thenReturn(vXPortalUser);
+ Mockito.when(userMgr.updateUserWithPass((VXPortalUser) Mockito.any())).thenReturn(xXPortalUser);
+ xUserMgr.createOrUpdateXUsers(users);
+ vXUser.setPassword("*****");
+ xUserMgr.createOrUpdateXUsers(users);
+ }
+
+ @Test
+ public void test114CreateOrUpdateXGroups() {
+ destroySession();
+ setup();
+ VXGroup vXGroup = vxGroup();
+ VXGroupList vXGroupListSort = new VXGroupList();
+ List<VXGroup> vXGroups = new ArrayList<VXGroup>();
+ vXGroups.add(vXGroup);
+ VXGroup vXGroup1 = vxGroup();
+ vXGroup1.setName("null");
+ vXGroups.add(vXGroup1);
+ vXGroupListSort.setVXGroups(vXGroups);
+
+ VXUser vXUser = vxUser();
+ List<VXUser> vXUserList=new ArrayList<VXUser>();
+ vXUserList.add(vXUser);
+ XXGlobalStateDao xxGlobalStateDao = Mockito.mock(XXGlobalStateDao.class);
+ VXPortalUser vXPortalUser = userProfile();
+ XXPortalUser xXPortalUser = xxPortalUser(vXPortalUser);
+ xXPortalUser.setUserSource(RangerCommonEnums.USER_EXTERNAL);
+ List<String> lstRole = new ArrayList<String>();
+ lstRole.add(RangerConstants.ROLE_SYS_ADMIN);
+
+ vXPortalUser.setUserRoleList(lstRole);
+ Mockito.when(daoManager.getXXGlobalState()).thenReturn(xxGlobalStateDao);
+
+ 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);
+ xUserMgr.createOrUpdateXGroups(vXGroupListSort);
+ }
+
+ @Test
+ public void test115UpdateUserRoleAssignments() {
+ destroySession();
+ setup();
+ UsersGroupRoleAssignments ugRoleAssignments = new UsersGroupRoleAssignments();
+ Set<String> addUsers = new HashSet<String>();
+ Set<String> delUsers = new HashSet<String>();
+ addUsers.add("testuser");
+ addUsers.add("testuser2");
+ delUsers.add("testuser2");
+ Map<String, String> userMap = new HashMap<String, String>();
+ Map<String, String> groupMap = new HashMap<>();
+ List<String> allUsers = new ArrayList<>(addUsers);
+ userMap.put("testuser", "role1");
+ userMap.put("testuser2", "role2");
+ groupMap.put("testgroup1", "role1");
+ groupMap.put("testgroup2", "role2");
+ ugRoleAssignments.setUsers(allUsers);
+ ugRoleAssignments.setGroupRoleAssignments(groupMap);
+ ugRoleAssignments.setUserRoleAssignments(userMap);
+ VXUser vXUser = vxUser();
+ List<VXUser> vXUserList=new ArrayList<VXUser>();
+ vXUserList.add(vXUser);
+ VXPortalUser vXPortalUser = userProfile();
+ XXPortalUser xXPortalUser = xxPortalUser(vXPortalUser);
+ xXPortalUser.setUserSource(RangerCommonEnums.USER_EXTERNAL);
+ List<String> lstRole = new ArrayList<String>();
+ lstRole.add(RangerConstants.ROLE_SYS_ADMIN);
+ vXPortalUser.setUserRoleList(lstRole);
+ Mockito.when(userMgr.getUserProfileByLoginId(vXUser.getName())).thenReturn(vXPortalUser);
+
+ XXUserPermissionDao xUserPermissionDao = Mockito.mock(XXUserPermissionDao.class);
+ Mockito.when(daoManager.getXXUserPermission()).thenReturn(xUserPermissionDao);
+ 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(xUserPermissionDao.findByUserPermissionId(vXPortalUser.getId())).thenReturn(xUserPermissionsList);
+
+ List<XXModuleDef> xXModuleDefs = xxModuleDefs();
+ XXModuleDefDao xXModuleDefDao = Mockito.mock(XXModuleDefDao.class);
+ Mockito.when(daoManager.getXXModuleDef()).thenReturn(xXModuleDefDao);
+ Mockito.when(daoManager.getXXModuleDef().getAll()).thenReturn(xXModuleDefs);
+ xUserMgr.updateUserRoleAssignments(ugRoleAssignments);
+
+ allUsers.clear();
+ allUsers.add("UnMappedUser");
+ ugRoleAssignments.setUsers(allUsers);
+ ugRoleAssignments.setGroupRoleAssignments(groupMap);
+ ugRoleAssignments.setUserRoleAssignments(userMap);
+
+ VXUserPermission userPermission = vxUserPermission();
+ List<VXUserPermission> userPermList = new ArrayList<VXUserPermission>();
+ userPermList.add(userPermission);
+ List<XXUserPermission> xUserPermissionsList1 = new ArrayList<XXUserPermission>();
+ XXUserPermission xUserPermissionObj1 = xxUserPermission();
+ xUserPermissionObj1.setModuleId(userPermission.getModuleId());
+ xUserPermissionObj1.setUserId(userPermission.getUserId());
+ xUserPermissionsList1.add(xUserPermissionObj1);
+ UserSessionBase userSession = Mockito.mock(UserSessionBase.class);
+ Set<UserSessionBase> userSessions = new HashSet<UserSessionBase>();
+ userSessions.add(userSession);
+ xUserMgr.updateUserRoleAssignments(ugRoleAssignments);
+
+ vXPortalUser.setUserSource(RangerCommonEnums.USER_APP);
+ Mockito.when(userMgr.getUserProfileByLoginId(Mockito.anyString())).thenReturn(vXPortalUser);
+ xUserMgr.updateUserRoleAssignments(ugRoleAssignments);
+ }
+
+ @Test
+ public void test116GetGroups() {
+ destroySession();
+ setup();
+ VXGroup vXGroup = vxGroup();
+ XXGroup xxGroup = new XXGroup();
+ xxGroup.setId(vXGroup.getId());
+ xxGroup.setName(vXGroup.getName());
+ xxGroup.setDescription(vXGroup.getDescription());
+ xxGroup.setIsVisible(vXGroup.getIsVisible());
+ List<XXGroup> resultList = new ArrayList<XXGroup>();
+ resultList.add(xxGroup);
+ xUserMgr.getGroups();
+ }
+
+ @Test
+ public void test117GetUserGroups() {
+ destroySession();
+ setup();
+ String user = "testuser1";
+ Set<String> userGroups = new HashSet<String>();
+ userGroups.add("group1");
+ Map<String, Set<String>> userGroupMap = new HashMap<String, Set<String>>();
+ userGroupMap.put(user, userGroups);
+ XXUserDao xxUserDao = Mockito.mock(XXUserDao.class);
+ Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
+ Mockito.when(xxUserDao.findGroupsByUserIds()).thenReturn(userGroupMap);
+ Map<String, Set<String>> userGroupMap1 = xUserMgr.getUserGroups();
+ Assert.assertNotNull(userGroupMap1);
+ Assert.assertEquals(userGroupMap, userGroupMap1);
+ }
+
+ @Test
+ public void test118GetUsers() {
+ destroySession();
+ setup();
+ VXUser vXUser = vxUser();
+ UserInfo userInfo = new UserInfo(vXUser.getName(), vXUser.getDescription(), null);
+ Set<UserInfo> userInfoSet = new HashSet<UserInfo>();
+ userInfoSet.add(userInfo);
+ List<UserInfo> userInfoList = new ArrayList<UserInfo>();
+ userInfoList.add(userInfo);
+ XXUser xxUser = xxUser(vXUser);
+ List<XXUser> resultList = new ArrayList<XXUser>();
+ resultList.add(xxUser);
+ Set<UserInfo> userInfoSet1 = xUserMgr.getUsers();
+ Assert.assertNotNull(userInfoSet1);
+ Mockito.when(xUserService.getUsers()).thenReturn(userInfoList);
+ Set<UserInfo> userInfoSet2 = xUserMgr.getUsers();
+ Assert.assertNotNull(userInfoSet2);
+ Assert.assertEquals(userInfoSet, userInfoSet2);
+ }
+
+ @Test
+ public void test119GetRangerUserStore() throws Exception {
+ destroySession();
+ setup();
+ Long lastKnownUserStoreVersion=Long.valueOf(1);
+ XXGlobalStateDao xxGlobalStateDao = Mockito.mock(XXGlobalStateDao.class);
+ Mockito.when(daoManager.getXXGlobalState()).thenReturn(xxGlobalStateDao);
+ Mockito.when(xxGlobalStateDao.getAppDataVersion(RANGER_USER_GROUP_GLOBAL_STATE_NAME)).thenReturn(lastKnownUserStoreVersion);
+ xUserMgr.getRangerUserStore(lastKnownUserStoreVersion);
+ }
+
+ @Test
+ public void test120GetUserStoreVersion() throws Exception {
+ destroySession();
+ setup();
+ Long lastKnownUserStoreVersion=Long.valueOf(1);
+ XXGlobalStateDao xxGlobalStateDao = Mockito.mock(XXGlobalStateDao.class);
+ Mockito.when(daoManager.getXXGlobalState()).thenReturn(xxGlobalStateDao);
+ Mockito.when(xxGlobalStateDao.getAppDataVersion(RANGER_USER_GROUP_GLOBAL_STATE_NAME)).thenReturn(lastKnownUserStoreVersion);
+ Long userStoreVersion = xUserMgr.getUserStoreVersion();
+ Assert.assertNotNull(userStoreVersion);
+ Assert.assertEquals(lastKnownUserStoreVersion, userStoreVersion);
+ }
+
+ @Test
+ public void test121UpdateDeletedUsers() {
+ destroySession();
+ setup();
+ XXUserDao xxUserDao = Mockito.mock(XXUserDao.class);
+ VXUser vxUser = vxUser();
+ XXUser xXUser = xxUser(vxUser);
+ Set<String> delUsers = new HashSet<String>();
+ delUsers.add(vxUser.getName());
+ Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
+ Mockito.when(xxUserDao.findByUserName(vxUser.getName())).thenReturn(xXUser);
+ Mockito.when(xUserService.populateViewBean(xXUser)).thenReturn(vxUser);
+ Mockito.when(xUserService.updateResource(vxUser)).thenReturn(vxUser);
+ int count = xUserMgr.updateDeletedUsers(delUsers);
+ Assert.assertNotNull(count);
+ Assert.assertEquals(count, 1);
+ }
+
+ @Test
+ public void test122UpdateDeletedGroups() {
+ destroySession();
+ setup();
+ XXGroupDao xxGroupDao = Mockito.mock(XXGroupDao.class);
+ VXGroup vxGroup = vxGroup();
+ XXGroup xxGroup = new XXGroup();
+ xxGroup.setId(vxGroup.getId());
+ xxGroup.setName(vxGroup.getName());
+ xxGroup.setDescription(vxGroup.getDescription());
+ xxGroup.setIsVisible(vxGroup.getIsVisible());
+ Set<String> delGroups = new HashSet<String>();
+ delGroups.add(vxGroup.getName());
+ Mockito.when(daoManager.getXXGroup()).thenReturn(xxGroupDao);
+ Mockito.when(xxGroupDao.findByGroupName(vxGroup.getName())).thenReturn(xxGroup);
+ Mockito.when(xGroupService.populateViewBean(xxGroup)).thenReturn(vxGroup);
+ Mockito.when(xGroupService.updateResource(vxGroup)).thenReturn(vxGroup);
+ int count = xUserMgr.updateDeletedGroups(delGroups);
+ Assert.assertNotNull(count);
+ Assert.assertEquals(count, 1);
+ }
+
+ @Test
+ public void test123LookupXGroups() {
+ destroySession();
+ setup();
+ VXGroup vXGroup = vxGroup();
+ VXGroupList vXGroupListSort = new VXGroupList();
+ List<VXGroup> vXGroups = new ArrayList<VXGroup>();
+ vXGroups.add(vXGroup);
+ vXGroupListSort.setVXGroups(vXGroups);
+ String groupName = vXGroup.getName();
+ SearchCriteria testSearchCriteria = createsearchCriteria();
+ testSearchCriteria.addParam("name", groupName);
+ Mockito.when(xGroupService.getGroupByGroupName(groupName)).thenReturn(vXGroup);
+ Mockito.when(xGroupService.searchXGroups((SearchCriteria) Mockito.any())).thenReturn(vXGroupListSort);
+ VXGroupList vXGroupList = xUserMgr.searchXGroups(testSearchCriteria);
+ testSearchCriteria.addParam("isvisible", "true");
+ vXGroupList = xUserMgr.lookupXGroups(testSearchCriteria);
+ Assert.assertNotNull(vXGroupList);
+ testSearchCriteria = createsearchCriteria();
+ testSearchCriteria.addParam("name", groupName);
+ testSearchCriteria.addParam("groupsource", 1L);
+ vXGroupList = xUserMgr.lookupXGroups(testSearchCriteria);
+ Assert.assertNotNull(vXGroupList);
+ testSearchCriteria = createsearchCriteria();
+ testSearchCriteria.setSortBy("");
+ testSearchCriteria.addParam("name", groupName);
+ Mockito.when(xGroupService.getGroupByGroupName(Mockito.anyString())).thenReturn(vXGroup);
+ vXGroupList = xUserMgr.lookupXGroups(testSearchCriteria);
+ Assert.assertNotNull(vXGroupList);
+
+ SearchCriteria emptyCriteria = new SearchCriteria();
+ Mockito.when(xGroupService.searchXGroups((SearchCriteria) Mockito.any())).thenReturn(null);
+ vXGroupList = xUserMgr.lookupXGroups(emptyCriteria);
+ Assert.assertNull(vXGroupList);
+ }
+
+ @Test
+ public void test124LookupXUsers() {
+ destroySession();
+ setup();
+ VXUser vXUser = vxUser();
+ VXUserList vXUserList1 = new VXUserList();
+ List<VXUser> vXUsers = new ArrayList<VXUser>();
+ vXUsers.add(vXUser);
+ vXUserList1.setVXUsers(vXUsers);
+ String groupName = vXUser.getName();
+ SearchCriteria searchCriteria = createsearchCriteria();
+ searchCriteria.addParam("name", groupName);
+ searchCriteria.addParam("isvisible", "true");
+ Mockito.when(xUserService.lookupXUsers((SearchCriteria) Mockito.any(), (VXUserList) Mockito.any())).thenReturn(vXUserList1);
+ VXUserList vXUserList2 = xUserMgr.lookupXUsers(searchCriteria);
+ Assert.assertNotNull(vXUserList2);
+ Assert.assertEquals(vXUserList1, vXUserList2);
+ searchCriteria.setSortBy("");
+ vXUserList2 = xUserMgr.lookupXUsers(searchCriteria);
+ Assert.assertNotNull(vXUserList2);
+ Assert.assertEquals(vXUserList1, vXUserList2);
+ }
+
+ @Test
+ public void test125DeleteXUser() {
+ destroySession();
+ setup();
+ boolean force = true;
+ VXUser vXUser = vxUser();
+ XXUser xXUser = new XXUser();
+ XXUserDao xXUserDao = Mockito.mock(XXUserDao.class);
+ Mockito.when(daoManager.getXXUser()).thenReturn(xXUserDao);
+ Mockito.when(xXUserDao.getById(vXUser.getId())).thenReturn(xXUser);
+ Mockito.when(xUserService.populateViewBean(xXUser)).thenReturn(vXUser);
+ VXPermMapList vXPermMapList = new VXPermMapList();
+ VXPermMap vXPermMap1=getVXPermMap();
+ List<VXPermMap> vXPermMaps=new ArrayList<VXPermMap>();
+ vXPermMaps.add(vXPermMap1);
+ vXPermMapList.setVXPermMaps(vXPermMaps);
+ VXAuditMapList vXAuditMapList = new VXAuditMapList();
+ List<VXAuditMap> vXAuditMaps=new ArrayList<VXAuditMap>();
+ VXAuditMap vXAuditMap=getVXAuditMap();
+ vXAuditMaps.add(vXAuditMap);
+ vXAuditMapList.setVXAuditMaps(vXAuditMaps);
+ VXPortalUser vXPortalUser = userProfile();
+ XXPortalUser xXPortalUser = xxPortalUser(vXPortalUser);
+ XXPortalUserDao xXPortalUserDao = Mockito.mock(XXPortalUserDao.class);
+ Mockito.when(daoManager.getXXPortalUser()).thenReturn(xXPortalUserDao);
+ Mockito.when(xXPortalUserDao.findByLoginId(vXUser.getName().trim())).thenReturn(xXPortalUser);
+ Mockito.when(xPortalUserService.populateViewBean(xXPortalUser)).thenReturn(vXPortalUser);
+ XXPortalUserRole XXPortalUserRole = new XXPortalUserRole();
+ XXPortalUserRole.setId(userId);
+ XXPortalUserRole.setUserId(userId);
+ XXPortalUserRole.setUserRole("ROLE_USER");
+ List<XXAuthSession> xXAuthSessions=new ArrayList<XXAuthSession>();
+ XXAuthSession xXAuthSession = new XXAuthSession();
+ xXAuthSession.setId(userId);
+ xXAuthSession.setLoginId(vXPortalUser.getLoginId());
+ xXAuthSessions.add(xXAuthSession);
+ List<XXUserPermission> xXUserPermissions=new ArrayList<XXUserPermission>();
+ xXUserPermissions.add(xxUserPermission());
+ List<XXPortalUserRole> xXPortalUserRoles=new ArrayList<XXPortalUserRole>();
+ xXPortalUserRoles.add(XXPortalUserRole);
+ List<XXPolicy> xXPolicyList = new ArrayList<XXPolicy>();
+ XXPolicy xXPolicy=getXXPolicy();
+ xXPolicyList.add(xXPolicy);
+
+ XXSecurityZoneRefUser xZoneAdminUser = new XXSecurityZoneRefUser();
+ xZoneAdminUser.setZoneId(2L);
+ xZoneAdminUser.setUserId(userId);
+ xZoneAdminUser.setUserName(vXUser.getName());
+ xZoneAdminUser.setUserType(1);
+ List<XXSecurityZoneRefUser> zoneSecRefUser=new ArrayList<XXSecurityZoneRefUser>();
+ zoneSecRefUser.add(xZoneAdminUser);
+ XXSecurityZoneRefUserDao zoneSecRefUserDao=Mockito.mock(XXSecurityZoneRefUserDao.class);
+ Mockito.when(daoManager.getXXSecurityZoneRefUser()).thenReturn(zoneSecRefUserDao);
+ Mockito.when(zoneSecRefUserDao.findByUserId(userId)).thenReturn(zoneSecRefUser);
+
+ RangerSecurityZone securityZone = new RangerSecurityZone();
+ securityZone.setId(2L);
+ securityZone.setName("sz1");
+ XXSecurityZone xxSecurityZone = new XXSecurityZone();
+ xxSecurityZone.setId(2L);
+ xxSecurityZone.setName("sz1");
+
+ XXSecurityZoneDao xXSecurityZoneDao = Mockito.mock(XXSecurityZoneDao.class);
+ Mockito.when(daoManager.getXXSecurityZoneDao()).thenReturn(xXSecurityZoneDao);
+ Mockito.when(xXSecurityZoneDao.getById(xZoneAdminUser.getZoneId())).thenReturn(xxSecurityZone);
+
+ List<XXRoleRefUser> roleRefUser=new ArrayList<XXRoleRefUser>();
+ XXRoleRefUser xRoleRefUser = new XXRoleRefUser();
+ xRoleRefUser.setRoleId(userId);
+ xRoleRefUser.setUserId(userId);
+ xRoleRefUser.setUserName(vXUser.getName().trim());
+ xRoleRefUser.setUserType(0);
+ roleRefUser.add(xRoleRefUser);
+ XXRole xRole = new XXRole();
+ xRole.setId(userId);
+ xRole.setName("Role1");
+
+ VXResponse vXResponse = new VXResponse();
+ vXResponse.setStatusCode(HttpServletResponse.SC_BAD_REQUEST);
+ vXResponse.setMsgDesc("Can Not Delete User '" + vXUser.getName().trim() + "' as its present in " + RangerConstants.ROLE_FIELD);
+ Mockito.when(restErrorUtil.generateRESTException((VXResponse) Mockito.any())).thenThrow(new WebApplicationException());
+ thrown.expect(WebApplicationException.class);
+
+ xUserMgr.deleteXUser(vXUser.getId(), force);
+ force=false;
+ xUserMgr.deleteXUser(vXUser.getId(), force);
+ }
+
+ @Test
+ public void test126DeleteXGroup() {
+ destroySession();
+ setup();
+ boolean force = true;
+ VXGroup vXGroup = vxGroup();
+ VXPermMapList vXPermMapList = new VXPermMapList();
+ VXPermMap vXPermMap1=getVXPermMap();
+ List<VXPermMap> vXPermMaps=new ArrayList<VXPermMap>();
+ vXPermMaps.add(vXPermMap1);
+ vXPermMapList.setVXPermMaps(vXPermMaps);
+ VXAuditMapList vXAuditMapList = new VXAuditMapList();
+ List<VXAuditMap> vXAuditMaps=new ArrayList<VXAuditMap>();
+ VXAuditMap vXAuditMap=getVXAuditMap();
+ vXAuditMaps.add(vXAuditMap);
+ vXAuditMapList.setVXAuditMaps(vXAuditMaps);
+ List<XXGroupGroup> xXGroupGroups = new ArrayList<XXGroupGroup>();
+ XXGroupGroup xXGroupGroup = xxGroupGroup();
+ xXGroupGroups.add(xXGroupGroup);
+ List<XXGroupPermission> xXGroupPermissions=new ArrayList<XXGroupPermission>();
+ XXGroupPermission xGroupPermissionObj = xxGroupPermission();
+ xXGroupPermissions.add(xGroupPermissionObj);
+ List<XXPolicy> xXPolicyList = new ArrayList<XXPolicy>();
+ XXPolicy xXPolicy=getXXPolicy();
+ xXPolicyList.add(xXPolicy);
+ List<XXResource> xResourceList = new ArrayList<XXResource>();
+ XXResource xXResource = new XXResource();
+ xXResource.setId(userId);
+ xXResource.setName("hadoopdev");
+ xXResource.setIsRecursive(AppConstants.BOOL_TRUE);
+ xXResource.setResourceStatus(AppConstants.STATUS_ENABLED);
+ xResourceList.add(xXResource);
+
+ XXSecurityZoneRefGroup xZoneAdminGroup = new XXSecurityZoneRefGroup();
+ xZoneAdminGroup.setZoneId(2L);
+ xZoneAdminGroup.setGroupId(vXGroup.getId());
+ xZoneAdminGroup.setGroupName(vXGroup.getName());
+ xZoneAdminGroup.setGroupType(1);
+ List<XXSecurityZoneRefGroup> zoneSecRefGroup=new ArrayList<XXSecurityZoneRefGroup>();
+ zoneSecRefGroup.add(xZoneAdminGroup);
+ XXSecurityZoneRefGroupDao zoneSecRefGroupDao=Mockito.mock(XXSecurityZoneRefGroupDao.class);
+ Mockito.when(daoManager.getXXSecurityZoneRefGroup()).thenReturn(zoneSecRefGroupDao);
+ Mockito.when(zoneSecRefGroupDao.findByGroupId(userId)).thenReturn(zoneSecRefGroup);
+
+ RangerSecurityZone securityZone = new RangerSecurityZone();
+ securityZone.setId(2L);
+ securityZone.setName("sz1");
+ XXSecurityZone xxSecurityZone = new XXSecurityZone();
+ xxSecurityZone.setId(2L);
+ xxSecurityZone.setName("sz1");
+
+ XXSecurityZoneDao xXSecurityZoneDao = Mockito.mock(XXSecurityZoneDao.class);
+ Mockito.when(daoManager.getXXSecurityZoneDao()).thenReturn(xXSecurityZoneDao);
+ Mockito.when(xXSecurityZoneDao.getById(xZoneAdminGroup.getZoneId())).thenReturn(xxSecurityZone);
+
+ List<XXRoleRefGroup> roleRefGroup = new ArrayList<XXRoleRefGroup>();
+ XXRoleRefGroup xRoleRefGroup = new XXRoleRefGroup();
+ xRoleRefGroup.setRoleId(userId);
+ xRoleRefGroup.setGroupId(userId);
+ xRoleRefGroup.setGroupName(groupName);
+ xRoleRefGroup.setGroupType(0);
+ roleRefGroup.add(xRoleRefGroup);
+
+ XXRole xRole = new XXRole();
+ xRole.setId(userId);
+ xRole.setName("Role1");
+
+ VXResponse vXResponse = new VXResponse();
+ vXResponse.setStatusCode(HttpServletResponse.SC_BAD_REQUEST);
+ vXResponse.setMsgDesc("Can Not Delete Group '" + vXGroup.getName().trim() + "' as its present in " + RangerConstants.ROLE_FIELD);
+ Mockito.when(restErrorUtil.generateRESTException((VXResponse) Mockito.any())).thenThrow(new WebApplicationException());
+ thrown.expect(WebApplicationException.class);
+
+ xUserMgr.deleteXGroup(vXGroup.getId(), force);
+ }
+
+ @Test
+ public void test127DeleteXUser() {
+ destroySession();
+ setup();
+ boolean force = true;
+ VXUser vXUser = vxUser();
+ XXUser xXUser = new XXUser();
+ XXUserDao xXUserDao = Mockito.mock(XXUserDao.class);
+ Mockito.when(daoManager.getXXUser()).thenReturn(xXUserDao);
+ Mockito.when(xXUserDao.getById(vXUser.getId())).thenReturn(xXUser);
+ Mockito.when(xUserService.populateViewBean(xXUser)).thenReturn(vXUser);
+ VXPermMapList vXPermMapList = new VXPermMapList();
+ VXPermMap vXPermMap1=getVXPermMap();
+ List<VXPermMap> vXPermMaps=new ArrayList<VXPermMap>();
+ vXPermMaps.add(vXPermMap1);
+ vXPermMapList.setVXPermMaps(vXPermMaps);
+ VXAuditMapList vXAuditMapList = new VXAuditMapList();
+ List<VXAuditMap> vXAuditMaps=new ArrayList<VXAuditMap>();
+ VXAuditMap vXAuditMap=getVXAuditMap();
+ vXAuditMaps.add(vXAuditMap);
+ vXAuditMapList.setVXAuditMaps(vXAuditMaps);
+ VXPortalUser vXPortalUser = userProfile();
+ XXPortalUser xXPortalUser = xxPortalUser(vXPortalUser);
+ XXPortalUserDao xXPortalUserDao = Mockito.mock(XXPortalUserDao.class);
+ Mockito.when(daoManager.getXXPortalUser()).thenReturn(xXPortalUserDao);
+ Mockito.when(xXPortalUserDao.findByLoginId(vXUser.getName().trim())).thenReturn(xXPortalUser);
+ Mockito.when(xPortalUserService.populateViewBean(xXPortalUser)).thenReturn(vXPortalUser);
+ XXPortalUserRole XXPortalUserRole = new XXPortalUserRole();
+ XXPortalUserRole.setId(userId);
+ XXPortalUserRole.setUserId(userId);
+ XXPortalUserRole.setUserRole("ROLE_USER");
+ List<XXAuthSession> xXAuthSessions=new ArrayList<XXAuthSession>();
+ XXAuthSession xXAuthSession = new XXAuthSession();
+ xXAuthSession.setId(userId);
+ xXAuthSession.setLoginId(vXPortalUser.getLoginId());
+ xXAuthSessions.add(xXAuthSession);
+ List<XXUserPermission> xXUserPermissions=new ArrayList<XXUserPermission>();
+ xXUserPermissions.add(xxUserPermission());
+ List<XXPortalUserRole> xXPortalUserRoles=new ArrayList<XXPortalUserRole>();
+ xXPortalUserRoles.add(XXPortalUserRole);
+ List<XXPolicy> xXPolicyList = new ArrayList<XXPolicy>();
+ XXPolicy xXPolicy=getXXPolicy();
+ xXPolicyList.add(xXPolicy);
+
+ List<XXSecurityZoneRefUser> zoneSecRefUser=new ArrayList<XXSecurityZoneRefUser>();
+ XXSecurityZoneRefUserDao zoneSecRefUserDao=Mockito.mock(XXSecurityZoneRefUserDao.class);
+ Mockito.when(daoManager.getXXSecurityZoneRefUser()).thenReturn(zoneSecRefUserDao);
+ Mockito.when(zoneSecRefUserDao.findByUserId(userId)).thenReturn(zoneSecRefUser);
+
+ List<XXRoleRefUser> roleRefUser=new ArrayList<XXRoleRefUser>();
+ XXRoleRefUser xRoleRefUser = new XXRoleRefUser();
+ xRoleRefUser.setRoleId(userId);
+ xRoleRefUser.setUserId(userId);
+ xRoleRefUser.setUserName(vXUser.getName().trim());
+ xRoleRefUser.setUserType(0);
+ roleRefUser.add(xRoleRefUser);
+ XXRoleRefUserDao roleRefUserDao=Mockito.mock(XXRoleRefUserDao.class);
+ Mockito.when(daoManager.getXXRoleRefUser()).thenReturn(roleRefUserDao);
+ Mockito.when(roleRefUserDao.findByUserId(userId)).thenReturn(roleRefUser);
+ XXRole xRole = new XXRole();
+ xRole.setId(userId);
+ xRole.setName("Role1");
+ XXRoleDao roleDao=Mockito.mock(XXRoleDao.class);
+ Mockito.when(daoManager.getXXRole()).thenReturn(roleDao);
+ Mockito.when(roleDao.getById(xRoleRefUser.getRoleId())).thenReturn(xRole);
+
+ VXResponse vXResponse = new VXResponse();
+ vXResponse.setStatusCode(HttpServletResponse.SC_BAD_REQUEST);
+ vXResponse.setMsgDesc("Can Not Delete User '" + vXUser.getName().trim() + "' as its present in " + RangerConstants.ROLE_FIELD);
+ Mockito.when(restErrorUtil.generateRESTException((VXResponse) Mockito.any())).thenThrow(new WebApplicationException());
+ thrown.expect(WebApplicationException.class);
+
+ xUserMgr.deleteXUser(vXUser.getId(), force);
+ force=false;
+ xUserMgr.deleteXUser(vXUser.getId(), force);
+ }
+
+ @Test
+ public void test128DeleteXGroup() {
+ destroySession();
+ setup();
+ boolean force = true;
+ VXGroup vXGroup = vxGroup();
+ VXPermMapList vXPermMapList = new VXPermMapList();
+ VXPermMap vXPermMap1=getVXPermMap();
+ List<VXPermMap> vXPermMaps=new ArrayList<VXPermMap>();
+ vXPermMaps.add(vXPermMap1);
+ vXPermMapList.setVXPermMaps(vXPermMaps);
+ VXAuditMapList vXAuditMapList = new VXAuditMapList();
+ List<VXAuditMap> vXAuditMaps=new ArrayList<VXAuditMap>();
+ VXAuditMap vXAuditMap=getVXAuditMap();
+ vXAuditMaps.add(vXAuditMap);
+ vXAuditMapList.setVXAuditMaps(vXAuditMaps);
+ List<XXGroupGroup> xXGroupGroups = new ArrayList<XXGroupGroup>();
+ XXGroupGroup xXGroupGroup = xxGroupGroup();
+ xXGroupGroups.add(xXGroupGroup);
+ List<XXGroupPermission> xXGroupPermissions=new ArrayList<XXGroupPermission>();
+ XXGroupPermission xGroupPermissionObj = xxGroupPermission();
+ xXGroupPermissions.add(xGroupPermissionObj);
+ List<XXPolicy> xXPolicyList = new ArrayList<XXPolicy>();
+ XXPolicy xXPolicy=getXXPolicy();
+ xXPolicyList.add(xXPolicy);
+ List<XXResource> xResourceList = new ArrayList<XXResource>();
+ XXResource xXResource = new XXResource();
+ xXResource.setId(userId);
+ xXResource.setName("hadoopdev");
+ xXResource.setIsRecursive(AppConstants.BOOL_TRUE);
+ xXResource.setResourceStatus(AppConstants.STATUS_ENABLED);
+ xResourceList.add(xXResource);
+
+ List<XXSecurityZoneRefGroup> zoneSecRefGroup=new ArrayList<XXSecurityZoneRefGroup>();
+ XXSecurityZoneRefGroupDao zoneSecRefGroupDao=Mockito.mock(XXSecurityZoneRefGroupDao.class);
+ Mockito.when(daoManager.getXXSecurityZoneRefGroup()).thenReturn(zoneSecRefGroupDao);
+ Mockito.when(zoneSecRefGroupDao.findByGroupId(userId)).thenReturn(zoneSecRefGroup);
+
+ List<XXRoleRefGroup> roleRefGroup = new ArrayList<XXRoleRefGroup>();
+ XXRoleRefGroup xRoleRefGroup = new XXRoleRefGroup();
+ xRoleRefGroup.setRoleId(userId);
+ xRoleRefGroup.setGroupId(userId);
+ xRoleRefGroup.setGroupName(groupName);
+ xRoleRefGroup.setGroupType(0);
+ roleRefGroup.add(xRoleRefGroup);
+ XXRoleRefGroupDao roleRefGroupDao = Mockito.mock(XXRoleRefGroupDao.class);
+ Mockito.when(daoManager.getXXRoleRefGroup()).thenReturn(roleRefGroupDao);
+ Mockito.when(roleRefGroupDao.findByGroupId(userId)).thenReturn(roleRefGroup);
+
+ XXRole xRole = new XXRole();
+ xRole.setId(userId);
+ xRole.setName("Role1");
+ XXRoleDao roleDao=Mockito.mock(XXRoleDao.class);
+ Mockito.when(daoManager.getXXRole()).thenReturn(roleDao);
+ Mockito.when(roleDao.getById(xRoleRefGroup.getRoleId())).thenReturn(xRole);
+
+ VXResponse vXResponse = new VXResponse();
+ vXResponse.setStatusCode(HttpServletResponse.SC_BAD_REQUEST);
+ vXResponse.setMsgDesc("Can Not Delete Group '" + vXGroup.getName().trim() + "' as its present in " + RangerConstants.ROLE_FIELD);
+ Mockito.when(restErrorUtil.generateRESTException((VXResponse) Mockito.any())).thenThrow(new WebApplicationException());
+ thrown.expect(WebApplicationException.class);
+
+ xUserMgr.deleteXGroup(vXGroup.getId(), force);
+ }
+
+ @Test
+ public void test129CreateOrUpdateUserPermisson() {
+ destroySession();
+ setup();
+ VXPortalUser vXPortalUser = userProfile();
+ List<XXModuleDef> xXModuleDefs = xxModuleDefs();
+
+ VXUserPermission userPermission = vxUserPermission();
+ List<VXUserPermission> userPermList = new ArrayList<VXUserPermission>();
+ userPermList.add(userPermission);
+ List<XXUserPermission> xUserPermissionsList = new ArrayList<XXUserPermission>();
+ XXUserPermission xUserPermission = xxUserPermission();
+ xUserPermission.setModuleId(userPermission.getModuleId());
+ xUserPermission.setUserId(userPermission.getUserId());
+ xUserPermissionsList.add(xUserPermission);
+
+ XXUserPermissionDao xXUserPermissionDao= Mockito.mock(XXUserPermissionDao.class);
+ Mockito.when(daoManager.getXXUserPermission()).thenReturn(xXUserPermissionDao);
+ Mockito.when(xXUserPermissionDao.findByModuleIdAndPortalUserId(vXPortalUser.getId(),xXModuleDefs.get(0).getId())).thenReturn(xUserPermission);
+
+ VXUser vxUser = vxUser();
+ XXUser xXUser = xxUser(vxUser);
+ XXUserDao xxUserDao = Mockito.mock(XXUserDao.class);
+ Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
+ Mockito.when(xxUserDao.findByPortalUserId(vXPortalUser.getId())).thenReturn(xXUser);
+
+ Mockito.when(xUserPermissionService.populateViewBean(xUserPermission)).thenReturn(userPermission);
+
+ Mockito.when(xUserPermissionService.updateResource((VXUserPermission) Mockito.any())).thenReturn(userPermission);
+ UserSessionBase userSession = Mockito.mock(UserSessionBase.class);
+ Set<UserSessionBase> userSessions = new HashSet<UserSessionBase>();
+ userSessions.add(userSession);
+ Mockito.when(sessionMgr.getActiveUserSessionsForPortalUserId(userId)).thenReturn(userSessions);
+
+ Collection<String> existingRoleList = new ArrayList<String>();
+ existingRoleList.add(RangerConstants.ROLE_SYS_ADMIN);
+ existingRoleList.add(RangerConstants.ROLE_KEY_ADMIN);
+ existingRoleList.add(RangerConstants.ROLE_KEY_ADMIN_AUDITOR);
+ existingRoleList.add(RangerConstants.ROLE_ADMIN_AUDITOR);
+ vXPortalUser.setUserRoleList(existingRoleList);
+ xUserMgr.createOrUpdateUserPermisson(vXPortalUser, xXModuleDefs.get(0).getId(), true);
+ Mockito.when(xXUserPermissionDao.findByModuleIdAndPortalUserId(vXPortalUser.getId(),xXModuleDefs.get(0).getId())).thenReturn(null);
+ Mockito.when(xxUserDao.findByPortalUserId(vXPortalUser.getId())).thenReturn(null);
+ xUserMgr.createOrUpdateUserPermisson(vXPortalUser, xXModuleDefs.get(0).getId(), true);
+ }
+
+ @Test
+ public void test130UpdateXUser() {
+ destroySession();
+ setup();
+ destroySession();
+ setup();
+ VXUser vxUser = vxUser();
+ Mockito.when(restErrorUtil.createRESTException("Please provide a valid username.",MessageEnums.INVALID_INPUT_DATA)).thenThrow(new WebApplicationException());
+ thrown.expect(WebApplicationException.class);
+ vxUser = xUserMgr.updateXUser(null);
+ Assert.assertNull(vxUser);
+ }
+
+ @Test
+ public void test131hasAccess() {
+ destroySession();
+ setup();
+ destroySession();
+ boolean access = xUserMgr.hasAccess("test");
+ Assert.assertEquals(access, false);
+ }
+
+ @Test
+ public void test132CreateExternalUser() {
+ destroySession();
+ setup();
+ setup();
+ XXUserDao xxUserDao = Mockito.mock(XXUserDao.class);
+ VXUser vXUser = vxUser();
+ VXUser createdXUser = vxUser();
+ Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
+ Mockito.when(xxUserDao.findByUserName(vXUser.getName())).thenReturn(null);
+ XXPortalUserDao xXPortalUserDao = Mockito.mock(XXPortalUserDao.class);
+ Mockito.when(daoManager.getXXPortalUser()).thenReturn(xXPortalUserDao);
+ Mockito.when(xXPortalUserDao.findByLoginId(vXUser.getName().trim())).thenReturn(null);
+ Mockito.when(xUserService.createResource((VXUser) Mockito.any())).thenReturn(createdXUser);
+ createdXUser = xUserMgr.createExternalUser(vXUser.getName());
+ Assert.assertNotNull(createdXUser);
+ Assert.assertEquals(createdXUser.getName(), vXUser.getName());
+ }
}