@Test
public void test19DeactivateUser() {

	setup();
	XXPortalUserDao userDao = Mockito.mock(XXPortalUserDao.class);
	XXPortalUserRoleDao roleDao = Mockito.mock(XXPortalUserRoleDao.class);
	XXUserPermissionDao xUserPermissionDao = Mockito.mock(XXUserPermissionDao.class);
	XXGroupPermissionDao xGroupPermissionDao = Mockito.mock(XXGroupPermissionDao.class);
	VXGroupPermission vXGroupPermission = Mockito.mock(VXGroupPermission.class);
	XXModuleDefDao xModuleDefDao = Mockito.mock(XXModuleDefDao.class);
	XXModuleDef xModuleDef = Mockito.mock(XXModuleDef.class);
	VXUserPermission vXUserPermission = Mockito.mock(VXUserPermission.class);
	VXPortalUser userProfile = userProfile();
	XXPortalUser user = new XXPortalUser();
	user.setEmailAddress(userProfile.getEmailAddress());
	user.setFirstName(userProfile.getFirstName());
	user.setLastName(userProfile.getLastName());
	user.setLoginId(userProfile.getLoginId());
	user.setPassword(userProfile.getPassword());
	user.setUserSource(userProfile.getUserSource());
	user.setPublicScreenName(userProfile.getPublicScreenName());
	user.setId(userProfile.getId());
	List<XXUserPermission> xUserPermissionsList = new ArrayList<XXUserPermission>();
	XXUserPermission xUserPermissionObj = new XXUserPermission();
	xUserPermissionObj.setAddedByUserId(userId);
	xUserPermissionObj.setCreateTime(new Date());
	xUserPermissionObj.setId(userId);
	xUserPermissionObj.setIsAllowed(1);
	xUserPermissionObj.setModuleId(1L);
	xUserPermissionObj.setUpdatedByUserId(userId);
	xUserPermissionObj.setUpdateTime(new Date());
	xUserPermissionObj.setUserId(userId);
	xUserPermissionsList.add(xUserPermissionObj);
	List<XXGroupPermission> xGroupPermissionList = new ArrayList<XXGroupPermission>();
	XXGroupPermission xGroupPermissionObj = new XXGroupPermission();
	xGroupPermissionObj.setAddedByUserId(userId);
	xGroupPermissionObj.setCreateTime(new Date());
	xGroupPermissionObj.setId(userId);
	xGroupPermissionObj.setIsAllowed(1);
	xGroupPermissionObj.setModuleId(1L);
	xGroupPermissionObj.setUpdatedByUserId(userId);
	xGroupPermissionObj.setUpdateTime(new Date());
	xGroupPermissionObj.setGroupId(userId);
	xGroupPermissionList.add(xGroupPermissionObj);
	XXPortalUserRole XXPortalUserRole = new XXPortalUserRole();
	XXPortalUserRole.setId(userId);
	XXPortalUserRole.setUserRole("ROLE_USER");
	List<XXPortalUserRole> list = new ArrayList<XXPortalUserRole>();
	list.add(XXPortalUserRole);
	Mockito.when(daoManager.getXXPortalUser()).thenReturn(userDao);
	Mockito.when(userDao.update(user)).thenReturn(user);
	Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(roleDao);
	Mockito.when(roleDao.findByParentId(Mockito.anyLong())).thenReturn(list);
	Mockito.when(daoManager.getXXUserPermission()).thenReturn(xUserPermissionDao);
	Mockito.when(xUserPermissionDao.findByUserPermissionIdAndIsAllowed(userProfile.getId())).thenReturn(xUserPermissionsList);
	Mockito.when(daoManager.getXXGroupPermission()).thenReturn(xGroupPermissionDao);
	Mockito.when(xGroupPermissionDao.findbyVXPortalUserId(userProfile.getId())).thenReturn(xGroupPermissionList);
	Mockito.when(xGroupPermissionService.populateViewBean(xGroupPermissionObj)).thenReturn(vXGroupPermission);
	Mockito.when(daoManager.getXXModuleDef()).thenReturn(xModuleDefDao);
	Mockito.when(xModuleDefDao.findByModuleId(Mockito.anyLong())).thenReturn(xModuleDef);
	Mockito.when(xUserPermissionService.populateViewBean(xUserPermissionObj)).thenReturn(vXUserPermission);
	Mockito.doNothing().when(rangerBizUtil).blockAuditorRoleUser();
	VXPortalUser dbVXPortalUser = userMgr.deactivateUser(null);
	Assert.assertNull(dbVXPortalUser);
	dbVXPortalUser = userMgr.deactivateUser(user);
	Assert.assertNotNull(dbVXPortalUser);
	Assert.assertEquals(user.getId(), dbVXPortalUser.getId());
	Assert.assertEquals(user.getFirstName(), dbVXPortalUser.getFirstName());
	Assert.assertEquals(user.getLastName(), dbVXPortalUser.getLastName());
	Assert.assertEquals(user.getLoginId(), dbVXPortalUser.getLoginId());
	Mockito.verify(daoManager).getXXPortalUser();
	Mockito.verify(daoManager).getXXUserPermission();
	Mockito.verify(daoManager).getXXGroupPermission();
	Mockito.verify(xUserPermissionService).populateViewBean(xUserPermissionObj);
	Mockito.verify(xGroupPermissionService).populateViewBean(xGroupPermissionObj);
}