Repository: ranger
Updated Branches:
  refs/heads/master f368dcb38 -> 344992900


http://git-wip-us.apache.org/repos/asf/ranger/blob/34499290/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
----------------------------------------------------------------------
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 39c60a9..4f4298a 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
@@ -6,7 +6,7 @@
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
@@ -22,9 +22,15 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
+import javax.servlet.http.HttpServletResponse;
+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;
@@ -43,46 +49,67 @@ import org.apache.ranger.db.XXPermMapDao;
 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.XXUserDao;
 import org.apache.ranger.db.XXUserPermissionDao;
+import org.apache.ranger.entity.XXAuditMap;
 import org.apache.ranger.entity.XXAuthSession;
 import org.apache.ranger.entity.XXGroup;
 import org.apache.ranger.entity.XXGroupGroup;
 import org.apache.ranger.entity.XXGroupPermission;
 import org.apache.ranger.entity.XXGroupUser;
 import org.apache.ranger.entity.XXModuleDef;
+import org.apache.ranger.entity.XXPermMap;
 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.XXUser;
 import org.apache.ranger.entity.XXUserPermission;
+import org.apache.ranger.plugin.model.RangerPolicy;
+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.security.context.RangerContextHolder;
 import org.apache.ranger.security.context.RangerSecurityContext;
 import org.apache.ranger.service.RangerPolicyService;
 import org.apache.ranger.service.XAuditMapService;
+import org.apache.ranger.service.XGroupGroupService;
 import org.apache.ranger.service.XGroupPermissionService;
 import org.apache.ranger.service.XGroupService;
 import org.apache.ranger.service.XGroupUserService;
 import org.apache.ranger.service.XModuleDefService;
 import org.apache.ranger.service.XPermMapService;
 import org.apache.ranger.service.XPortalUserService;
+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.view.VXAuditMap;
 import org.apache.ranger.view.VXAuditMapList;
 import org.apache.ranger.view.VXGroup;
+import org.apache.ranger.view.VXGroupGroup;
 import org.apache.ranger.view.VXGroupList;
 import org.apache.ranger.view.VXGroupPermission;
 import org.apache.ranger.view.VXGroupUser;
+import org.apache.ranger.view.VXGroupUserInfo;
 import org.apache.ranger.view.VXGroupUserList;
+import org.apache.ranger.view.VXLong;
 import org.apache.ranger.view.VXModuleDef;
+import org.apache.ranger.view.VXPermMap;
 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.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;
 import org.junit.Rule;
@@ -100,6 +127,10 @@ import org.mockito.junit.MockitoJUnitRunner;
 public class TestXUserMgr {
 
        private static Long userId = 8L;
+       private static String adminLoginID = "admin";
+       private static String keyadminLoginID = "keyadmin";
+       private static String userLoginID = "testuser";
+       private static String groupName = "public";
 
        private static Integer emptyValue;
 
@@ -165,6 +196,15 @@ public class TestXUserMgr {
 
        @Mock
        ServiceDBStore svcStore;
+
+       @Mock
+       XGroupGroupService xGroupGroupService;
+
+       @Mock
+       XResourceService xResourceService;
+
+       @Mock
+       XUgsyncAuditInfoService xUgsyncAuditInfoService;
        @Rule
        public ExpectedException thrown = ExpectedException.none();
 
@@ -172,39 +212,63 @@ public class TestXUserMgr {
                RangerSecurityContext context = new RangerSecurityContext();
                context.setUserSession(new UserSessionBase());
                RangerContextHolder.setSecurityContext(context);
-               UserSessionBase currentUserSession = ContextUtil
-                               .getCurrentUserSession();
+               UserSessionBase currentUserSession = 
ContextUtil.getCurrentUserSession();
                currentUserSession.setUserAdmin(true);
-        XXPortalUser gjUser = new XXPortalUser();
-        gjUser.setLoginId("test");
-        gjUser.setId(1L);
-        currentUserSession.setXXPortalUser(gjUser);
+               XXPortalUser xXPortalUser = new XXPortalUser();
+               xXPortalUser.setLoginId(adminLoginID);
+               xXPortalUser.setId(userId);
+               currentUserSession.setXXPortalUser(xXPortalUser);
+       }
+
+       @After
+       public void destroySession() {
+               RangerSecurityContext context = new RangerSecurityContext();
+               context.setUserSession(null);
+               RangerContextHolder.setSecurityContext(context);
        }
 
        private VXUser vxUser() {
                Collection<String> userRoleList = new ArrayList<String>();
                userRoleList.add("ROLE_USER");
                Collection<String> groupNameList = new ArrayList<String>();
-               groupNameList.add("Grp2");
+               groupNameList.add(groupName);
                VXUser vxUser = new VXUser();
                vxUser.setId(userId);
                vxUser.setDescription("group test working");
-               vxUser.setName("grouptest");
+               vxUser.setName(userLoginID);
                vxUser.setUserRoleList(userRoleList);
                vxUser.setGroupNameList(groupNameList);
-                vxUser.setPassword("usertest123");
+               vxUser.setPassword("usertest123");
+               vxUser.setEmailAddress("t...@test.com");
                return vxUser;
        }
 
-       private VXModuleDef vXModuleDef() {
-               VXUserPermission userPermission = vXUserPermission();
+       private XXUser xxUser(VXUser vxUser) {
+               XXUser xXUser = new XXUser();
+               xXUser.setId(userId);
+               xXUser.setName(vxUser.getName());
+               xXUser.setStatus(vxUser.getStatus());
+               xXUser.setIsVisible(vxUser.getIsVisible());
+               xXUser.setDescription(vxUser.getDescription());
+               return xXUser;
+       }
+
+       private VXGroup vxGroup() {
+               VXGroup vXGroup = new VXGroup();
+               vXGroup.setId(userId);
+               vXGroup.setDescription("group test working");
+               vXGroup.setName(groupName);
+               vXGroup.setIsVisible(1);
+               return vXGroup;
+       }
+
+       private VXModuleDef vxModuleDef() {
+               VXUserPermission userPermission = vxUserPermission();
                List<VXUserPermission> userPermList = new 
ArrayList<VXUserPermission>();
                userPermList.add(userPermission);
-
-               VXGroupPermission groupPermission = vXGroupPermission();
+               VXGroupPermission groupPermission = vxGroupPermission();
                List<VXGroupPermission> groupPermList = new 
ArrayList<VXGroupPermission>();
                groupPermList.add(groupPermission);
-
                VXModuleDef vxModuleDef = new VXModuleDef();
                vxModuleDef.setAddedById(userId);
                vxModuleDef.setCreateDate(new Date());
@@ -219,31 +283,28 @@ public class TestXUserMgr {
                vxModuleDef.setUrl("/policy manager");
                vxModuleDef.setUserPermList(userPermList);
                vxModuleDef.setGroupPermList(groupPermList);
-
                return vxModuleDef;
        }
 
-       private VXUserPermission vXUserPermission() {
+       private VXUserPermission vxUserPermission() {
                VXUserPermission userPermission = new VXUserPermission();
                userPermission.setId(1L);
                userPermission.setIsAllowed(1);
                userPermission.setModuleId(1L);
                userPermission.setUserId(userId);
-               userPermission.setUserName("xyz");
+               userPermission.setUserName(userLoginID);
                userPermission.setOwner("admin");
-
                return userPermission;
        }
 
-       private VXGroupPermission vXGroupPermission() {
+       private VXGroupPermission vxGroupPermission() {
                VXGroupPermission groupPermission = new VXGroupPermission();
                groupPermission.setId(1L);
                groupPermission.setIsAllowed(1);
                groupPermission.setModuleId(1L);
                groupPermission.setGroupId(userId);
-               groupPermission.setGroupName("xyz");
+               groupPermission.setGroupName(groupName);
                groupPermission.setOwner("admin");
-
                return groupPermission;
        }
 
@@ -252,35 +313,272 @@ public class TestXUserMgr {
                userProfile.setEmailAddress("t...@test.com");
                userProfile.setFirstName("user12");
                userProfile.setLastName("test12");
-               userProfile.setLoginId("134");
-               userProfile.setPassword("usertest12323");
-               userProfile.setUserSource(123);
-               userProfile.setPublicScreenName("user");
+               userProfile.setLoginId(userLoginID);
+               userProfile.setPassword("usertest123");
+               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 setupKeyAdmin() {
+               RangerSecurityContext context = new RangerSecurityContext();
+               context.setUserSession(new UserSessionBase());
+               RangerContextHolder.setSecurityContext(context);
+               UserSessionBase currentUserSession = 
ContextUtil.getCurrentUserSession();
+               XXPortalUser userKeyAdmin = new XXPortalUser();
+               userKeyAdmin.setId(userProfile().getId());
+               userKeyAdmin.setLoginId(keyadminLoginID);
+               currentUserSession.setXXPortalUser(userKeyAdmin);
+               currentUserSession.setKeyAdmin(true);
+       }
+
+       private List<XXModuleDef> xxModuleDefs(){
+               List<XXModuleDef> xXModuleDefs=new ArrayList<XXModuleDef>();
+               XXModuleDef xXModuleDef1=xxModuleDef();
+               XXModuleDef xXModuleDef2=xxModuleDef();
+               XXModuleDef xXModuleDef3=xxModuleDef();
+               XXModuleDef xXModuleDef4=xxModuleDef();
+               XXModuleDef xXModuleDef5=xxModuleDef();
+               xXModuleDef1.setId(1L);
+               xXModuleDef1.setModule("Resource Based Policies");
+               xXModuleDef1.setId(2L);
+               xXModuleDef1.setModule("Users/Groups");
+               xXModuleDef1.setId(3L);
+               xXModuleDef1.setModule("Reports");
+               xXModuleDef1.setId(4L);
+               xXModuleDef1.setModule("Audit");
+               xXModuleDef1.setId(5L);
+               xXModuleDef1.setModule("Key Manager");
+               xXModuleDefs.add(xXModuleDef1);
+               xXModuleDefs.add(xXModuleDef2);
+               xXModuleDefs.add(xXModuleDef3);
+               xXModuleDefs.add(xXModuleDef4);
+               xXModuleDefs.add(xXModuleDef5);
+               return xXModuleDefs;
+       }
+
+       private VXGroupUser vxGroupUser(){
+               VXUser vXUser = vxUser();
+               VXGroupUser vxGroupUser = new VXGroupUser();
+               vxGroupUser.setId(userId);
+               vxGroupUser.setName(vXUser.getName());
+               vxGroupUser.setOwner("Admin");
+               vxGroupUser.setUserId(vXUser.getId());
+               vxGroupUser.setUpdatedBy("User");
+               vxGroupUser.setParentGroupId(userId);
+               return vxGroupUser;
+       }
+
+       private VXGroupGroup vxGroupGroup(){
+               VXGroupGroup vXGroupGroup = new VXGroupGroup();
+               vXGroupGroup.setId(userId);
+               vXGroupGroup.setName("group user test");
+               vXGroupGroup.setOwner("Admin");
+               vXGroupGroup.setUpdatedBy("User");
+               return vXGroupGroup;
+       }
+
+       private XXGroupGroup xxGroupGroup(){
+               XXGroupGroup xXGroupGroup = new XXGroupGroup();
+               xXGroupGroup.setId(userId);
+               xXGroupGroup.setName("group user test");
+               return xXGroupGroup;
+       }
+
+       private XXPolicy getXXPolicy() {
+               XXPolicy xxPolicy = new XXPolicy();
+               xxPolicy.setId(userId);
+               xxPolicy.setName("HDFS_1-1-20150316062453");
+               xxPolicy.setAddedByUserId(userId);
+               xxPolicy.setCreateTime(new Date());
+               xxPolicy.setDescription("test");
+               xxPolicy.setIsAuditEnabled(false);
+               xxPolicy.setIsEnabled(false);
+               xxPolicy.setService(1L);
+               xxPolicy.setUpdatedByUserId(userId);
+               xxPolicy.setUpdateTime(new Date());
+               return xxPolicy;
+       }
+
+       private VXGroupUserList vxGroupUserList(){
+               VXGroupUserList vxGroupUserList = new VXGroupUserList();
+               List<VXGroupUser> vXGroupUsers =new ArrayList<VXGroupUser>();
+               VXGroupUser vxGroupUser = vxGroupUser();
+               vXGroupUsers.add(vxGroupUser);
+               vxGroupUserList.setVXGroupUsers(vXGroupUsers);
+               return vxGroupUserList;
+       }
+
+       private ArrayList<String> getRoleList() {
+               ArrayList<String> userRoleList = new ArrayList<String>();
+               userRoleList.add("ROLE_USER");
+               return userRoleList;
+       }
+
+       private SearchCriteria createsearchCriteria(){
+               SearchCriteria testsearchCriteria = new SearchCriteria();
+               testsearchCriteria.setStartIndex(0);
+               testsearchCriteria.setMaxRows(Integer.MAX_VALUE);
+               testsearchCriteria.setSortBy("id");
+               testsearchCriteria.setSortType("asc");
+               testsearchCriteria.setGetCount(true);
+               testsearchCriteria.setOwnerId(null);
+               testsearchCriteria.setGetChildren(false);
+               testsearchCriteria.setDistinct(false);
+               return testsearchCriteria;
+       }
+
+       private XXUserPermission 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);
+               return xUserPermissionObj;
+       }
+
+       private XXGroupPermission xxGroupPermission(){
+               XXGroupPermission xGroupPermissionObj = new XXGroupPermission();
+               xGroupPermissionObj.setAddedByUserId(userId);
+               xGroupPermissionObj.setCreateTime(new Date());
+               xGroupPermissionObj.setId(userId);
+               xGroupPermissionObj.setIsAllowed(1);
+               xGroupPermissionObj.setModuleId(1L);
+               xGroupPermissionObj.setUpdatedByUserId(userId);
+               xGroupPermissionObj.setUpdateTime(new Date());
+               xGroupPermissionObj.setGroupId(userId);
+               return xGroupPermissionObj;
+       }
+
+       private XXModuleDef xxModuleDef(){
+               XXModuleDef xModuleDef = new XXModuleDef();
+               xModuleDef.setUpdatedByUserId(userId);
+               xModuleDef.setAddedByUserId(userId);
+               xModuleDef.setCreateTime(new Date());
+               xModuleDef.setId(userId);
+               xModuleDef.setModule("Policy manager");
+               xModuleDef.setUpdateTime(new Date());
+               xModuleDef.setUrl("/policy manager");
+               return xModuleDef;
+       }
+
+       private VXPermMap getVXPermMap(){
+               VXPermMap testVXPermMap= new VXPermMap();
+               testVXPermMap.setCreateDate(new Date());
+               testVXPermMap.setGroupId(userId);
+               testVXPermMap.setGroupName("testGroup");
+               testVXPermMap.setId(userId);
+               testVXPermMap.setOwner("Admin");
+               testVXPermMap.setPermGroup("testPermGroup");
+               testVXPermMap.setPermType(1);
+               testVXPermMap.setResourceId(userId);
+               testVXPermMap.setUpdateDate(new Date());
+               testVXPermMap.setUpdatedBy("Admin");
+               testVXPermMap.setUserId(userId);
+               testVXPermMap.setUserName("testUser");
+               testVXPermMap.setPermFor(1);
+               return testVXPermMap;
+       }
+
+       private VXAuditMap getVXAuditMap() {
+               VXAuditMap testVXAuditMap=new VXAuditMap();
+               testVXAuditMap.setAuditType(1);
+               testVXAuditMap.setCreateDate(new Date());
+               testVXAuditMap.setGroupId(userId);
+               testVXAuditMap.setId(userId);
+               testVXAuditMap.setResourceId(userId);
+               testVXAuditMap.setUpdateDate(new Date());
+               testVXAuditMap.setOwner("Admin");
+               testVXAuditMap.setUpdatedBy("Admin");
+               testVXAuditMap.setUserId(userId);
+               return testVXAuditMap;
+       }
+
+       private RangerPolicy rangerPolicy() {
+               List<RangerPolicyItemAccess> accesses = new 
ArrayList<RangerPolicyItemAccess>();
+               List<String> users = new ArrayList<String>();
+               List<String> groups = new ArrayList<String>();
+               List<String> policyLabels = new ArrayList<String>();
+               List<RangerPolicyItemCondition> conditions = new 
ArrayList<RangerPolicyItemCondition>();
+               List<RangerPolicyItem> policyItems = new 
ArrayList<RangerPolicyItem>();
+               RangerPolicyItem rangerPolicyItem = new RangerPolicyItem();
+               rangerPolicyItem.setAccesses(accesses);
+               rangerPolicyItem.setConditions(conditions);
+               rangerPolicyItem.setGroups(groups);
+               rangerPolicyItem.setUsers(users);
+               rangerPolicyItem.setDelegateAdmin(false);
+
+               policyItems.add(rangerPolicyItem);
+
+               Map<String, RangerPolicyResource> policyResource = new 
HashMap<String, RangerPolicyResource>();
+               RangerPolicyResource rangerPolicyResource = new 
RangerPolicyResource();
+               rangerPolicyResource.setIsExcludes(true);
+               rangerPolicyResource.setIsRecursive(true);
+               rangerPolicyResource.setValue("1");
+               rangerPolicyResource.setValues(users);
+               RangerPolicy policy = new RangerPolicy();
+               policy.setId(userId);
+               policy.setCreateTime(new Date());
+               policy.setDescription("policy");
+               policy.setGuid("policyguid");
+               policy.setIsEnabled(true);
+               policy.setName("HDFS_1-1-20150316062453");
+               policy.setUpdatedBy("Admin");
+               policy.setUpdateTime(new Date());
+               policy.setService("HDFS_1-1-20150316062453");
+               policy.setIsAuditEnabled(true);
+               policy.setPolicyItems(policyItems);
+               policy.setResources(policyResource);
+               policy.setPolicyLabels(policyLabels);
+               return policy;
+       }
+
+       public void setupUser() {
+               RangerSecurityContext context = new RangerSecurityContext();
+               context.setUserSession(new UserSessionBase());
+               RangerContextHolder.setSecurityContext(context);
+               UserSessionBase currentUserSession = 
ContextUtil.getCurrentUserSession();
+               XXPortalUser user = new XXPortalUser();
+               user.setId(userProfile().getId());
+               user.setLoginId(userProfile().getLoginId());
+               currentUserSession.setXXPortalUser(user);
+       }
+
        @Test
-       public void test11CreateXUser() {
+       public void test01CreateXUser() {
                setup();
                VXUser vxUser = vxUser();
-               Collection<String> userRoleList = new ArrayList<String>();
-               userRoleList.add("test");
-               vxUser.setUserRoleList(userRoleList);
-
-               ArrayList<String> userRoleListVXPortaUser = new 
ArrayList<String>();
-
+               vxUser.setFirstName("user12");
+               vxUser.setLastName("test12");
+               Collection<Long> groupIdList = new ArrayList<Long>();
+               groupIdList.add(userId);
+               vxUser.setGroupIdList(groupIdList);
+               VXGroup vxGroup = vxGroup();
+               
Mockito.when(xGroupService.readResource(userId)).thenReturn(vxGroup);
+               ArrayList<String> userRoleListVXPortaUser = getRoleList();
                VXPortalUser vXPortalUser = new VXPortalUser();
                vXPortalUser.setUserRoleList(userRoleListVXPortaUser);
-
                
Mockito.when(xUserService.createResource(vxUser)).thenReturn(vxUser);
                XXModuleDefDao value = Mockito.mock(XXModuleDefDao.class);
                Mockito.when(daoManager.getXXModuleDef()).thenReturn(value);
-
-               Mockito.when(
-                               userMgr.createDefaultAccountUser((VXPortalUser) 
Mockito
-                                               
.any())).thenReturn(vXPortalUser);
-
+               Mockito.when(userMgr.createDefaultAccountUser((VXPortalUser) 
Mockito.any())).thenReturn(vXPortalUser);
                VXUser dbUser = xUserMgr.createXUser(vxUser);
                Assert.assertNotNull(dbUser);
                userId = dbUser.getId();
@@ -289,38 +587,112 @@ public class TestXUserMgr {
                Assert.assertEquals(dbUser.getName(), vxUser.getName());
                Assert.assertEquals(dbUser.getUserRoleList(), 
vxUser.getUserRoleList());
                Assert.assertEquals(dbUser.getGroupNameList(),
-                               vxUser.getGroupNameList());
-
+               vxUser.getGroupNameList());
                Mockito.verify(xUserService).createResource(vxUser);
-
-               
Mockito.when(xUserService.readResourceWithOutLogin(userId)).thenReturn(
-                               vxUser);
+               
Mockito.when(xUserService.readResourceWithOutLogin(userId)).thenReturn(vxUser);
                VXUser dbvxUser = xUserMgr.getXUser(userId);
-
-               Mockito.verify(userMgr).createDefaultAccountUser(
-                               (VXPortalUser) Mockito.any());
+               Mockito.verify(userMgr).createDefaultAccountUser((VXPortalUser) 
Mockito.any());
                Mockito.verify(daoManager).getXXModuleDef();
                Assert.assertNotNull(dbvxUser);
                Assert.assertEquals(userId, dbvxUser.getId());
                Assert.assertEquals(dbvxUser.getDescription(), 
vxUser.getDescription());
                Assert.assertEquals(dbvxUser.getName(), vxUser.getName());
-               Assert.assertEquals(dbvxUser.getUserRoleList(),
-                               vxUser.getUserRoleList());
-               Assert.assertEquals(dbvxUser.getGroupNameList(),
-                               vxUser.getGroupNameList());
+               
Assert.assertEquals(dbvxUser.getUserRoleList(),vxUser.getUserRoleList());
+               
Assert.assertEquals(dbvxUser.getGroupNameList(),vxUser.getGroupNameList());
                Mockito.verify(xUserService).readResourceWithOutLogin(userId);
        }
 
        @Test
-       public void test12UpdateXUser() {
+       public void test02CreateXUser_WithBlankName() {
                setup();
                VXUser vxUser = vxUser();
-               vxUser.setUserSource(RangerCommonEnums.USER_APP);
-               vxUser.setName("name");
-               
Mockito.when(xUserService.updateResource(vxUser)).thenReturn(vxUser);
+               ArrayList<String> userRoleListVXPortaUser = getRoleList();
                VXPortalUser vXPortalUser = new VXPortalUser();
-               
Mockito.when(userMgr.getUserProfileByLoginId(vxUser.getName())).thenReturn(vXPortalUser);
+               vXPortalUser.setUserRoleList(userRoleListVXPortaUser);
+               vxUser.setName(null);
+               Mockito.when(restErrorUtil.createRESTException("Please provide 
a valid username.",MessageEnums.INVALID_INPUT_DATA)).thenThrow(new 
WebApplicationException());
+               thrown.expect(WebApplicationException.class);
+               VXUser vXUser=xUserMgr.createXUser(vxUser);
+               Assert.assertNull(vXUser);
+       }
+
+       @Test
+       public void test03CreateXUser_WithBlankName() {
+               destroySession();
+               setup();
+               VXUser vxUser = vxUser();
+               ArrayList<String> userRoleListVXPortaUser = getRoleList();
+               VXPortalUser vXPortalUser = new VXPortalUser();
+               vXPortalUser.setUserRoleList(userRoleListVXPortaUser);
+               vxUser.setName("");
+               Mockito.when(restErrorUtil.createRESTException("Please provide 
a valid username.",MessageEnums.INVALID_INPUT_DATA)).thenThrow(new 
WebApplicationException());
+               thrown.expect(WebApplicationException.class);
+               xUserMgr.createXUser(vxUser);
+       }
+
+       @Test
+       public void test04CreateXUser_WithBlankValues() {
+               setup();
+               VXUser vxUser = vxUser();
+               ArrayList<String> userRoleListVXPortaUser = getRoleList();
+               VXPortalUser vXPortalUser = new VXPortalUser();
+               vXPortalUser.setUserRoleList(userRoleListVXPortaUser);
+               vxUser.setDescription(null);
+               vxUser.setFirstName("null");
+               vxUser.setLastName("null");
+               
Mockito.when(xUserService.createResource(vxUser)).thenReturn(vxUser);
+               xUserMgr.createXUser(vxUser);
+       }
 
+       @Test
+       public void test05UpdateXUser() {
+               setup();
+               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);
+               Collection<Long> groupIdList = new ArrayList<Long>();
+               groupIdList.add(userId);
+               VXUser vxUser = vxUser();
+               vxUser.setUserRoleList(reqRoleList);
+               vxUser.setUserSource(RangerCommonEnums.USER_EXTERNAL);
+               vxUser.setGroupIdList(groupIdList);
+               vxUser.setFirstName("user12");
+               vxUser.setLastName("test12");
+               
Mockito.when(xUserService.updateResource(vxUser)).thenReturn(vxUser);
+               XXModuleDefDao xModuleDefDao = 
Mockito.mock(XXModuleDefDao.class);
+               VXPortalUser vXPortalUser = userProfile();
+               vXPortalUser.setUserRoleList(existingRoleList);
+               
Mockito.when(userMgr.getUserProfileByLoginId(vxUser.getName())).thenReturn(vXPortalUser);
+               
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);
+               List<XXModuleDef> xXModuleDefs = xxModuleDefs();
+               
Mockito.when(xUserPermissionDao.findByUserPermissionId(vXPortalUser.getId())).thenReturn(xUserPermissionsList);
+               
Mockito.when(daoManager.getXXModuleDef()).thenReturn(xModuleDefDao);
+               Mockito.when(xModuleDefDao.getAll()).thenReturn(xXModuleDefs);
+               XXUser xXUser = xxUser(vxUser);
+               XXUserDao xxUserDao = Mockito.mock(XXUserDao.class);
+               Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
+               
Mockito.when(xxUserDao.findByPortalUserId(vXPortalUser.getId())).thenReturn(xXUser);
+               VXGroupUserList vxGroupUserList = vxGroupUserList();
+               
Mockito.when(xGroupUserService.searchXGroupUsers((SearchCriteria) 
Mockito.any())).thenReturn(vxGroupUserList);
+               UserSessionBase userSession = 
Mockito.mock(UserSessionBase.class);
+               Set<UserSessionBase> userSessions = new 
HashSet<UserSessionBase>();
+               userSessions.add(userSession);
+               VXUserPermission vXUserPermission = vxUserPermission();
+               
Mockito.when(xUserPermissionService.createResource((VXUserPermission) 
Mockito.any())).thenReturn(vXUserPermission);
+               
Mockito.when(sessionMgr.getActiveUserSessionsForPortalUserId(userId)).thenReturn(userSessions);
                VXUser dbvxUser = xUserMgr.updateXUser(vxUser);
                Assert.assertNotNull(dbvxUser);
                Assert.assertEquals(dbvxUser.getId(), vxUser.getId());
@@ -330,20 +702,18 @@ public class TestXUserMgr {
        }
 
        @Test
-       public void test13ModifyUserVisibilitySetOne() {
+       public void test06ModifyUserVisibilitySetOne() {
+               setup();
                XXUserDao xxUserDao = Mockito.mock(XXUserDao.class);
                XXUser xxUser = Mockito.mock(XXUser.class);
                VXUser vxUser = vxUser();
-
                
Mockito.when(xUserService.updateResource(vxUser)).thenReturn(vxUser);
                HashMap<Long, Integer> visibilityMap = new HashMap<Long, 
Integer>();
                Integer value = 1;
                visibilityMap.put(userId, value);
-
                Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
                Mockito.when(xxUserDao.getById(userId)).thenReturn(xxUser);
                
Mockito.when(xUserService.populateViewBean(xxUser)).thenReturn(vxUser);
-
                xUserMgr.modifyUserVisibility(visibilityMap);
                Assert.assertEquals(value, vxUser.getIsVisible());
                Assert.assertEquals(userId, vxUser.getId());
@@ -353,20 +723,18 @@ public class TestXUserMgr {
        }
 
        @Test
-       public void test14ModifyUserVisibilitySetZero() {
+       public void test07ModifyUserVisibilitySetZero() {
+               setup();
                XXUserDao xxUserDao = Mockito.mock(XXUserDao.class);
                XXUser xxUser = Mockito.mock(XXUser.class);
                VXUser vxUser = vxUser();
-
                
Mockito.when(xUserService.updateResource(vxUser)).thenReturn(vxUser);
                HashMap<Long, Integer> visibilityMap = new HashMap<Long, 
Integer>();
                Integer value = 0;
                visibilityMap.put(userId, value);
-
                Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
                Mockito.when(xxUserDao.getById(userId)).thenReturn(xxUser);
                
Mockito.when(xUserService.populateViewBean(xxUser)).thenReturn(vxUser);
-
                xUserMgr.modifyUserVisibility(visibilityMap);
                Assert.assertEquals(value, vxUser.getIsVisible());
                Assert.assertEquals(userId, vxUser.getId());
@@ -376,19 +744,17 @@ public class TestXUserMgr {
        }
 
        @Test
-       public void test15ModifyUserVisibilitySetEmpty() {
+       public void test08ModifyUserVisibilitySetEmpty() {
+               setup();
                XXUserDao xxUserDao = Mockito.mock(XXUserDao.class);
                XXUser xxUser = Mockito.mock(XXUser.class);
                VXUser vxUser = vxUser();
-
                
Mockito.when(xUserService.updateResource(vxUser)).thenReturn(vxUser);
                HashMap<Long, Integer> visibilityMap = new HashMap<Long, 
Integer>();
                visibilityMap.put(userId, emptyValue);
-
                Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
                Mockito.when(xxUserDao.getById(userId)).thenReturn(xxUser);
                
Mockito.when(xUserService.populateViewBean(xxUser)).thenReturn(vxUser);
-
                xUserMgr.modifyUserVisibility(visibilityMap);
                Assert.assertEquals(emptyValue, vxUser.getIsVisible());
                Assert.assertEquals(userId, vxUser.getId());
@@ -398,45 +764,32 @@ public class TestXUserMgr {
        }
 
        @Test
-       public void test16CreateXGroup() {
+       public void test09CreateXGroup() {
                setup();
-               VXGroup vXGroup = new VXGroup();
-               vXGroup.setId(userId);
-               vXGroup.setDescription("group test");
-               vXGroup.setName("grouptest");
-
+               VXGroup vXGroup = vxGroup();
+               vXGroup.setDescription(null);
                
Mockito.when(xGroupService.createResource(vXGroup)).thenReturn(vXGroup);
-
                VXGroup dbXGroup = xUserMgr.createXGroup(vXGroup);
                Assert.assertNotNull(dbXGroup);
                userId = dbXGroup.getId();
                Assert.assertEquals(userId, dbXGroup.getId());
-               Assert.assertEquals(vXGroup.getDescription(), 
dbXGroup.getDescription());
                Assert.assertEquals(vXGroup.getName(), dbXGroup.getName());
                Mockito.verify(xGroupService).createResource(vXGroup);
-
-               Mockito.when(xGroupService.readResourceWithOutLogin(userId))
-                               .thenReturn(vXGroup);
+               
Mockito.when(xGroupService.readResourceWithOutLogin(userId)).thenReturn(vXGroup);
                VXGroup dbxGroup = xUserMgr.getXGroup(userId);
                Assert.assertNotNull(dbXGroup);
                Assert.assertEquals(userId, dbxGroup.getId());
-               Assert.assertEquals(dbXGroup.getDescription(),
-                               dbxGroup.getDescription());
                Assert.assertEquals(dbXGroup.getName(), dbxGroup.getName());
                Mockito.verify(xGroupService).readResourceWithOutLogin(userId);
        }
 
        @Test
-       public void test17UpdateXGroup() {
+       public void test10UpdateXGroup() {
                XXGroupDao xxGroupDao = Mockito.mock(XXGroupDao.class);
                XXGroupUserDao xxGroupUserDao = 
Mockito.mock(XXGroupUserDao.class);
                List<XXGroupUser> grpUsers =new ArrayList<XXGroupUser>();
                setup();
-               VXGroup vXGroup = new VXGroup();
-               vXGroup.setId(userId);
-               vXGroup.setDescription("group test");
-               vXGroup.setName("grouptest");
-
+               VXGroup vXGroup = vxGroup();
                XXGroup xxGroup = new XXGroup();
                Mockito.when(daoManager.getXXGroup()).thenReturn(xxGroupDao);
                
Mockito.when(xxGroupDao.getById(vXGroup.getId())).thenReturn(xxGroup);
@@ -447,8 +800,7 @@ public class TestXUserMgr {
                Assert.assertNotNull(dbvxGroup);
                userId = dbvxGroup.getId();
                Assert.assertEquals(userId, dbvxGroup.getId());
-               Assert.assertEquals(vXGroup.getDescription(),
-                               dbvxGroup.getDescription());
+               
Assert.assertEquals(vXGroup.getDescription(),dbvxGroup.getDescription());
                Assert.assertEquals(vXGroup.getName(), dbvxGroup.getName());
                Mockito.verify(daoManager).getXXGroup();
                Mockito.verify(daoManager).getXXGroupUser();
@@ -457,24 +809,18 @@ public class TestXUserMgr {
        }
 
        @Test
-       public void test18ModifyGroupsVisibilitySetOne() {
+       public void test11ModifyGroupsVisibilitySetOne() {
+               setup();
                XXGroupDao xxGroupDao = Mockito.mock(XXGroupDao.class);
-               VXGroup vXGroup = new VXGroup();
-               vXGroup.setId(userId);
-               vXGroup.setDescription("group test");
-               vXGroup.setName("grouptest");
-
+               VXGroup vXGroup = vxGroup();
                XXGroup xxGroup = new XXGroup();
                HashMap<Long, Integer> groupVisibilityMap = new HashMap<Long, 
Integer>();
                Integer value = 1;
                groupVisibilityMap.put(userId, value);
-
                Mockito.when(daoManager.getXXGroup()).thenReturn(xxGroupDao);
                
Mockito.when(xxGroupDao.getById(vXGroup.getId())).thenReturn(xxGroup);
-               
Mockito.when(xGroupService.populateViewBean(xxGroup)).thenReturn(
-                               vXGroup);
+               
Mockito.when(xGroupService.populateViewBean(xxGroup)).thenReturn(vXGroup);
                
Mockito.when(xGroupService.updateResource(vXGroup)).thenReturn(vXGroup);
-
                xUserMgr.modifyGroupsVisibility(groupVisibilityMap);
                Assert.assertEquals(value, vXGroup.getIsVisible());
                Assert.assertEquals(userId, vXGroup.getId());
@@ -484,24 +830,18 @@ public class TestXUserMgr {
        }
 
        @Test
-       public void test19ModifyGroupsVisibilitySetZero() {
+       public void test12ModifyGroupsVisibilitySetZero() {
+               setup();
                XXGroupDao xxGroupDao = Mockito.mock(XXGroupDao.class);
-               VXGroup vXGroup = new VXGroup();
-               vXGroup.setId(userId);
-               vXGroup.setDescription("group test");
-               vXGroup.setName("grouptest");
-
+               VXGroup vXGroup = vxGroup();
                XXGroup xxGroup = new XXGroup();
                HashMap<Long, Integer> groupVisibilityMap = new HashMap<Long, 
Integer>();
                Integer value = 0;
                groupVisibilityMap.put(userId, value);
-
                Mockito.when(daoManager.getXXGroup()).thenReturn(xxGroupDao);
                
Mockito.when(xxGroupDao.getById(vXGroup.getId())).thenReturn(xxGroup);
-               
Mockito.when(xGroupService.populateViewBean(xxGroup)).thenReturn(
-                               vXGroup);
+               
Mockito.when(xGroupService.populateViewBean(xxGroup)).thenReturn(vXGroup);
                
Mockito.when(xGroupService.updateResource(vXGroup)).thenReturn(vXGroup);
-
                xUserMgr.modifyGroupsVisibility(groupVisibilityMap);
                Assert.assertEquals(value, vXGroup.getIsVisible());
                Assert.assertEquals(userId, vXGroup.getId());
@@ -511,23 +851,17 @@ public class TestXUserMgr {
        }
 
        @Test
-       public void test20ModifyGroupsVisibilitySetEmpty() {
+       public void test13ModifyGroupsVisibilitySetEmpty() {
+               setup();
                XXGroupDao xxGroupDao = Mockito.mock(XXGroupDao.class);
-               VXGroup vXGroup = new VXGroup();
-               vXGroup.setId(userId);
-               vXGroup.setDescription("group test");
-               vXGroup.setName("grouptest");
-
+               VXGroup vXGroup = vxGroup();
                XXGroup xxGroup = new XXGroup();
                HashMap<Long, Integer> groupVisibilityMap = new HashMap<Long, 
Integer>();
                groupVisibilityMap.put(userId, emptyValue);
-
                Mockito.when(daoManager.getXXGroup()).thenReturn(xxGroupDao);
                
Mockito.when(xxGroupDao.getById(vXGroup.getId())).thenReturn(xxGroup);
-               
Mockito.when(xGroupService.populateViewBean(xxGroup)).thenReturn(
-                               vXGroup);
+               
Mockito.when(xGroupService.populateViewBean(xxGroup)).thenReturn(vXGroup);
                
Mockito.when(xGroupService.updateResource(vXGroup)).thenReturn(vXGroup);
-
                xUserMgr.modifyGroupsVisibility(groupVisibilityMap);
                Assert.assertEquals(emptyValue, vXGroup.getIsVisible());
                Assert.assertEquals(userId, vXGroup.getId());
@@ -537,19 +871,10 @@ public class TestXUserMgr {
        }
 
        @Test
-       public void test21createXGroupUser() {
+       public void test14createXGroupUser() {
                setup();
-               VXGroupUser vxGroupUser = new VXGroupUser();
-               vxGroupUser.setId(userId);
-               vxGroupUser.setName("group user test");
-               vxGroupUser.setOwner("Admin");
-               vxGroupUser.setUserId(userId);
-               vxGroupUser.setUpdatedBy("User");
-
-               Mockito.when(
-                               
xGroupUserService.createXGroupUserWithOutLogin(vxGroupUser))
-                               .thenReturn(vxGroupUser);
-
+               VXGroupUser vxGroupUser = vxGroupUser();
+               
Mockito.when(xGroupUserService.createXGroupUserWithOutLogin(vxGroupUser)).thenReturn(vxGroupUser);
                VXGroupUser dbVXGroupUser = 
xUserMgr.createXGroupUser(vxGroupUser);
                Assert.assertNotNull(dbVXGroupUser);
                userId = dbVXGroupUser.getId();
@@ -557,18 +882,9 @@ public class TestXUserMgr {
                Assert.assertEquals(dbVXGroupUser.getOwner(), 
vxGroupUser.getOwner());
                Assert.assertEquals(dbVXGroupUser.getName(), 
vxGroupUser.getName());
                Assert.assertEquals(dbVXGroupUser.getUserId(), 
vxGroupUser.getUserId());
-               Assert.assertEquals(dbVXGroupUser.getUpdatedBy(),
-                               vxGroupUser.getUpdatedBy());
-               Mockito.verify(xGroupUserService).createXGroupUserWithOutLogin(
-                               vxGroupUser);
-
-               Mockito.when(xGroupUserService.readResourceWithOutLogin(userId))
-                               .thenReturn(vxGroupUser);
-               VXGroup vXGroup = new VXGroup();
-               vXGroup.setId(userId);
-               vXGroup.setDescription("group test");
-               vXGroup.setName("grouptest");
-
+               
Assert.assertEquals(dbVXGroupUser.getUpdatedBy(),vxGroupUser.getUpdatedBy());
+               
Mockito.verify(xGroupUserService).createXGroupUserWithOutLogin(vxGroupUser);
+               
Mockito.when(xGroupUserService.readResourceWithOutLogin(userId)).thenReturn(vxGroupUser);
                VXGroupUser dbvxGroupUser = xUserMgr.getXGroupUser(userId);
                Assert.assertNotNull(dbvxGroupUser);
                userId = dbvxGroupUser.getId();
@@ -576,57 +892,56 @@ public class TestXUserMgr {
                Assert.assertEquals(dbvxGroupUser.getOwner(), 
vxGroupUser.getOwner());
                Assert.assertEquals(dbvxGroupUser.getName(), 
vxGroupUser.getName());
                Assert.assertEquals(dbvxGroupUser.getUserId(), 
vxGroupUser.getUserId());
-               Assert.assertEquals(dbvxGroupUser.getUpdatedBy(),
-                               vxGroupUser.getUpdatedBy());
+               
Assert.assertEquals(dbvxGroupUser.getUpdatedBy(),vxGroupUser.getUpdatedBy());
                
Mockito.verify(xGroupUserService).readResourceWithOutLogin(userId);
        }
 
        @Test
-       public void test22GetXUserGroups() {
+       public void test15GetXUserGroups() {
+               List<VXGroup> vXGroupList = new ArrayList<VXGroup>();
+               final VXGroup vXGroup1 = vxGroup();
+               vXGroup1.setName("users");
+               vXGroup1.setDescription("users -added for unit testing");
+               vXGroupList.add(vXGroup1);
+               SearchCriteria testSearchCriteria = createsearchCriteria();
+               testSearchCriteria.addParam("xUserId", userId);
+               VXGroupUserList vxGroupUserList = vxGroupUserList();
+               
Mockito.when(xGroupUserService.searchXGroupUsers((SearchCriteria) 
Mockito.any())).thenReturn(vxGroupUserList);
                VXGroupList dbVXGroupList = xUserMgr.getXUserGroups(userId);
                Assert.assertNotNull(dbVXGroupList);
        }
 
        @Test
-       public void test23GetXGroupUsers() {
-                SearchCriteria testSearchCriteria = createsearchCriteria();
-                testSearchCriteria.addParam("xGroupId", userId);
-                VXUserList dbVXUserList = 
xUserMgr.getXGroupUsers(testSearchCriteria);
-               VXGroup vXGroup = new VXGroup();
-               vXGroup.setId(userId);
-               vXGroup.setDescription("group test");
-               vXGroup.setName("grouptest");
+       public void test16GetXGroupUsers() {
+               SearchCriteria testSearchCriteria = createsearchCriteria();
+               testSearchCriteria.addParam("xGroupId", userId);
+               VXGroupUserList vxGroupUserList = vxGroupUserList();
+               
Mockito.when(xGroupUserService.searchXGroupUsers((SearchCriteria) 
Mockito.any())).thenReturn(vxGroupUserList);
+               VXUserList dbVXUserList = 
xUserMgr.getXGroupUsers(testSearchCriteria);
                Assert.assertNotNull(dbVXUserList);
        }
 
        @Test
-       public void test24GetXUserByUserName() {
+       public void test17GetXUserByUserName() {
+               setupUser();
                VXUser vxUser = vxUser();
-               String userName = "test";
-
-               
Mockito.when(xUserService.getXUserByUserName(userName)).thenReturn(
-                               vxUser);
-        XXModuleDefDao xxModuleDefDao = Mockito.mock(XXModuleDefDao.class);
-        Mockito.when(daoManager.getXXModuleDef()).thenReturn(xxModuleDefDao);
-
-               VXUser dbVXUser = xUserMgr.getXUserByUserName(userName);
+               
Mockito.when(xUserService.getXUserByUserName(vxUser.getName())).thenReturn(vxUser);
+               XXModuleDefDao xxModuleDefDao = 
Mockito.mock(XXModuleDefDao.class);
+               
Mockito.when(daoManager.getXXModuleDef()).thenReturn(xxModuleDefDao);
+               VXUser dbVXUser = xUserMgr.getXUserByUserName(vxUser.getName());
                Assert.assertNotNull(dbVXUser);
                userId = dbVXUser.getId();
                Assert.assertEquals(userId, dbVXUser.getId());
                Assert.assertEquals(dbVXUser.getName(), vxUser.getName());
                Assert.assertEquals(dbVXUser.getOwner(), vxUser.getOwner());
-        Mockito.verify(xUserService, Mockito.atLeast(2)).getXUserByUserName(
-                userName);
+               Mockito.verify(xUserService, 
Mockito.atLeast(2)).getXUserByUserName(vxUser.getName());
        }
 
        @Test
-       public void test25CreateXUserWithOutLogin() {
+       public void test18CreateXUserWithOutLogin() {
                setup();
                VXUser vxUser = vxUser();
-
-               
Mockito.when(xUserService.createXUserWithOutLogin(vxUser)).thenReturn(
-                               vxUser);
-
+               
Mockito.when(xUserService.createXUserWithOutLogin(vxUser)).thenReturn(vxUser);
                VXUser dbUser = xUserMgr.createXUserWithOutLogin(vxUser);
                Assert.assertNotNull(dbUser);
                userId = dbUser.getId();
@@ -634,130 +949,140 @@ public class TestXUserMgr {
                Assert.assertEquals(dbUser.getDescription(), 
vxUser.getDescription());
                Assert.assertEquals(dbUser.getName(), vxUser.getName());
                Assert.assertEquals(dbUser.getUserRoleList(), 
vxUser.getUserRoleList());
-               Assert.assertEquals(dbUser.getGroupNameList(),
-                               vxUser.getGroupNameList());
+               
Assert.assertEquals(dbUser.getGroupNameList(),vxUser.getGroupNameList());
                Mockito.verify(xUserService).createXUserWithOutLogin(vxUser);
        }
 
        @Test
-       public void test26CreateXGroupWithoutLogin() {
+       public void test19CreateXGroupWithoutLogin() {
                setup();
-               VXGroup vXGroup = new VXGroup();
-               vXGroup.setId(userId);
-               vXGroup.setDescription("group test");
-               vXGroup.setName("grouptest");
-
-               Mockito.when(xGroupService.createXGroupWithOutLogin(vXGroup))
-                               .thenReturn(vXGroup);
-
+               VXGroup vXGroup = vxGroup();
+               
Mockito.when(xGroupService.createXGroupWithOutLogin(vXGroup)).thenReturn(vXGroup);
                VXGroup dbVXGroup = xUserMgr.createXGroupWithoutLogin(vXGroup);
                Assert.assertNotNull(dbVXGroup);
                userId = dbVXGroup.getId();
                Assert.assertEquals(userId, dbVXGroup.getId());
-               Assert.assertEquals(vXGroup.getDescription(),
-                               dbVXGroup.getDescription());
+               
Assert.assertEquals(vXGroup.getDescription(),dbVXGroup.getDescription());
                Assert.assertEquals(vXGroup.getName(), dbVXGroup.getName());
                Mockito.verify(xGroupService).createXGroupWithOutLogin(vXGroup);
        }
 
        @Test
-       public void test27DeleteXGroup() {
+       public void test20DeleteXGroup() {
                setup();
                boolean force = true;
-               VXGroup vXGroup = new VXGroup();
-               vXGroup.setId(userId);
-               vXGroup.setDescription("group test");
-               vXGroup.setName("grouptest");
-               // XXGroup
+               VXGroup vXGroup = vxGroup();
                XXGroupDao xXGroupDao = Mockito.mock(XXGroupDao.class);
+               XXUserDao xXUserDao = Mockito.mock(XXUserDao.class);
+               VXUser vxUser=vxUser();
+               XXUser xXUser = xxUser(vxUser);
+               Mockito.when(daoManager.getXXUser()).thenReturn(xXUserDao);
+               
Mockito.when(xXUserDao.getById(xXUser.getId())).thenReturn(xXUser);
                XXGroup xXGroup = new XXGroup();
                Mockito.when(daoManager.getXXGroup()).thenReturn(xXGroupDao);
                
Mockito.when(xXGroupDao.getById(vXGroup.getId())).thenReturn(xXGroup);
                
Mockito.when(xGroupService.populateViewBean(xXGroup)).thenReturn(vXGroup);
-               // VXGroupUser
-               VXGroupUserList vxGroupUserList = new VXGroupUserList();
+               VXGroupUserList vxGroupUserList = vxGroupUserList();
                XXGroupUserDao xGroupUserDao = 
Mockito.mock(XXGroupUserDao.class);
-               VXGroupUser vxGroupUser = new VXGroupUser();
-               vxGroupUser.setId(userId);
-               vxGroupUser.setName("group user test");
-               vxGroupUser.setOwner("Admin");
-               vxGroupUser.setUserId(userId);
-               vxGroupUser.setUpdatedBy("User");
-               
Mockito.when(xGroupUserService.searchXGroupUsers((SearchCriteria) 
Mockito.any()))
-                               .thenReturn(vxGroupUserList);
+               
Mockito.when(xGroupUserService.searchXGroupUsers((SearchCriteria) 
Mockito.any())).thenReturn(vxGroupUserList);
                
Mockito.when(daoManager.getXXGroupUser()).thenReturn(xGroupUserDao);
-               // VXPermMap
                VXPermMapList vXPermMapList = new VXPermMapList();
+               VXPermMap vXPermMap1=getVXPermMap();
+               List<VXPermMap> vXPermMaps=new ArrayList<VXPermMap>();
+               vXPermMaps.add(vXPermMap1);
+               vXPermMapList.setVXPermMaps(vXPermMaps);
                XXPermMapDao xXPermMapDao = Mockito.mock(XXPermMapDao.class);
                Mockito.when(xPermMapService.searchXPermMaps((SearchCriteria) 
Mockito.any())).thenReturn(vXPermMapList);
                
Mockito.when(daoManager.getXXPermMap()).thenReturn(xXPermMapDao);
-               // VXAuditMap
                VXAuditMapList vXAuditMapList = new VXAuditMapList();
+               List<VXAuditMap> vXAuditMaps=new ArrayList<VXAuditMap>();
+               VXAuditMap vXAuditMap=getVXAuditMap();
+               vXAuditMaps.add(vXAuditMap);
+               vXAuditMapList.setVXAuditMaps(vXAuditMaps);
                XXAuditMapDao xXAuditMapDao = Mockito.mock(XXAuditMapDao.class);
-               Mockito.when(xAuditMapService.searchXAuditMaps((SearchCriteria) 
Mockito.any()))
-                               .thenReturn(vXAuditMapList);
+               Mockito.when(xAuditMapService.searchXAuditMaps((SearchCriteria) 
Mockito.any())).thenReturn(vXAuditMapList);
                
Mockito.when(daoManager.getXXAuditMap()).thenReturn(xXAuditMapDao);
-               //XXGroupGroup
                XXGroupGroupDao xXGroupGroupDao = 
Mockito.mock(XXGroupGroupDao.class);
                List<XXGroupGroup> xXGroupGroups = new 
ArrayList<XXGroupGroup>();
+               XXGroupGroup xXGroupGroup = xxGroupGroup();
+               xXGroupGroups.add(xXGroupGroup);
                
Mockito.when(daoManager.getXXGroupGroup()).thenReturn(xXGroupGroupDao);
                
Mockito.when(xXGroupGroupDao.findByGroupId(userId)).thenReturn(xXGroupGroups);
-               //update XXGroupPermission
                XXGroupPermissionDao xXGroupPermissionDao= 
Mockito.mock(XXGroupPermissionDao.class);
                
Mockito.when(daoManager.getXXGroupPermission()).thenReturn(xXGroupPermissionDao);
                List<XXGroupPermission> xXGroupPermissions=new 
ArrayList<XXGroupPermission>();
+               XXGroupPermission xGroupPermissionObj = xxGroupPermission();
+               xXGroupPermissions.add(xGroupPermissionObj);
                
Mockito.when(xXGroupPermissionDao.findByGroupId(vXGroup.getId())).thenReturn(xXGroupPermissions);
-               //update XXPolicyItemUserPerm
                XXPolicyDao xXPolicyDao = Mockito.mock(XXPolicyDao.class);
                List<XXPolicy> xXPolicyList = new ArrayList<XXPolicy>();
+               XXPolicy xXPolicy=getXXPolicy();
+               xXPolicyList.add(xXPolicy);
                Mockito.when(daoManager.getXXPolicy()).thenReturn(xXPolicyDao);
                
Mockito.when(xXPolicyDao.findByGroupId(userId)).thenReturn(xXPolicyList);
+               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);
+               XXResourceDao xxResourceDao = Mockito.mock(XXResourceDao.class);
+               
Mockito.when(daoManager.getXXResource()).thenReturn(xxResourceDao);
+               
Mockito.when(xxResourceDao.getById(Mockito.anyLong())).thenReturn(xXResource);
+               RangerPolicy rangerPolicy=rangerPolicy();
+               
Mockito.when(policyService.getPopulatedViewObject(xXPolicy)).thenReturn(rangerPolicy);
+               XXModuleDefDao xModuleDefDao = 
Mockito.mock(XXModuleDefDao.class);
+               
Mockito.when(daoManager.getXXModuleDef()).thenReturn(xModuleDefDao);
+               XXModuleDef xModuleDef=xxModuleDef();
+               
Mockito.when(xModuleDefDao.findByModuleId(Mockito.anyLong())).thenReturn(xModuleDef);
                xUserMgr.deleteXGroup(vXGroup.getId(), force);
-               
Mockito.verify(xGroupUserService).searchXGroupUsers((SearchCriteria) 
Mockito.any());
        }
 
        @Test
-       public void test28DeleteXUser() {
+       public void test21DeleteXUser() {
                setup();
                boolean force = true;
                VXUser vXUser = vxUser();
-               // XXUser
                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);
-               // VXGroupUser
-               VXGroupUserList vxGroupUserList = new VXGroupUserList();
+               VXGroupUserList vxGroupUserList=vxGroupUserList();
                XXGroupUserDao xGroupUserDao = 
Mockito.mock(XXGroupUserDao.class);
-               VXGroupUser vxGroupUser = new VXGroupUser();
-               vxGroupUser.setId(userId);
-               vxGroupUser.setName("group user test");
-               vxGroupUser.setOwner("Admin");
-               vxGroupUser.setUserId(vXUser.getId());
-               vxGroupUser.setUpdatedBy("User");
-               
Mockito.when(xGroupUserService.searchXGroupUsers((SearchCriteria) 
Mockito.any()))
-                               .thenReturn(vxGroupUserList);
+               
Mockito.when(xGroupUserService.searchXGroupUsers((SearchCriteria) 
Mockito.any())).thenReturn(vxGroupUserList);
                
Mockito.when(daoManager.getXXGroupUser()).thenReturn(xGroupUserDao);
-               // VXPermMap
                VXPermMapList vXPermMapList = new VXPermMapList();
+               VXPermMap vXPermMap1=getVXPermMap();
+               List<VXPermMap> vXPermMaps=new ArrayList<VXPermMap>();
+               vXPermMaps.add(vXPermMap1);
+               vXPermMapList.setVXPermMaps(vXPermMaps);
                XXPermMapDao xXPermMapDao = Mockito.mock(XXPermMapDao.class);
                Mockito.when(xPermMapService.searchXPermMaps((SearchCriteria) 
Mockito.any())).thenReturn(vXPermMapList);
                
Mockito.when(daoManager.getXXPermMap()).thenReturn(xXPermMapDao);
-               // VXAuditMap
                VXAuditMapList vXAuditMapList = new VXAuditMapList();
+               List<VXAuditMap> vXAuditMaps=new ArrayList<VXAuditMap>();
+               VXAuditMap vXAuditMap=getVXAuditMap();
+               vXAuditMaps.add(vXAuditMap);
+               vXAuditMapList.setVXAuditMaps(vXAuditMaps);
                XXAuditMapDao xXAuditMapDao = Mockito.mock(XXAuditMapDao.class);
-               Mockito.when(xAuditMapService.searchXAuditMaps((SearchCriteria) 
Mockito.any()))
-                               .thenReturn(vXAuditMapList);
+               Mockito.when(xAuditMapService.searchXAuditMaps((SearchCriteria) 
Mockito.any())).thenReturn(vXAuditMapList);
                
Mockito.when(daoManager.getXXAuditMap()).thenReturn(xXAuditMapDao);
-               //XXPortalUser
                VXPortalUser vXPortalUser = userProfile();
-               XXPortalUser xXPortalUser = new XXPortalUser();
+               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");
+               XXModuleDefDao xModuleDefDao = 
Mockito.mock(XXModuleDefDao.class);
+               
Mockito.when(daoManager.getXXModuleDef()).thenReturn(xModuleDefDao);
+               XXModuleDef xModuleDef=xxModuleDef();
+               
Mockito.when(xModuleDefDao.findByModuleId(Mockito.anyLong())).thenReturn(xModuleDef);
                XXAuthSessionDao xXAuthSessionDao= 
Mockito.mock(XXAuthSessionDao.class);
                XXUserPermissionDao xXUserPermissionDao= 
Mockito.mock(XXUserPermissionDao.class);
                XXPortalUserRoleDao xXPortalUserRoleDao= 
Mockito.mock(XXPortalUserRoleDao.class);
@@ -765,230 +1090,214 @@ public class TestXUserMgr {
                
Mockito.when(daoManager.getXXUserPermission()).thenReturn(xXUserPermissionDao);
                
Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(xXPortalUserRoleDao);
                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);
                
Mockito.when(xXAuthSessionDao.getAuthSessionByUserId(vXPortalUser.getId())).thenReturn(xXAuthSessions);
                
Mockito.when(xXUserPermissionDao.findByUserPermissionId(vXPortalUser.getId())).thenReturn(xXUserPermissions);
                
Mockito.when(xXPortalUserRoleDao.findByUserId(vXPortalUser.getId())).thenReturn(xXPortalUserRoles);
-               //update XXPolicyItemUserPerm
                XXPolicyDao xXPolicyDao = Mockito.mock(XXPolicyDao.class);
                List<XXPolicy> xXPolicyList = new ArrayList<XXPolicy>();
+               XXPolicy xXPolicy=getXXPolicy();
+               xXPolicyList.add(xXPolicy);
                Mockito.when(daoManager.getXXPolicy()).thenReturn(xXPolicyDao);
                
Mockito.when(xXPolicyDao.findByUserId(vXUser.getId())).thenReturn(xXPolicyList);
+               RangerPolicy rangerPolicy=rangerPolicy();
+               
Mockito.when(policyService.getPopulatedViewObject(xXPolicy)).thenReturn(rangerPolicy);
+               xUserMgr.deleteXUser(vXUser.getId(), force);
+               force=false;
                xUserMgr.deleteXUser(vXUser.getId(), force);
-               
Mockito.verify(xGroupUserService).searchXGroupUsers((SearchCriteria) 
Mockito.any());
        }
 
        @Test
-       public void test29deleteXGroupAndXUser() {
+       public void test22DeleteXGroupAndXUser() {
                setup();
                VXUser vxUser = vxUser();
-               VXGroup vxGroup = new VXGroup();
+               VXGroup vxGroup = vxGroup();
                VXGroupUserList vxGroupUserList = new VXGroupUserList();
-
-               String groupName = "Grp2";
-               String userName = "test";
-
-               
Mockito.when(xGroupService.getGroupByGroupName(Mockito.anyString()))
-                               .thenReturn(vxGroup);
-               
Mockito.when(xUserService.getXUserByUserName(Mockito.anyString()))
-                               .thenReturn(vxUser);
-               Mockito.when(
-                               
xGroupUserService.searchXGroupUsers((SearchCriteria) Mockito
-                                               
.any())).thenReturn(vxGroupUserList);
-
-               xUserMgr.deleteXGroupAndXUser(groupName, userName);
+               List<VXGroupUser> vXGroupUsers = new ArrayList<VXGroupUser>();
+               VXGroupUser vxGroupUser = vxGroupUser();
+               vXGroupUsers.add(vxGroupUser);
+               vxGroupUserList.setVXGroupUsers(vXGroupUsers);
+               
Mockito.when(xGroupService.getGroupByGroupName(Mockito.anyString())).thenReturn(vxGroup);
+               
Mockito.when(xUserService.getXUserByUserName(Mockito.anyString())).thenReturn(vxUser);
+               
Mockito.when(xGroupUserService.searchXGroupUsers((SearchCriteria) 
Mockito.any())).thenReturn(vxGroupUserList);
+               XXGroupUserDao xGrpUserDao = Mockito.mock(XXGroupUserDao.class);
+               
Mockito.when(daoManager.getXXGroupUser()).thenReturn(xGrpUserDao);
+               
Mockito.when(xGrpUserDao.remove(vxGroupUser.getId())).thenReturn(true);
+               xUserMgr.deleteXGroupAndXUser(groupName, userLoginID);
                
Mockito.verify(xGroupService).getGroupByGroupName(Mockito.anyString());
                
Mockito.verify(xUserService).getXUserByUserName(Mockito.anyString());
-               Mockito.verify(xGroupUserService).searchXGroupUsers(
-                               (SearchCriteria) Mockito.any());
-       }
-
-       @Test
-       public void test30CreateVXUserGroupInfo() {
-        setup();
-        VXUserGroupInfo vXUserGroupInfo = new VXUserGroupInfo();
-        VXUser vXUser = new VXUser();
-        vXUser.setName("user1");
-        vXUser.setDescription("testuser1 -added for unit testing");
-        vXUser.setPassword("usertest123");
-        List<VXGroupUser> vXGroupUserList = new ArrayList<VXGroupUser>();
-        List<VXGroup> vXGroupList = new ArrayList<VXGroup>();
-
-        final VXGroup vXGroup1 = new VXGroup();
-        vXGroup1.setName("users");
-        vXGroup1.setDescription("users -added for unit testing");
-        vXGroupList.add(vXGroup1);
-
-        VXGroupUser vXGroupUser1 = new VXGroupUser();
-        vXGroupUser1.setName("users");
-        vXGroupUserList.add(vXGroupUser1);
-
-        final VXGroup vXGroup2 = new VXGroup();
-        vXGroup2.setName("user1");
-        vXGroup2.setDescription("user1 -added for unit testing");
-        vXGroupList.add(vXGroup2);
-
-        VXGroupUser vXGroupUser2 = new VXGroupUser();
-        vXGroupUser2.setName("user1");
-        vXGroupUserList.add(vXGroupUser2);
-
-        vXUserGroupInfo.setXuserInfo(vXUser);
-        vXUserGroupInfo.setXgroupInfo(vXGroupList);
-
-        
Mockito.when(xUserService.createXUserWithOutLogin(vXUser)).thenReturn(vXUser);
-        
Mockito.when(xGroupService.createXGroupWithOutLogin(vXGroup1)).thenReturn(vXGroup1);
-        
Mockito.when(xGroupService.createXGroupWithOutLogin(vXGroup2)).thenReturn(vXGroup2);
-
-        XXPortalUserDao portalUser = Mockito.mock(XXPortalUserDao.class);
-        Mockito.when(daoManager.getXXPortalUser()).thenReturn(portalUser);
-        XXPortalUser user = new XXPortalUser();
-        user.setId(1L);
-        user.setUserSource(RangerCommonEnums.USER_APP);
-        
Mockito.when(portalUser.findByLoginId(vXUser.getName())).thenReturn(user);
-
-        XXPortalUserRoleDao userDao = Mockito.mock(XXPortalUserRoleDao.class);
-        Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(userDao);
-        List<String> lstRole = new ArrayList<String>();
-        lstRole.add(RangerConstants.ROLE_SYS_ADMIN);
-        
Mockito.when(userDao.findXPortalUserRolebyXPortalUserId(Mockito.anyLong())).thenReturn(lstRole);
-
-        VXUserGroupInfo vxUserGroupTest = 
xUserMgr.createXUserGroupFromMap(vXUserGroupInfo);
-        Assert.assertEquals("user1", vxUserGroupTest.getXuserInfo().getName());
-        List<VXGroup> result = vxUserGroupTest.getXgroupInfo();
-        List<VXGroup> expected = new ArrayList<VXGroup>();
-        expected.add(vXGroup1);
-        expected.add(vXGroup2);
-        Assert.assertTrue(result.containsAll(expected));
-//        Mockito.verify(daoManager).getXXPortalUser();
-        Mockito.verify(portalUser).findByLoginId(vXUser.getName());
-  //      Mockito.verify(daoManager).getXXPortalUserRole();
-        Mockito.verify(userDao).findXPortalUserRolebyXPortalUserId(
-        Mockito.anyLong());
-
-       }
-
-       // Module permission
-       @Test
-       public void test31createXModuleDefPermission() {
-               VXModuleDef vXModuleDef = vXModuleDef();
-
-               
Mockito.when(xModuleDefService.createResource(vXModuleDef)).thenReturn(
-                               vXModuleDef);
-               XXModuleDefDao obj = Mockito.mock(XXModuleDefDao.class);
-               Mockito.when(daoManager.getXXModuleDef()).thenReturn(obj);
+               
Mockito.verify(xGroupUserService).searchXGroupUsers((SearchCriteria) 
Mockito.any());
+       }
 
-               VXModuleDef dbMuduleDef = xUserMgr
-                               .createXModuleDefPermission(vXModuleDef);
-               Assert.assertNotNull(dbMuduleDef);
-               Assert.assertEquals(dbMuduleDef, vXModuleDef);
-               Assert.assertEquals(dbMuduleDef.getId(), vXModuleDef.getId());
-               Assert.assertEquals(dbMuduleDef.getOwner(), 
vXModuleDef.getOwner());
-               Assert.assertEquals(dbMuduleDef.getUpdatedBy(),
-                               vXModuleDef.getUpdatedBy());
+       @Test
+       public void test23CreateVXUserGroupInfo() {
+               setup();
+               VXUserGroupInfo vXUserGroupInfo = new VXUserGroupInfo();
+               VXUser vXUser = vxUser();
+               List<VXGroupUser> vXGroupUserList = new 
ArrayList<VXGroupUser>();
+               List<VXGroup> vXGroupList = new ArrayList<VXGroup>();
+               final VXGroup vXGroup1 = vxGroup();
+               vXGroup1.setName("users");
+               vXGroup1.setDescription("users -added for unit testing");
+               vXGroupList.add(vXGroup1);
+               VXGroupUser vXGroupUser1 = vxGroupUser();
+               vXGroupUser1.setName("users");
+               vXGroupUserList.add(vXGroupUser1);
+               final VXGroup vXGroup2 = vxGroup();
+               vXGroup2.setName("user1");
+               vXGroup2.setDescription("user1 -added for unit testing");
+               vXGroupList.add(vXGroup2);
+               VXGroupUser vXGroupUser2 = vxGroupUser();
+               vXGroupUser2.setName("user1");
+               vXGroupUserList.add(vXGroupUser2);
+               vXUserGroupInfo.setXuserInfo(vXUser);
+               vXUserGroupInfo.setXgroupInfo(vXGroupList);
+               
Mockito.when(xUserService.createXUserWithOutLogin(vXUser)).thenReturn(vXUser);
+               
Mockito.when(xGroupService.createXGroupWithOutLogin(vXGroup1)).thenReturn(vXGroup1);
+               
Mockito.when(xGroupService.createXGroupWithOutLogin(vXGroup2)).thenReturn(vXGroup2);
+               XXPortalUserDao portalUser = 
Mockito.mock(XXPortalUserDao.class);
+               
Mockito.when(daoManager.getXXPortalUser()).thenReturn(portalUser);
+               XXPortalUser user = new XXPortalUser();
+               user.setId(1L);
+               user.setUserSource(RangerCommonEnums.USER_EXTERNAL);
+               
Mockito.when(portalUser.findByLoginId(vXUser.getName())).thenReturn(user);
+               XXPortalUserRoleDao userDao = 
Mockito.mock(XXPortalUserRoleDao.class);
+               
Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(userDao);
+               List<String> existingRole = new ArrayList<String>();
+               existingRole.add(RangerConstants.ROLE_USER);
+               List<String> reqRoleList = new ArrayList<String>();
+               reqRoleList.add(RangerConstants.ROLE_SYS_ADMIN);
+               
Mockito.when(userDao.findXPortalUserRolebyXPortalUserId(Mockito.anyLong())).thenReturn(reqRoleList);
+               VXPortalUser vXPortalUser = userProfile();
+               
Mockito.when(userMgr.getUserProfileByLoginId(Mockito.anyString())).thenReturn(vXPortalUser);
+               Mockito.when(userMgr.updateRoleForExternalUsers(Mockito.any(), 
Mockito.any(), (VXPortalUser)Mockito.any())).thenReturn(vXPortalUser);
+               XXModuleDefDao xXModuleDefDao = 
Mockito.mock(XXModuleDefDao.class);
+               XXUserPermissionDao xXUserPermissionDao= 
Mockito.mock(XXUserPermissionDao.class);
+               XXUserDao xxUserDao = Mockito.mock(XXUserDao.class);
+               Collection<String> userRoleList = new ArrayList<String>();
+               userRoleList.add("ROLE_USER");
+               vXPortalUser.setUserRoleList(userRoleList);
+               VXUser vxUser = vxUser();
+               XXUser xXUser = xxUser(vxUser);
+               List<XXModuleDef> xXModuleDefs = xxModuleDefs();
+               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);
+               
Mockito.when(daoManager.getXXModuleDef()).thenReturn(xXModuleDefDao);
+               Mockito.when(xXModuleDefDao.getAll()).thenReturn(xXModuleDefs);
+               
Mockito.when(daoManager.getXXUserPermission()).thenReturn(xXUserPermissionDao);
+               Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
+               
Mockito.when(xxUserDao.findByPortalUserId(vXPortalUser.getId())).thenReturn(xXUser);
+               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);
+               VXUserGroupInfo vxUserGroupTest = 
xUserMgr.createXUserGroupFromMap(vXUserGroupInfo);
+               Assert.assertEquals(userLoginID, 
vxUserGroupTest.getXuserInfo().getName());
+               List<VXGroup> result = vxUserGroupTest.getXgroupInfo();
+               List<VXGroup> expected = new ArrayList<VXGroup>();
+               expected.add(vXGroup1);
+               expected.add(vXGroup2);
+               Assert.assertTrue(result.containsAll(expected));
+               Mockito.verify(portalUser).findByLoginId(vXUser.getName());
+               Mockito.verify(userDao).findXPortalUserRolebyXPortalUserId(
+               Mockito.anyLong());
+       }
+
+       @Test
+       public void test24createXModuleDefPermission() {
+               VXModuleDef vXModuleDef = vxModuleDef();
+               
Mockito.when(xModuleDefService.createResource(vXModuleDef)).thenReturn(vXModuleDef);
+               XXModuleDefDao obj = Mockito.mock(XXModuleDefDao.class);
+               Mockito.when(daoManager.getXXModuleDef()).thenReturn(obj);
+               VXModuleDef dbMuduleDef = 
xUserMgr.createXModuleDefPermission(vXModuleDef);
+               Assert.assertNotNull(dbMuduleDef);
+               Assert.assertEquals(dbMuduleDef, vXModuleDef);
+               Assert.assertEquals(dbMuduleDef.getId(), vXModuleDef.getId());
+               Assert.assertEquals(dbMuduleDef.getOwner(), 
vXModuleDef.getOwner());
+               
Assert.assertEquals(dbMuduleDef.getUpdatedBy(),vXModuleDef.getUpdatedBy());
                Assert.assertEquals(dbMuduleDef.getUrl(), vXModuleDef.getUrl());
-               Assert.assertEquals(dbMuduleDef.getAddedById(),
-                               vXModuleDef.getAddedById());
-               Assert.assertEquals(dbMuduleDef.getCreateDate(),
-                               vXModuleDef.getCreateDate());
-               Assert.assertEquals(dbMuduleDef.getCreateTime(),
-                               vXModuleDef.getCreateTime());
-               Assert.assertEquals(dbMuduleDef.getUserPermList(),
-                               vXModuleDef.getUserPermList());
-               Assert.assertEquals(dbMuduleDef.getGroupPermList(),
-                               vXModuleDef.getGroupPermList());
+               
Assert.assertEquals(dbMuduleDef.getAddedById(),vXModuleDef.getAddedById());
+               
Assert.assertEquals(dbMuduleDef.getCreateDate(),vXModuleDef.getCreateDate());
+               
Assert.assertEquals(dbMuduleDef.getCreateTime(),vXModuleDef.getCreateTime());
+               
Assert.assertEquals(dbMuduleDef.getUserPermList(),vXModuleDef.getUserPermList());
+               
Assert.assertEquals(dbMuduleDef.getGroupPermList(),vXModuleDef.getGroupPermList());
                Mockito.verify(xModuleDefService).createResource(vXModuleDef);
        }
 
        @Test
-       public void test32getXModuleDefPermission() {
-               VXModuleDef vXModuleDef = vXModuleDef();
-
-               Mockito.when(xModuleDefService.readResource(1L))
-                               .thenReturn(vXModuleDef);
-
+       public void test25getXModuleDefPermission() {
+               VXModuleDef vXModuleDef = vxModuleDef();
+               
Mockito.when(xModuleDefService.readResource(1L)).thenReturn(vXModuleDef);
                VXModuleDef dbMuduleDef = xUserMgr.getXModuleDefPermission(1L);
                Assert.assertNotNull(dbMuduleDef);
                Assert.assertEquals(dbMuduleDef, vXModuleDef);
                Assert.assertEquals(dbMuduleDef.getId(), vXModuleDef.getId());
                Assert.assertEquals(dbMuduleDef.getOwner(), 
vXModuleDef.getOwner());
-               Assert.assertEquals(dbMuduleDef.getUpdatedBy(),
-                               vXModuleDef.getUpdatedBy());
+               
Assert.assertEquals(dbMuduleDef.getUpdatedBy(),vXModuleDef.getUpdatedBy());
                Assert.assertEquals(dbMuduleDef.getUrl(), vXModuleDef.getUrl());
-               Assert.assertEquals(dbMuduleDef.getAddedById(),
-                               vXModuleDef.getAddedById());
-               Assert.assertEquals(dbMuduleDef.getCreateDate(),
-                               vXModuleDef.getCreateDate());
-               Assert.assertEquals(dbMuduleDef.getCreateTime(),
-                               vXModuleDef.getCreateTime());
-               Assert.assertEquals(dbMuduleDef.getUserPermList(),
-                               vXModuleDef.getUserPermList());
-               Assert.assertEquals(dbMuduleDef.getGroupPermList(),
-                               vXModuleDef.getGroupPermList());
-
+               
Assert.assertEquals(dbMuduleDef.getAddedById(),vXModuleDef.getAddedById());
+               
Assert.assertEquals(dbMuduleDef.getCreateDate(),vXModuleDef.getCreateDate());
+               
Assert.assertEquals(dbMuduleDef.getCreateTime(),vXModuleDef.getCreateTime());
+               
Assert.assertEquals(dbMuduleDef.getUserPermList(),vXModuleDef.getUserPermList());
+               
Assert.assertEquals(dbMuduleDef.getGroupPermList(),vXModuleDef.getGroupPermList());
                Mockito.verify(xModuleDefService).readResource(1L);
        }
 
        @Test
-       public void test33updateXModuleDefPermission() {
+       public void test26updateXModuleDefPermission() {
                XXModuleDefDao xModuleDefDao = 
Mockito.mock(XXModuleDefDao.class);
                XXModuleDef xModuleDef = Mockito.mock(XXModuleDef.class);
-
-               XXUserPermissionDao xUserPermissionDao = Mockito
-                               .mock(XXUserPermissionDao.class);
-
-               XXGroupPermissionDao xGroupPermissionDao = Mockito
-                               .mock(XXGroupPermissionDao.class);
-
-               VXUserPermission vXUserPermission = vXUserPermission();
-               VXGroupPermission vXGroupPermission = vXGroupPermission();
-               VXModuleDef vXModuleDef = vXModuleDef();
-
-               
Mockito.when(xModuleDefService.updateResource(vXModuleDef)).thenReturn(
-                               vXModuleDef);
-
+               XXUserPermissionDao xUserPermissionDao = 
Mockito.mock(XXUserPermissionDao.class);
+               XXGroupPermissionDao xGroupPermissionDao = 
Mockito.mock(XXGroupPermissionDao.class);
+               VXModuleDef vXModuleDef = vxModuleDef();
+               
Mockito.when(xModuleDefService.updateResource(vXModuleDef)).thenReturn(vXModuleDef);
                
Mockito.when(daoManager.getXXModuleDef()).thenReturn(xModuleDefDao);
                
Mockito.when(xModuleDefDao.getById(userId)).thenReturn(xModuleDef);
-               Mockito.when(xModuleDefService.populateViewBean(xModuleDef))
-                               .thenReturn(vXModuleDef);
-
-               Mockito.when(daoManager.getXXUserPermission()).thenReturn(
-                               xUserPermissionDao);
-
-               Mockito.when(daoManager.getXXGroupPermission()).thenReturn(
-                               xGroupPermissionDao);
-               XXGroupUserDao xGrpUserDao = Mockito.mock(XXGroupUserDao.class);
-               
Mockito.when(daoManager.getXXGroupUser()).thenReturn(xGrpUserDao);
-
+               
Mockito.when(xModuleDefService.populateViewBean(xModuleDef)).thenReturn(vXModuleDef);
+               
Mockito.when(daoManager.getXXUserPermission()).thenReturn(xUserPermissionDao);
+               
Mockito.when(daoManager.getXXGroupPermission()).thenReturn(xGroupPermissionDao);
+               List<XXGroupPermission> xXGroupPermissions=new 
ArrayList<XXGroupPermission>();
+               XXGroupPermission xGroupPermissionObj = xxGroupPermission();
+               xXGroupPermissions.add(xGroupPermissionObj);
+               VXGroupPermission groupPermission=vxGroupPermission();
+               
Mockito.when(xGroupPermissionDao.findByModuleId(vXModuleDef.getId(),true)).thenReturn(xXGroupPermissions);
+               
Mockito.when(xGroupPermissionService.populateViewBean(xGroupPermissionObj)).thenReturn(groupPermission);
+               List<XXUserPermission> xXUserPermissions=new 
ArrayList<XXUserPermission>();
+               XXUserPermission xUserPermissionObj=xxUserPermission();
+               xXUserPermissions.add(xUserPermissionObj);
+               VXUserPermission vxUserPermission=vxUserPermission();
+               
Mockito.when(xUserPermissionDao.findByModuleId(vXModuleDef.getId(),true)).thenReturn(xXUserPermissions);
+               
Mockito.when(xUserPermissionService.populateViewBean(xUserPermissionObj)).thenReturn(vxUserPermission);
                UserSessionBase userSession = 
Mockito.mock(UserSessionBase.class);
                Set<UserSessionBase> userSessions = new 
HashSet<UserSessionBase>();
                userSessions.add(userSession);
-
-               
Mockito.when(xGroupPermissionService.createResource((VXGroupPermission) 
Mockito.any())).thenReturn(vXGroupPermission);
-               
Mockito.when(xUserPermissionService.createResource((VXUserPermission) 
Mockito.any())).thenReturn(vXUserPermission);
-               
Mockito.when(sessionMgr.getActiveUserSessionsForPortalUserId(userId)).thenReturn(userSessions);
-
-               VXModuleDef dbMuduleDef = xUserMgr
-                               .updateXModuleDefPermission(vXModuleDef);
+               VXModuleDef dbMuduleDef = 
xUserMgr.updateXModuleDefPermission(vXModuleDef);
                Assert.assertEquals(dbMuduleDef, vXModuleDef);
                Assert.assertNotNull(dbMuduleDef);
                Assert.assertEquals(dbMuduleDef, vXModuleDef);
                Assert.assertEquals(dbMuduleDef.getId(), vXModuleDef.getId());
                Assert.assertEquals(dbMuduleDef.getOwner(), 
vXModuleDef.getOwner());
-               Assert.assertEquals(dbMuduleDef.getUpdatedBy(),
-                               vXModuleDef.getUpdatedBy());
+               
Assert.assertEquals(dbMuduleDef.getUpdatedBy(),vXModuleDef.getUpdatedBy());
                Assert.assertEquals(dbMuduleDef.getUrl(), vXModuleDef.getUrl());
-               Assert.assertEquals(dbMuduleDef.getAddedById(),
-                               vXModuleDef.getAddedById());
-               Assert.assertEquals(dbMuduleDef.getCreateDate(),
-                               vXModuleDef.getCreateDate());
-               Assert.assertEquals(dbMuduleDef.getCreateTime(),
-                               vXModuleDef.getCreateTime());
-               Assert.assertEquals(dbMuduleDef.getUserPermList(),
-                               vXModuleDef.getUserPermList());
-               Assert.assertEquals(dbMuduleDef.getGroupPermList(),
-                               vXModuleDef.getGroupPermList());
-
+               
Assert.assertEquals(dbMuduleDef.getAddedById(),vXModuleDef.getAddedById());
+               
Assert.assertEquals(dbMuduleDef.getCreateDate(),vXModuleDef.getCreateDate());
+               
Assert.assertEquals(dbMuduleDef.getCreateTime(),vXModuleDef.getCreateTime());
+               
Assert.assertEquals(dbMuduleDef.getUserPermList(),vXModuleDef.getUserPermList());
+               
Assert.assertEquals(dbMuduleDef.getGroupPermList(),vXModuleDef.getGroupPermList());
                Mockito.verify(xModuleDefService).updateResource(vXModuleDef);
                Mockito.verify(daoManager).getXXModuleDef();
                Mockito.verify(xModuleDefService).populateViewBean(xModuleDef);
@@ -997,7 +1306,7 @@ public class TestXUserMgr {
        }
 
        @Test
-       public void test34deleteXModuleDefPermission() {
+       public void test27deleteXModuleDefPermission() {
                Long moduleId=Long.valueOf(1);
                XXUserPermissionDao xUserPermissionDao = 
Mockito.mock(XXUserPermissionDao.class);
                XXGroupPermissionDao xGroupPermissionDao = 
Mockito.mock(XXGroupPermissionDao.class);
@@ -1011,668 +1320,1815 @@ public class TestXUserMgr {
        }
 
        @Test
-       public void test35createXUserPermission() {
-               VXUserPermission vXUserPermission = vXUserPermission();
-
-               
Mockito.when(xUserPermissionService.createResource(vXUserPermission))
-                               .thenReturn(vXUserPermission);
-
-               VXUserPermission dbUserPermission = xUserMgr
-                               .createXUserPermission(vXUserPermission);
+       public void test28createXUserPermission() {
+               VXUserPermission vXUserPermission = vxUserPermission();
+               
Mockito.when(xUserPermissionService.createResource(vXUserPermission)).thenReturn(vXUserPermission);
+               VXUserPermission dbUserPermission = 
xUserMgr.createXUserPermission(vXUserPermission);
                Assert.assertNotNull(dbUserPermission);
                Assert.assertEquals(dbUserPermission, vXUserPermission);
                Assert.assertEquals(dbUserPermission.getId(), 
vXUserPermission.getId());
-               Assert.assertEquals(dbUserPermission.getOwner(),
-                               vXUserPermission.getOwner());
-               Assert.assertEquals(dbUserPermission.getUpdatedBy(),
-                               vXUserPermission.getUpdatedBy());
-               Assert.assertEquals(dbUserPermission.getUserName(),
-                               vXUserPermission.getUserName());
-               Assert.assertEquals(dbUserPermission.getCreateDate(),
-                               vXUserPermission.getCreateDate());
-               Assert.assertEquals(dbUserPermission.getIsAllowed(),
-                               vXUserPermission.getIsAllowed());
-               Assert.assertEquals(dbUserPermission.getModuleId(),
-                               vXUserPermission.getModuleId());
-               Assert.assertEquals(dbUserPermission.getUpdateDate(),
-                               vXUserPermission.getUpdateDate());
-               Assert.assertEquals(dbUserPermission.getUserId(),
-                               vXUserPermission.getUserId());
-
+               
Assert.assertEquals(dbUserPermission.getOwner(),vXUserPermission.getOwner());
+               
Assert.assertEquals(dbUserPermission.getUpdatedBy(),vXUserPermission.getUpdatedBy());
+               
Assert.assertEquals(dbUserPermission.getUserName(),vXUserPermission.getUserName());
+               
Assert.assertEquals(dbUserPermission.getCreateDate(),vXUserPermission.getCreateDate());
+               
Assert.assertEquals(dbUserPermission.getIsAllowed(),vXUserPermission.getIsAllowed());
+               
Assert.assertEquals(dbUserPermission.getModuleId(),vXUserPermission.getModuleId());
+               
Assert.assertEquals(dbUserPermission.getUpdateDate(),vXUserPermission.getUpdateDate());
+               
Assert.assertEquals(dbUserPermission.getUserId(),vXUserPermission.getUserId());
                
Mockito.verify(xUserPermissionService).createResource(vXUserPermission);
        }
 
        @Test
-       public void test36getXUserPermission() {
-               VXUserPermission vXUserPermission = vXUserPermission();
-
-               
Mockito.when(xUserPermissionService.readResource(1L)).thenReturn(
-                               vXUserPermission);
-
+       public void test29getXUserPermission() {
+               VXUserPermission vXUserPermission = vxUserPermission();
+               
Mockito.when(xUserPermissionService.readResource(1L)).thenReturn(vXUserPermission);
                VXUserPermission dbUserPermission = 
xUserMgr.getXUserPermission(1L);
                Assert.assertNotNull(dbUserPermission);
                Assert.assertEquals(dbUserPermission, vXUserPermission);
                Assert.assertEquals(dbUserPermission.getId(), 
vXUserPermission.getId());
-               Assert.assertEquals(dbUserPermission.getOwner(),
-                               vXUserPermission.getOwner());
-               Assert.assertEquals(dbUserPermission.getUpdatedBy(),
-                               vXUserPermission.getUpdatedBy());
-               Assert.assertEquals(dbUserPermission.getUserName(),
-                               vXUserPermission.getUserName());
-               Assert.assertEquals(dbUserPermission.getCreateDate(),
-                               vXUserPermission.getCreateDate());
-               Assert.assertEquals(dbUserPermission.getIsAllowed(),
-                               vXUserPermission.getIsAllowed());
-               Assert.assertEquals(dbUserPermission.getModuleId(),
-                               vXUserPermission.getModuleId());
-               Assert.assertEquals(dbUserPermission.getUpdateDate(),
-                               vXUserPermission.getUpdateDate());
-               Assert.assertEquals(dbUserPermission.getUserId(),
-                               vXUserPermission.getUserId());
-
+               
Assert.assertEquals(dbUserPermission.getOwner(),vXUserPermission.getOwner());
+               
Assert.assertEquals(dbUserPermission.getUpdatedBy(),vXUserPermission.getUpdatedBy());
+               
Assert.assertEquals(dbUserPermission.getUserName(),vXUserPermission.getUserName());
+               
Assert.assertEquals(dbUserPermission.getCreateDate(),vXUserPermission.getCreateDate());
+               
Assert.assertEquals(dbUserPermission.getIsAllowed(),vXUserPermission.getIsAllowed());
+               
Assert.assertEquals(dbUserPermission.getModuleId(),vXUserPermission.getModuleId());
+               
Assert.assertEquals(dbUserPermission.getUpdateDate(),vXUserPermission.getUpdateDate());
+               
Assert.assertEquals(dbUserPermission.getUserId(),vXUserPermission.getUserId());
                Mockito.verify(xUserPermissionService).readResource(1L);
        }
 
        @Test
-       public void test37updateXUserPermission() {
-               VXUserPermission vXUserPermission = vXUserPermission();
-
-               
Mockito.when(xUserPermissionService.updateResource(vXUserPermission))
-                               .thenReturn(vXUserPermission);
-
-               VXUserPermission dbUserPermission = xUserMgr
-                               .updateXUserPermission(vXUserPermission);
+       public void test30updateXUserPermission() {
+               VXUserPermission vXUserPermission = vxUserPermission();
+               
Mockito.when(xUserPermissionService.updateResource(vXUserPermission)).thenReturn(vXUserPermission);
+               VXUserPermission dbUserPermission = 
xUserMgr.updateXUserPermission(vXUserPermission);
                Assert.assertNotNull(dbUserPermission);
                Assert.assertEquals(dbUserPermission, vXUserPermission);
                Assert.assertEquals(dbUserPermission.getId(), 
vXUserPermission.getId());
-               Assert.assertEquals(dbUserPermission.getOwner(),
-                               vXUserPermission.getOwner());
-               Assert.assertEquals(dbUserPermission.getUpdatedBy(),
-                               vXUserPermission.getUpdatedBy());
-               Assert.assertEquals(dbUserPermission.getUserName(),
-                               vXUserPermission.getUserName());
-               Assert.assertEquals(dbUserPermission.getCreateDate(),
-                               vXUserPermission.getCreateDate());
-               Assert.assertEquals(dbUserPermission.getIsAllowed(),
-                               vXUserPermission.getIsAllowed());
-               Assert.assertEquals(dbUserPermission.getModuleId(),
-                               vXUserPermission.getModuleId());
-               Assert.assertEquals(dbUserPermission.getUpdateDate(),
-                               vXUserPermission.getUpdateDate());
-               Assert.assertEquals(dbUserPermission.getUserId(),
-                               vXUserPermission.getUserId());
-
+               
Assert.assertEquals(dbUserPermission.getOwner(),vXUserPermission.getOwner());
+               
Assert.assertEquals(dbUserPermission.getUpdatedBy(),vXUserPermission.getUpdatedBy());
+               
Assert.assertEquals(dbUserPermission.getUserName(),vXUserPermission.getUserName());
+               
Assert.assertEquals(dbUserPermission.getCreateDate(),vXUserPermission.getCreateDate());
+               
Assert.assertEquals(dbUserPermission.getIsAllowed(),vXUserPermission.getIsAllowed());
+               
Assert.assertEquals(dbUserPermission.getModuleId(),vXUserPermission.getModuleId());
+               
Assert.assertEquals(dbUserPermission.getUpdateDate(),vXUserPermission.getUpdateDate());
+               
Assert.assertEquals(dbUserPermission.getUserId(),vXUserPermission.getUserId());
                
Mockito.verify(xUserPermissionService).updateResource(vXUserPermission);
        }
 
        @Test
-       public void test38deleteXUserPermission() {
-
-               Mockito.when(xUserPermissionService.deleteResource(1L))
-                               .thenReturn(true);
-               XXUserPermission xUserPerm = 
Mockito.mock(XXUserPermission.class);
+       public void test31deleteXUserPermission() {
+               UserSessionBase userSession = 
Mockito.mock(UserSessionBase.class);
+               Set<UserSessionBase> userSessions = new 
HashSet<UserSessionBase>();
+               userSessions.add(userSession);
+               XXUserPermission xUserPermissionObj = xxUserPermission();
                XXUserPermissionDao xUserPermDao = 
Mockito.mock(XXUserPermissionDao.class);
                
Mockito.when(daoManager.getXXUserPermission()).thenReturn(xUserPermDao);
-               
Mockito.when(daoManager.getXXUserPermission().getById(1L)).thenReturn(xUserPerm);
+               
Mockito.when(xUserPermDao.getById(1L)).thenReturn(xUserPermissionObj);
+               
Mockito.when(xUserPermissionService.deleteResource(1L)).thenReturn(true);
+               
Mockito.when(sessionMgr.getActiveUserSessionsForPortalUserId(xUserPermissionObj.getUserId())).thenReturn(userSessions);
                xUserMgr.deleteXUserPermission(1L, true);
                Mockito.verify(xUserPermissionService).deleteResource(1L);
        }
 
        @Test
-       public void test39createXGroupPermission() {
-               VXGroupPermission vXGroupPermission = vXGroupPermission();
-
+       public void test32createXGroupPermission() {
+               VXGroupPermission vXGroupPermission = vxGroupPermission();
                XXGroupUserDao xGrpUserDao = Mockito.mock(XXGroupUserDao.class);
                
Mockito.when(daoManager.getXXGroupUser()).thenReturn(xGrpUserDao);
-
                
Mockito.when(xGroupPermissionService.createResource(vXGroupPermission)).thenReturn(vXGroupPermission);
-
-               VXGroupPermission dbGroupPermission = xUserMgr
-                               .createXGroupPermission(vXGroupPermission);
+               List<XXGroupUser> xXGroupUserList = new 
ArrayList<XXGroupUser>();
+               VXGroupUser vxGroupUser = vxGroupUser();
+               XXGroupUser xXGroupUser =new XXGroupUser();
+               xXGroupUser.setId(vxGroupUser.getId());
+               xXGroupUser.setName(vxGroupUser.getName());
+               xXGroupUser.setParentGroupId(vxGroupUser.getParentGroupId());
+               xXGroupUser.setUserId(vxGroupUser.getUserId());
+               xXGroupUserList.add(xXGroupUser);
+               
Mockito.when(xGrpUserDao.findByGroupId(vXGroupPermission.getGroupId())).thenReturn(xXGroupUserList);
+               UserSessionBase userSession = 
Mockito.mock(UserSessionBase.class);
+               Set<UserSessionBase> userSessions = new 
HashSet<UserSessionBase>();
+               userSessions.add(userSession);
+               
Mockito.when(sessionMgr.getActiveUserSessionsForXUserId(xXGroupUser.getUserId())).thenReturn(userSessions);
+               VXGroupPermission dbGroupPermission = 
xUserMgr.createXGroupPermission(vXGroupPermission);
                Assert.assertNotNull(dbGroupPermission);
                Assert.assertEquals(dbGroupPermission, vXGroupPermission);
-               Assert.assertEquals(dbGroupPermission.getId(),
-                               vXGroupPermission.getId());
-               Assert.assertEquals(dbGroupPermission.getGroupName(),
-                               vXGroupPermission.getGroupName());
-               Assert.assertEquals(dbGroupPermission.getOwner(),
-                               vXGroupPermission.getOwner());
-               Assert.assertEquals(dbGroupPermission.getUpdatedBy(),
-                               vXGroupPermission.getUpdatedBy());
-               Assert.assertEquals(dbGroupPermission.getCreateDate(),
-                               vXGroupPermission.getCreateDate());
-               Assert.assertEquals(dbGroupPermission.getGroupId(),
-                               vXGroupPermission.getGroupId());
-               Assert.assertEquals(dbGroupPermission.getIsAllowed(),
-                               vXGroupPermission.getIsAllowed());
-               Assert.assertEquals(dbGroupPermission.getModuleId(),
-                               vXGroupPermission.getModuleId());
-               Assert.assertEquals(dbGroupPermission.getUpdateDate(),
-                               vXGroupPermission.getUpdateDate());
-
-               Mockito.verify(xGroupPermissionService).createResource(
-                               vXGroupPermission);
-       }
-
-       @Test
-       public void test40getXGroupPermission() {
-               VXGroupPermission vXGroupPermission = vXGroupPermission();
-
-               
Mockito.when(xGroupPermissionService.readResource(1L)).thenReturn(
-                               vXGroupPermission);
+               
Assert.assertEquals(dbGroupPermission.getId(),vXGroupPermission.getId());
+               
Assert.assertEquals(dbGroupPermission.getGroupName(),vXGroupPermission.getGroupName());
+               
Assert.assertEquals(dbGroupPermission.getOwner(),vXGroupPermission.getOwner());
+               
Assert.assertEquals(dbGroupPermission.getUpdatedBy(),vXGroupPermission.getUpdatedBy());
+               
Assert.assertEquals(dbGroupPermission.getCreateDate(),vXGroupPermission.getCreateDate());
+               
Assert.assertEquals(dbGroupPermission.getGroupId(),vXGroupPermission.getGroupId());
+               
Assert.assertEquals(dbGroupPermission.getIsAllowed(),vXGroupPermission.getIsAllowed());
+               
Assert.assertEquals(dbGroupPermission.getModuleId(),vXGroupPermission.getModuleId());
+               
Assert.assertEquals(dbGroupPermission.getUpdateDate(),vXGroupPermission.getUpdateDate());
+               
Mockito.verify(xGroupPermissionService).createResource(vXGroupPermission);
+       }
 
+       @Test
+       public void test33getXGroupPermission() {
+               VXGroupPermission vXGroupPermission = vxGroupPermission();
+               
Mockito.when(xGroupPermissionService.readResource(1L)).thenReturn(vXGroupPermission);
                VXGroupPermission dbGroupPermission = 
xUserMgr.getXGroupPermission(1L);
                Assert.assertNotNull(dbGroupPermission);
                Assert.assertEquals(dbGroupPermission, vXGroupPermission);
-               Assert.assertEquals(dbGroupPermission.getId(),
-                               vXGroupPermission.getId());
-               Assert.assertEquals(dbGroupPermission.getGroupName(),
-                               vXGroupPermission.getGroupName());
-               Assert.assertEquals(dbGroupPermission.getOwner(),
-                               vXGroupPermission.getOwner());
-               Assert.assertEquals(dbGroupPermission.getUpdatedBy(),
-                               vXGroupPermission.getUpdatedBy());
-               Assert.assertEquals(dbGroupPermission.getCreateDate(),
-                               vXGroupPermission.getCreateDate());
-               Assert.assertEquals(dbGroupPermission.getGroupId(),
-                               vXGroupPermission.getGroupId());
-               Assert.assertEquals(dbGroupPermission.getIsAllowed(),
-                               vXGroupPermission.getIsAllowed());
-               Assert.assertEquals(dbGroupPermission.getModuleId(),
-                               vXGroupPermission.getModuleId());
-               Assert.assertEquals(dbGroupPermission.getUpdateDate(),
-                               vXGroupPermission.getUpdateDate());
-
+               
Assert.assertEquals(dbGroupPermission.getId(),vXGroupPermission.getId());
+               
Assert.assertEquals(dbGroupPermission.getGroupName(),vXGroupPermission.getGroupName());
+               
Assert.assertEquals(dbGroupPermission.getOwner(),vXGroupPermission.getOwner());
+               
Assert.assertEquals(dbGroupPermission.getUpdatedBy(),vXGroupPermission.getUpdatedBy());
+               
Assert.assertEquals(dbGroupPermission.getCreateDate(),vXGroupPermission.getCreateDate());
+               
Assert.assertEquals(dbGroupPermission.getGroupId(),vXGroupPermission.getGroupId());
+               
Assert.assertEquals(dbGroupPermission.getIsAllowed(),vXGroupPermission.getIsAllowed());
+               
Assert.assertEquals(dbGroupPermission.getModuleId(),vXGroupPermission.getModuleId());
+               
Assert.assertEquals(dbGroupPermission.getUpdateDate(),vXGroupPermission.getUpdateDate());
                Mockito.verify(xGroupPermissionService).readResource(1L);
        }
 
        @Test
-       public void test41updateXGroupPermission() {
-               VXGroupPermission vXGroupPermission = vXGroupPermission();
-
+       public void test34updateXGroupPermission() {
+               setup();
+               VXGroupPermission vXGroupPermission = vxGroupPermission();
                XXGroupUserDao xGrpUserDao = Mockito.mock(XXGroupUserDao.class);
                
Mockito.when(daoManager.getXXGroupUser()).thenReturn(xGrpUserDao);
                
Mockito.when(xGroupPermissionService.updateResource(vXGroupPermission)).thenReturn(vXGroupPermission);
-
-               VXGroupPermission dbGroupPermission = xUserMgr
-                               .updateXGroupPermission(vXGroupPermission);
+               UserSessionBase userSession = 
Mockito.mock(UserSessionBase.class);
+               Set<UserSessionBase> userSessions = new 
HashSet<UserSessionBase>();
+               userSessions.add(userSession);
+               
Mockito.when(sessionMgr.getActiveUserSessionsForXUserId(userId)).thenReturn(userSessions);
+               List<XXGroupUser> xXGroupUserList = new 
ArrayList<XXGroupUser>();
+               VXGroupUser vxGroupUser = vxGroupUser();
+               XXGroupUser xXGroupUser =new XXGroupUser();
+               xXGroupUser.setId(vxGroupUser.getId());
+               xXGroupUser.setName(vxGroupUser.getName());
+               xXGroupUser.setParentGroupId(vxGroupUser.getParentGroupId());
+               xXGroupUser.setUserId(vxGroupUser.getUserId());
+               xXGroupUserList.add(xXGroupUser);
+               
Mockito.when(xGrpUserDao.findByGroupId(vXGroupPermission.getGroupId())).thenReturn(xXGroupUserList);
+               VXGroupPermission dbGroupPermission = 
xUserMgr.updateXGroupPermission(vXGroupPermission);
                Assert.assertNotNull(dbGroupPermission);
                Assert.assertEquals(dbGroupPermission, vXGroupPermission);
-               Assert.assertEquals(dbGroupPermission.getId(),
-                               vXGroupPermission.getId());
-               Assert.assertEquals(dbGroupPermission.getGroupName(),
-                               vXGroupPermission.getGroupName());
-               Assert.assertEquals(dbGroupPermission.getOwner(),
-                               vXGroupPermission.getOwner());
-               Assert.assertEquals(dbGroupPermission.getUpdatedBy(),
-                               vXGroupPermission.getUpdatedBy());
-               Assert.assertEquals(dbGroupPermission.getCreateDate(),
-                               vXGroupPermission.getCreateDate());
-               Assert.assertEquals(dbGroupPermission.getGroupId(),
-                               vXGroupPermission.getGroupId());
-               Assert.assertEquals(dbGroupPermission.getIsAllowed(),
-                               vXGroupPermission.getIsAllowed());
-               Assert.assertEquals(dbGroupPermission.getModuleId(),
-                               vXGroupPermission.getModuleId());
-               Assert.assertEquals(dbGroupPermission.getUpdateDate(),
-                               vXGroupPermission.getUpdateDate());
-
-               Mockito.verify(xGroupPermissionService).updateResource(
-                               vXGroupPermission);
-       }
-
-       @Test
-       public void test42deleteXGroupPermission() {
+               
Assert.assertEquals(dbGroupPermission.getId(),vXGroupPermission.getId());
+               
Assert.assertEquals(dbGroupPermission.getGroupName(),vXGroupPermission.getGroupName());
+               
Assert.assertEquals(dbGroupPermission.getOwner(),vXGroupPermission.getOwner());
+               
Assert.assertEquals(dbGroupPermission.getUpdatedBy(),vXGroupPermission.getUpdatedBy());
+               
Assert.assertEquals(dbGroupPermission.getCreateDate(),vXGroupPermission.getCreateDate());
+               
Assert.assertEquals(dbGroupPermission.getGroupId(),vXGroupPermission.getGroupId());
+               
Assert.assertEquals(dbGroupPermission.getIsAllowed(),vXGroupPermission.getIsAllowed());
+               
Assert.assertEquals(dbGroupPermission.getModuleId(),vXGroupPermission.getModuleId());
+               
Assert.assertEquals(dbGroupPermission.getUpdateDate(),vXGroupPermission.getUpdateDate());
+               
Mockito.verify(xGroupPermissionService).updateResource(vXGroupPermission);
+       }
 
+       @Test
+       public void test35deleteXGroupPermission() {
                XXGroupPermissionDao xGrpPermDao = 
Mockito.mock(XXGroupPermissionDao.class);
-               XXGroupPermission xGrpPerm = 
Mockito.mock(XXGroupPermission.class);
-
+               XXGroupPermission xGroupPermissionObj = xxGroupPermission();
                
Mockito.when(daoManager.getXXGroupPermission()).thenReturn(xGrpPermDao);
-               
Mockito.when(daoManager.getXXGroupPermission().getById(1L)).thenReturn(xGrpPerm);
-
+               
Mockito.when(xGrpPermDao.getById(1L)).thenReturn(xGroupPermissionObj);
                XXGroupUserDao xGrpUserDao = Mockito.mock(XXGroupUserDao.class);
                
Mockito.when(daoManager.getXXGroupUser()).thenReturn(xGrpUserDao);
-
+               List<XXGroupUser> xXGroupUserList = new 
ArrayList<XXGroupUser>();
+               VXGroupUser vxGroupUser = vxGroupUser();
+               XXGroupUser xXGroupUser =new XXGroupUser();
+               xXGroupUser.setId(vxGroupUser.getId());
+               xXGroupUser.setName(vxGroupUser.getName());
+               xXGroupUser.setParentGroupId(vxGroupUser.getParentGroupId());
+               xXGroupUser.setUserId(vxGroupUser.getUserId());
+               xXGroupUserList.add(xXGroupUser);
+               
Mockito.when(xGrpUserDao.findByGroupId(xGroupPermissionObj.getGroupId())).thenReturn(xXGroupUserList);
+               UserSessionBase userSession = Mockito.mock(UserSe

<TRUNCATED>

Reply via email to