多模块重构 4:system 模块的调整,实现 social API~~

This commit is contained in:
YunaiV
2022-01-30 21:23:45 +08:00
parent ab6ec2f0ed
commit add08b1ecd
132 changed files with 1649 additions and 1587 deletions

View File

@ -1,14 +1,14 @@
package cn.iocoder.yudao.module.system.service.auth;
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth.AuthLoginReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
import cn.iocoder.yudao.module.system.enums.logger.LoginLogTypeEnum;
import cn.iocoder.yudao.module.system.enums.logger.LoginResultEnum;
import cn.iocoder.yudao.module.system.service.common.CaptchaService;
import cn.iocoder.yudao.module.system.service.dept.PostService;
import cn.iocoder.yudao.module.system.service.logger.LoginLogService;
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
import cn.iocoder.yudao.module.system.service.user.UserService;
import cn.iocoder.yudao.module.system.dal.dataobject.user.UserDO;
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
import cn.iocoder.yudao.module.system.service.social.SocialUserService;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.security.core.LoginUser;
@ -37,14 +37,14 @@ import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.*;
@Import(AuthServiceImpl.class)
@Import(AdminAuthServiceImpl.class)
public class AuthServiceImplTest extends BaseDbUnitTest {
@Resource
private AuthServiceImpl authService;
private AdminAuthServiceImpl authService;
@MockBean
private UserService userService;
private AdminUserService userService;
@MockBean
private PermissionService permissionService;
@MockBean
@ -72,7 +72,7 @@ public class AuthServiceImplTest extends BaseDbUnitTest {
// 准备参数
String username = randomString();
// mock 方法
UserDO user = randomPojo(UserDO.class, o -> o.setUsername(username));
AdminUserDO user = randomPojo(AdminUserDO.class, o -> o.setUsername(username));
when(userService.getUserByUsername(eq(username))).thenReturn(user);
// 调用
@ -98,7 +98,7 @@ public class AuthServiceImplTest extends BaseDbUnitTest {
// 准备参数
Long userId = randomLongId();
// mock 方法 01
UserDO user = randomPojo(UserDO.class, o -> o.setId(userId));
AdminUserDO user = randomPojo(AdminUserDO.class, o -> o.setId(userId));
when(userService.getUser(eq(userId))).thenReturn(user);
// mock 方法 02
Set<Long> roleIds = randomSet(Long.class);

View File

@ -4,11 +4,11 @@ import cn.hutool.core.date.DateUtil;
import cn.iocoder.yudao.framework.security.config.SecurityProperties;
import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.session.UserSessionPageReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
import cn.iocoder.yudao.module.system.dal.mysql.auth.SysUserSessionMapper;
import cn.iocoder.yudao.module.system.service.logger.LoginLogService;
import cn.iocoder.yudao.module.system.service.user.UserService;
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
import cn.iocoder.yudao.module.system.dal.dataobject.auth.SysUserSessionDO;
import cn.iocoder.yudao.module.system.dal.dataobject.user.UserDO;
import cn.iocoder.yudao.module.system.dal.redis.auth.LoginUserRedisDAO;
import cn.iocoder.yudao.module.system.enums.common.SysSexEnum;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
@ -52,7 +52,7 @@ public class UserSessionServiceImplTest extends BaseDbAndRedisUnitTest {
private SysUserSessionMapper userSessionMapper;
@MockBean
private UserService userService;
private AdminUserService userService;
@MockBean
private LoginLogService loginLogService;
@MockBean
@ -64,7 +64,7 @@ public class UserSessionServiceImplTest extends BaseDbAndRedisUnitTest {
@Test
public void testGetUserSessionPage_success() {
// mock 数据
UserDO dbUser = randomPojo(UserDO.class, o -> {
AdminUserDO dbUser = randomPojo(AdminUserDO.class, o -> {
o.setSex(randomEle(SysSexEnum.values()).getSex());
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
});

View File

@ -8,13 +8,11 @@ import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils;
import cn.iocoder.yudao.module.system.controller.admin.logger.vo.loginlog.LoginLogExportReqVO;
import cn.iocoder.yudao.module.system.controller.admin.logger.vo.loginlog.LoginLogPageReqVO;
import cn.iocoder.yudao.module.system.dal.mysql.logger.LoginLogMapper;
import cn.iocoder.yudao.module.system.enums.logger.LoginLogTypeEnum;
import cn.iocoder.yudao.module.system.enums.logger.LoginResultEnum;
import cn.iocoder.yudao.framework.test.core.util.RandomUtils;
import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
import cn.iocoder.yudao.module.system.enums.logger.SysLoginLogTypeEnum;
import cn.iocoder.yudao.module.system.enums.logger.SysLoginResultEnum;
import cn.iocoder.yudao.module.system.service.logger.dto.LoginLogCreateReqDTO;
import cn.iocoder.yudao.module.system.enums.logger.LoginLogTypeEnum;
import cn.iocoder.yudao.module.system.enums.logger.LoginResultEnum;
import cn.iocoder.yudao.module.system.api.logger.dto.LoginLogCreateReqDTO;
import cn.iocoder.yudao.module.system.test.BaseDbUnitTest;
import org.junit.jupiter.api.Test;
import org.springframework.context.annotation.Import;
@ -41,20 +39,20 @@ public class LoginLogServiceImplTest extends BaseDbUnitTest {
// 构造测试数据
// 登录成功的
SysLoginLogDO loginLogDO = RandomUtils.randomPojo(SysLoginLogDO.class, logDO -> {
logDO.setLogType(RandomUtil.randomEle(LoginLogTypeEnum.values()).getType());
logDO.setLogType(RandomUtil.randomEle(cn.iocoder.yudao.module.system.enums.logger.LoginLogTypeEnum.values()).getType());
logDO.setTraceId(TracerUtils.getTraceId());
logDO.setUserType(RandomUtil.randomEle(UserTypeEnum.values()).getValue());
logDO.setUserIp("192.168.199.16");
logDO.setUsername("wangkai");
logDO.setCreateTime(buildTime(2021, 3, 6));
logDO.setResult(LoginResultEnum.SUCCESS.getResult());
logDO.setResult(cn.iocoder.yudao.module.system.enums.logger.LoginResultEnum.SUCCESS.getResult());
});
loginLogMapper.insert(loginLogDO);
// 下面几个都是不匹配的数据
// 登录失败的
loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setResult(LoginResultEnum.CAPTCHA_CODE_ERROR.getResult())));
loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setResult(cn.iocoder.yudao.module.system.enums.logger.LoginResultEnum.CAPTCHA_CODE_ERROR.getResult())));
// 不同ip段的
loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setUserIp("192.168.128.18")));
// 不同username
@ -86,20 +84,20 @@ public class LoginLogServiceImplTest extends BaseDbUnitTest {
// 登录成功的
SysLoginLogDO loginLogDO = RandomUtils.randomPojo(SysLoginLogDO.class, logDO -> {
logDO.setLogType(RandomUtil.randomEle(LoginLogTypeEnum.values()).getType());
logDO.setLogType(RandomUtil.randomEle(cn.iocoder.yudao.module.system.enums.logger.LoginLogTypeEnum.values()).getType());
logDO.setTraceId(TracerUtils.getTraceId());
logDO.setUserType(RandomUtil.randomEle(UserTypeEnum.values()).getValue());
logDO.setUserIp("192.168.111.16");
logDO.setUsername("wangxiaokai");
logDO.setCreateTime(buildTime(2021, 3, 6));
logDO.setResult(LoginResultEnum.SUCCESS.getResult());
logDO.setResult(cn.iocoder.yudao.module.system.enums.logger.LoginResultEnum.SUCCESS.getResult());
});
loginLogMapper.insert(loginLogDO);
// 下面几个都是不匹配的数据
// 登录失败的
loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setResult(LoginResultEnum.CAPTCHA_CODE_ERROR.getResult())));
loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setResult(cn.iocoder.yudao.module.system.enums.logger.LoginResultEnum.CAPTCHA_CODE_ERROR.getResult())));
// 不同ip段的
loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setUserIp("192.168.128.18")));
// 不同username
@ -130,8 +128,8 @@ public class LoginLogServiceImplTest extends BaseDbUnitTest {
LoginLogCreateReqDTO reqDTO = RandomUtils.randomPojo(LoginLogCreateReqDTO.class, vo -> {
// 指定随机的范围,避免超出范围入库失败
vo.setUserType(randomEle(UserTypeEnum.values()).getValue());
vo.setLogType(randomEle(SysLoginLogTypeEnum.values()).getType());
vo.setResult(randomEle(SysLoginResultEnum.values()).getResult());
vo.setLogType(randomEle(LoginLogTypeEnum.values()).getType());
vo.setResult(randomEle(LoginResultEnum.values()).getResult());
vo.setTraceId(TracerUtils.getTraceId());
});

View File

@ -4,9 +4,9 @@ import cn.hutool.core.map.MapUtil;
import cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.OperateLogExportReqVO;
import cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.OperateLogPageReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.logger.OperateLogDO;
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
import cn.iocoder.yudao.module.system.dal.mysql.logger.OperateLogMapper;
import cn.iocoder.yudao.module.system.service.user.UserService;
import cn.iocoder.yudao.module.system.dal.dataobject.user.UserDO;
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
import cn.iocoder.yudao.module.system.enums.common.SysSexEnum;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants;
@ -43,7 +43,7 @@ public class OperateLogServiceImplTest extends BaseDbUnitTest {
private OperateLogMapper operateLogMapper;
@MockBean
private UserService userService;
private AdminUserService userService;
@Test
public void testCreateOperateLogAsync() throws InterruptedException, ExecutionException {
@ -66,7 +66,7 @@ public class OperateLogServiceImplTest extends BaseDbUnitTest {
public void testGetOperateLogPage() {
// 构造测试数据
// 先构造用户
UserDO user = RandomUtils.randomPojo(UserDO.class, o -> {
AdminUserDO user = RandomUtils.randomPojo(AdminUserDO.class, o -> {
o.setNickname("wangkai");
o.setSex(SysSexEnum.MALE.getSex());
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
@ -117,7 +117,7 @@ public class OperateLogServiceImplTest extends BaseDbUnitTest {
public void testGetOperateLogs() {
// 构造测试数据
// 先构造用户
UserDO user = RandomUtils.randomPojo(UserDO.class, o -> {
AdminUserDO user = RandomUtils.randomPojo(AdminUserDO.class, o -> {
o.setNickname("wangkai");
o.setSex(SysSexEnum.MALE.getSex());
o.setStatus(CommonStatusEnum.ENABLE.getStatus());

View File

@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuCr
import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuListReqVO;
import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuUpdateReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO;
import cn.iocoder.yudao.module.system.dal.mysql.permission.SysMenuMapper;
import cn.iocoder.yudao.module.system.dal.mysql.permission.MenuMapper;
import cn.iocoder.yudao.module.system.enums.permission.MenuTypeEnum;
import cn.iocoder.yudao.module.system.mq.producer.permission.MenuProducer;
import cn.iocoder.yudao.framework.common.util.spring.SpringAopUtils;
@ -41,7 +41,7 @@ public class MenuServiceTest extends BaseDbUnitTest {
private MenuProducer sysMenuProducer;
@Resource
private SysMenuMapper menuMapper;
private MenuMapper menuMapper;
@Test
public void testInitLocalCache_success() throws Exception {

View File

@ -2,11 +2,11 @@ package cn.iocoder.yudao.module.system.service.permission;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO;
import cn.iocoder.yudao.module.system.dal.dataobject.permission.SysRoleDO;
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleMenuDO;
import cn.iocoder.yudao.module.system.dal.dataobject.permission.SysUserRoleDO;
import cn.iocoder.yudao.module.system.dal.mysql.permission.SysRoleMenuMapper;
import cn.iocoder.yudao.module.system.dal.mysql.permission.SysUserRoleMapper;
import cn.iocoder.yudao.module.system.dal.dataobject.permission.UserRoleDO;
import cn.iocoder.yudao.module.system.dal.mysql.permission.RoleMenuMapper;
import cn.iocoder.yudao.module.system.dal.mysql.permission.UserRoleMapper;
import cn.iocoder.yudao.module.system.mq.producer.permission.PermissionProducer;
import cn.iocoder.yudao.module.system.service.dept.DeptService;
import cn.iocoder.yudao.framework.datapermission.core.dept.service.dto.DeptDataPermissionRespDTO;
@ -37,9 +37,9 @@ public class PermissionServiceTest extends BaseDbUnitTest {
private PermissionServiceImpl permissionService;
@Resource
private SysRoleMenuMapper roleMenuMapper;
private RoleMenuMapper roleMenuMapper;
@Resource
private SysUserRoleMapper userRoleMapper;
private UserRoleMapper userRoleMapper;
@MockBean
private RoleService roleService;
@ -56,9 +56,9 @@ public class PermissionServiceTest extends BaseDbUnitTest {
// 准备参数
Long roleId = randomLongId();
// mock 数据 UserRole
SysUserRoleDO userRoleDO01 = randomPojo(SysUserRoleDO.class, o -> o.setRoleId(roleId)); // 被删除
UserRoleDO userRoleDO01 = randomPojo(UserRoleDO.class, o -> o.setRoleId(roleId)); // 被删除
userRoleMapper.insert(userRoleDO01);
SysUserRoleDO userRoleDO02 = randomPojo(SysUserRoleDO.class); // 不被删除
UserRoleDO userRoleDO02 = randomPojo(UserRoleDO.class); // 不被删除
userRoleMapper.insert(userRoleDO02);
// mock 数据 RoleMenu
RoleMenuDO roleMenuDO01 = randomPojo(RoleMenuDO.class, o -> o.setRoleId(roleId)); // 被删除
@ -73,7 +73,7 @@ public class PermissionServiceTest extends BaseDbUnitTest {
assertEquals(1, dbRoleMenus.size());
assertPojoEquals(dbRoleMenus.get(0), roleMenuDO02);
// 断言数据 UserRoleDO
List<SysUserRoleDO> dbUserRoles = userRoleMapper.selectList();
List<UserRoleDO> dbUserRoles = userRoleMapper.selectList();
assertEquals(1, dbUserRoles.size());
assertPojoEquals(dbUserRoles.get(0), userRoleDO02);
// 断言调用
@ -105,15 +105,15 @@ public class PermissionServiceTest extends BaseDbUnitTest {
// 准备参数
Long userId = randomLongId();
// mock 数据
SysUserRoleDO userRoleDO01 = randomPojo(SysUserRoleDO.class, o -> o.setUserId(userId)); // 被删除
UserRoleDO userRoleDO01 = randomPojo(UserRoleDO.class, o -> o.setUserId(userId)); // 被删除
userRoleMapper.insert(userRoleDO01);
SysUserRoleDO userRoleDO02 = randomPojo(SysUserRoleDO.class); // 不被删除
UserRoleDO userRoleDO02 = randomPojo(UserRoleDO.class); // 不被删除
userRoleMapper.insert(userRoleDO02);
// 调用
permissionService.processUserDeleted(userId);
// 断言数据
List<SysUserRoleDO> dbUserRoles = userRoleMapper.selectList();
List<UserRoleDO> dbUserRoles = userRoleMapper.selectList();
assertEquals(1, dbUserRoles.size());
assertPojoEquals(dbUserRoles.get(0), userRoleDO02);
}
@ -137,7 +137,7 @@ public class PermissionServiceTest extends BaseDbUnitTest {
// 准备参数
LoginUser loginUser = randomPojo(LoginUser.class);
// mock 方法
SysRoleDO roleDO = randomPojo(SysRoleDO.class, o -> o.setDataScope(DataScopeEnum.ALL.getScope()));
RoleDO roleDO = randomPojo(RoleDO.class, o -> o.setDataScope(DataScopeEnum.ALL.getScope()));
when(roleService.getRolesFromCache(same(loginUser.getRoleIds()))).thenReturn(singletonList(roleDO));
// 调用
@ -154,7 +154,7 @@ public class PermissionServiceTest extends BaseDbUnitTest {
// 准备参数
LoginUser loginUser = randomPojo(LoginUser.class);
// mock 方法
SysRoleDO roleDO = randomPojo(SysRoleDO.class, o -> o.setDataScope(DataScopeEnum.DEPT_CUSTOM.getScope()));
RoleDO roleDO = randomPojo(RoleDO.class, o -> o.setDataScope(DataScopeEnum.DEPT_CUSTOM.getScope()));
when(roleService.getRolesFromCache(same(loginUser.getRoleIds()))).thenReturn(singletonList(roleDO));
// 调用
@ -173,7 +173,7 @@ public class PermissionServiceTest extends BaseDbUnitTest {
// 准备参数
LoginUser loginUser = randomPojo(LoginUser.class);
// mock 方法
SysRoleDO roleDO = randomPojo(SysRoleDO.class, o -> o.setDataScope(DataScopeEnum.DEPT_ONLY.getScope()));
RoleDO roleDO = randomPojo(RoleDO.class, o -> o.setDataScope(DataScopeEnum.DEPT_ONLY.getScope()));
when(roleService.getRolesFromCache(same(loginUser.getRoleIds()))).thenReturn(singletonList(roleDO));
// 调用
@ -191,7 +191,7 @@ public class PermissionServiceTest extends BaseDbUnitTest {
// 准备参数
LoginUser loginUser = randomPojo(LoginUser.class);
// mock 方法(角色)
SysRoleDO roleDO = randomPojo(SysRoleDO.class, o -> o.setDataScope(DataScopeEnum.DEPT_AND_CHILD.getScope()));
RoleDO roleDO = randomPojo(RoleDO.class, o -> o.setDataScope(DataScopeEnum.DEPT_AND_CHILD.getScope()));
when(roleService.getRolesFromCache(same(loginUser.getRoleIds()))).thenReturn(singletonList(roleDO));
// mock 方法(部门)
SysDeptDO deptDO = randomPojo(SysDeptDO.class);
@ -213,7 +213,7 @@ public class PermissionServiceTest extends BaseDbUnitTest {
// 准备参数
LoginUser loginUser = randomPojo(LoginUser.class);
// mock 方法
SysRoleDO roleDO = randomPojo(SysRoleDO.class, o -> o.setDataScope(DataScopeEnum.SELF.getScope()));
RoleDO roleDO = randomPojo(RoleDO.class, o -> o.setDataScope(DataScopeEnum.SELF.getScope()));
when(roleService.getRolesFromCache(same(loginUser.getRoleIds()))).thenReturn(singletonList(roleDO));
// 调用

View File

@ -7,8 +7,8 @@ import cn.iocoder.yudao.framework.security.core.enums.DataScopeEnum;
import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleCreateReqVO;
import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleUpdateReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.permission.SysRoleDO;
import cn.iocoder.yudao.module.system.dal.mysql.permission.SysRoleMapper;
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
import cn.iocoder.yudao.module.system.dal.mysql.permission.RoleMapper;
import cn.iocoder.yudao.module.system.enums.permission.RoleTypeEnum;
import cn.iocoder.yudao.module.system.mq.producer.permission.RoleProducer;
import cn.iocoder.yudao.framework.common.util.spring.SpringAopUtils;
@ -36,7 +36,7 @@ public class RoleServiceTest extends BaseDbUnitTest {
private RoleServiceImpl sysRoleService;
@Resource
private SysRoleMapper roleMapper;
private RoleMapper roleMapper;
@MockBean
private PermissionService sysPermissionService;
@ -46,9 +46,9 @@ public class RoleServiceTest extends BaseDbUnitTest {
@Test
public void testInitLocalCache_success() throws Exception {
SysRoleDO roleDO1 = createRoleDO("role1", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
RoleDO roleDO1 = createRoleDO("role1", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
roleMapper.insert(roleDO1);
SysRoleDO roleDO2 = createRoleDO("role2", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
RoleDO roleDO2 = createRoleDO("role2", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
roleMapper.insert(roleDO2);
//调用
@ -58,7 +58,7 @@ public class RoleServiceTest extends BaseDbUnitTest {
//获取代理对象
RoleServiceImpl target = (RoleServiceImpl) SpringAopUtils.getTarget(sysRoleService);
Map<Long, SysRoleDO> roleCache = (Map<Long, SysRoleDO>) BeanUtil.getFieldValue(target, "roleCache");
Map<Long, RoleDO> roleCache = (Map<Long, RoleDO>) BeanUtil.getFieldValue(target, "roleCache");
assertPojoEquals(roleDO1, roleCache.get(roleDO1.getId()));
assertPojoEquals(roleDO2, roleCache.get(roleDO2.getId()));
@ -79,7 +79,7 @@ public class RoleServiceTest extends BaseDbUnitTest {
//断言
assertNotNull(roleId);
SysRoleDO roleDO = roleMapper.selectById(roleId);
RoleDO roleDO = roleMapper.selectById(roleId);
assertPojoEquals(reqVO, roleDO);
verify(sysRoleProducer).sendRoleRefreshMessage();
@ -87,7 +87,7 @@ public class RoleServiceTest extends BaseDbUnitTest {
@Test
public void testUpdateRole_success() {
SysRoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
RoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
roleMapper.insert(roleDO);
Long roleId = roleDO.getId();
@ -102,7 +102,7 @@ public class RoleServiceTest extends BaseDbUnitTest {
sysRoleService.updateRole(reqVO);
//断言
SysRoleDO newRoleDO = roleMapper.selectById(roleId);
RoleDO newRoleDO = roleMapper.selectById(roleId);
assertPojoEquals(reqVO, newRoleDO);
verify(sysRoleProducer).sendRoleRefreshMessage();
@ -110,7 +110,7 @@ public class RoleServiceTest extends BaseDbUnitTest {
@Test
public void testUpdateRoleStatus_success() {
SysRoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, CommonStatusEnum.ENABLE.getStatus());
RoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, CommonStatusEnum.ENABLE.getStatus());
roleMapper.insert(roleDO);
Long roleId = roleDO.getId();
@ -118,7 +118,7 @@ public class RoleServiceTest extends BaseDbUnitTest {
sysRoleService.updateRoleStatus(roleId, CommonStatusEnum.DISABLE.getStatus());
//断言
SysRoleDO newRoleDO = roleMapper.selectById(roleId);
RoleDO newRoleDO = roleMapper.selectById(roleId);
assertEquals(CommonStatusEnum.DISABLE.getStatus(), newRoleDO.getStatus());
verify(sysRoleProducer).sendRoleRefreshMessage();
@ -126,7 +126,7 @@ public class RoleServiceTest extends BaseDbUnitTest {
@Test
public void testUpdateRoleDataScope_success() {
SysRoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
RoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
roleMapper.insert(roleDO);
Long roleId = roleDO.getId();
@ -135,7 +135,7 @@ public class RoleServiceTest extends BaseDbUnitTest {
sysRoleService.updateRoleDataScope(roleId, DataScopeEnum.DEPT_CUSTOM.getScope(), deptIdSet);
//断言
SysRoleDO newRoleDO = roleMapper.selectById(roleId);
RoleDO newRoleDO = roleMapper.selectById(roleId);
assertEquals(DataScopeEnum.DEPT_CUSTOM.getScope(), newRoleDO.getDataScope());
Set<Long> newDeptIdSet = newRoleDO.getDataScopeDeptIds();
@ -147,7 +147,7 @@ public class RoleServiceTest extends BaseDbUnitTest {
@Test
public void testDeleteRole_success() {
SysRoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
RoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
roleMapper.insert(roleDO);
Long roleId = roleDO.getId();
@ -155,7 +155,7 @@ public class RoleServiceTest extends BaseDbUnitTest {
sysRoleService.deleteRole(roleId);
//断言
SysRoleDO newRoleDO = roleMapper.selectById(roleId);
RoleDO newRoleDO = roleMapper.selectById(roleId);
assertNull(newRoleDO);
verify(sysRoleProducer).sendRoleRefreshMessage();
@ -163,22 +163,22 @@ public class RoleServiceTest extends BaseDbUnitTest {
@Test
public void testGetRoles_success() {
Map<Long, SysRoleDO> idRoleMap = new HashMap<>();
Map<Long, RoleDO> idRoleMap = new HashMap<>();
// 验证查询状态为1的角色
SysRoleDO roleDO1 = createRoleDO("role1", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 1);
RoleDO roleDO1 = createRoleDO("role1", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 1);
roleMapper.insert(roleDO1);
idRoleMap.put(roleDO1.getId(), roleDO1);
SysRoleDO roleDO2 = createRoleDO("role2", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 1);
RoleDO roleDO2 = createRoleDO("role2", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 1);
roleMapper.insert(roleDO2);
idRoleMap.put(roleDO2.getId(), roleDO2);
// 以下是排除的角色
SysRoleDO roleDO3 = createRoleDO("role3", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 2);
RoleDO roleDO3 = createRoleDO("role3", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 2);
roleMapper.insert(roleDO3);
//调用
List<SysRoleDO> roles = sysRoleService.getRoles(Arrays.asList(1));
List<RoleDO> roles = sysRoleService.getRoles(Arrays.asList(1));
//断言
assertEquals(2, roles.size());
@ -188,10 +188,10 @@ public class RoleServiceTest extends BaseDbUnitTest {
@Test
public void testGetRolePage_success() {
Map<Long, SysRoleDO> idRoleMap = new HashMap<>();
Map<Long, RoleDO> idRoleMap = new HashMap<>();
// 验证名称包含"role", 状态为1,code为"code"的角色
// 第一页
SysRoleDO roleDO = createRoleDO("role1", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 1, "code");
RoleDO roleDO = createRoleDO("role1", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 1, "code");
roleMapper.insert(roleDO);
idRoleMap.put(roleDO.getId(), roleDO);
// 第二页
@ -214,7 +214,7 @@ public class RoleServiceTest extends BaseDbUnitTest {
o.setBeginTime(null);
o.setEndTime(null);
});
PageResult<SysRoleDO> result = sysRoleService.getRolePage(reqVO);
PageResult<RoleDO> result = sysRoleService.getRolePage(reqVO);
assertEquals(2, result.getTotal());
result.getList().stream().forEach(r -> assertPojoEquals(idRoleMap.get(r.getId()), r));
}
@ -226,7 +226,7 @@ public class RoleServiceTest extends BaseDbUnitTest {
@Test
public void testCheckDuplicateRole_nameDuplicate() {
SysRoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
RoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
roleMapper.insert(roleDO);
String duplicateName = "role_name";
@ -236,7 +236,7 @@ public class RoleServiceTest extends BaseDbUnitTest {
@Test
public void testCheckDuplicateRole_codeDuplicate() {
SysRoleDO roleDO = randomPojo(SysRoleDO.class, o -> {
RoleDO roleDO = randomPojo(RoleDO.class, o -> {
o.setName("role_999");
o.setCode("code");
o.setType(RoleTypeEnum.CUSTOM.getType());
@ -253,7 +253,7 @@ public class RoleServiceTest extends BaseDbUnitTest {
@Test
public void testCheckUpdateRole_success() {
SysRoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
RoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
roleMapper.insert(roleDO);
Long roleId = roleDO.getId();
@ -267,27 +267,27 @@ public class RoleServiceTest extends BaseDbUnitTest {
@Test
public void testCheckUpdateRole_systemRoleCanNotBeUpdate() {
SysRoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.SYSTEM, DataScopeEnum.ALL);
RoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.SYSTEM, DataScopeEnum.ALL);
roleMapper.insert(roleDO);
Long roleId = roleDO.getId();
assertServiceException(() -> sysRoleService.checkUpdateRole(roleId), ROLE_CAN_NOT_UPDATE_SYSTEM_TYPE_ROLE);
}
private SysRoleDO createRoleDO(String name, RoleTypeEnum typeEnum, DataScopeEnum scopeEnum, Integer status) {
private RoleDO createRoleDO(String name, RoleTypeEnum typeEnum, DataScopeEnum scopeEnum, Integer status) {
return createRoleDO( name, typeEnum, scopeEnum, status, randomString());
}
private SysRoleDO createRoleDO(String name, RoleTypeEnum typeEnum, DataScopeEnum scopeEnum, Integer status, String code) {
private RoleDO createRoleDO(String name, RoleTypeEnum typeEnum, DataScopeEnum scopeEnum, Integer status, String code) {
return createRoleDO(null, name, typeEnum, scopeEnum, status, code);
}
private SysRoleDO createRoleDO(String name, RoleTypeEnum typeEnum, DataScopeEnum scopeEnum) {
private RoleDO createRoleDO(String name, RoleTypeEnum typeEnum, DataScopeEnum scopeEnum) {
return createRoleDO(null, name, typeEnum, scopeEnum, randomCommonStatus(), randomString());
}
private SysRoleDO createRoleDO(Long id, String name, RoleTypeEnum typeEnum, DataScopeEnum scopeEnum, Integer status, String code) {
SysRoleDO roleDO = randomPojo(SysRoleDO.class, o -> {
private RoleDO createRoleDO(Long id, String name, RoleTypeEnum typeEnum, DataScopeEnum scopeEnum, Integer status, String code) {
RoleDO roleDO = randomPojo(RoleDO.class, o -> {
o.setId(id);
o.setName(name);
o.setType(typeEnum.getType());

View File

@ -4,7 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelCreateReqVO;
import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelUpdateReqVO;
import cn.iocoder.yudao.module.system.dal.mysql.sms.SysSmsChannelMapper;
import cn.iocoder.yudao.module.system.dal.mysql.sms.SmsChannelMapper;
import cn.iocoder.yudao.module.system.mq.producer.sms.SmsProducer;
import cn.iocoder.yudao.module.system.dal.dataobject.sms.SysSmsChannelDO;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
@ -39,7 +39,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest {
private SmsChannelServiceImpl smsChannelService;
@Resource
private SysSmsChannelMapper smsChannelMapper;
private SmsChannelMapper smsChannelMapper;
@MockBean
private SmsClientFactory smsClientFactory;

View File

@ -5,7 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.system.controller.admin.sms.vo.log.SmsLogExportReqVO;
import cn.iocoder.yudao.module.system.controller.admin.sms.vo.log.SmsLogPageReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.sms.SysSmsTemplateDO;
import cn.iocoder.yudao.module.system.dal.mysql.sms.SysSmsLogMapper;
import cn.iocoder.yudao.module.system.dal.mysql.sms.SmsLogMapper;
import cn.iocoder.yudao.module.system.dal.dataobject.sms.SysSmsLogDO;
import cn.iocoder.yudao.module.system.enums.sms.SysSmsReceiveStatusEnum;
import cn.iocoder.yudao.module.system.enums.sms.SysSmsSendStatusEnum;
@ -39,7 +39,7 @@ public class SmsLogServiceTest extends BaseDbUnitTest {
private SmsLogServiceImpl smsLogService;
@Resource
private SysSmsLogMapper smsLogMapper;
private SmsLogMapper smsLogMapper;
@Test
public void testGetSmsLogPage() {

View File

@ -4,7 +4,7 @@ import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTempla
import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplateExportReqVO;
import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplatePageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplateUpdateReqVO;
import cn.iocoder.yudao.module.system.dal.mysql.sms.SysSmsTemplateMapper;
import cn.iocoder.yudao.module.system.dal.mysql.sms.SmsTemplateMapper;
import cn.iocoder.yudao.module.system.mq.producer.sms.SmsProducer;
import cn.iocoder.yudao.module.system.dal.dataobject.sms.SysSmsChannelDO;
import cn.iocoder.yudao.module.system.dal.dataobject.sms.SysSmsTemplateDO;
@ -49,7 +49,7 @@ public class SmsTemplateServiceTest extends BaseDbUnitTest {
private SmsTemplateServiceImpl smsTemplateService;
@Resource
private SysSmsTemplateMapper smsTemplateMapper;
private SmsTemplateMapper smsTemplateMapper;
@MockBean
private SmsChannelService smsChannelService;

View File

@ -23,9 +23,9 @@ import java.util.List;
import java.util.Map;
import static cn.hutool.core.util.RandomUtil.randomEle;
import static cn.iocoder.yudao.module.system.enums.SysErrorCodeConstants.*;
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.*;
@ -33,7 +33,7 @@ import static org.mockito.Mockito.*;
public class SysSmsSendServiceTest extends BaseMockitoUnitTest {
@InjectMocks
private SysSmsSendServiceImpl smsService;
private SmsSendServiceImpl smsService;
@Mock
private SmsTemplateService smsTemplateService;

View File

@ -23,7 +23,7 @@ import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
import static org.junit.jupiter.api.Assertions.assertEquals;
@Import({SocialUserServiceImpl.class, SocialAuthUserRedisDAO.class})
public class SocialUsererviceTest extends BaseDbAndRedisUnitTest {
public class SocialUserServiceTest extends BaseDbAndRedisUnitTest {
@Resource
private SocialUserServiceImpl socialService;
@ -47,7 +47,7 @@ public class SocialUsererviceTest extends BaseDbAndRedisUnitTest {
// mock 方法
// 调用
socialService.bindSocialUser(userId, type, authUser, UserTypeEnum.ADMIN);
socialService.bindSocialUser(userId, UserTypeEnum.ADMIN.getValue(), type, authUser);
// 断言
List<SysSocialUserDO> socialUsers = socialUserMapper.selectList("user_id", userId);
assertEquals(1, socialUsers.size());
@ -72,7 +72,7 @@ public class SocialUsererviceTest extends BaseDbAndRedisUnitTest {
// mock 方法
// 调用
socialService.bindSocialUser(userId, type, authUser, UserTypeEnum.ADMIN);
socialService.bindSocialUser(userId, UserTypeEnum.ADMIN.getValue(), type, authUser);
// 断言
List<SysSocialUserDO> socialUsers = socialUserMapper.selectList("user_id", userId);
assertEquals(1, socialUsers.size());
@ -97,7 +97,7 @@ public class SocialUsererviceTest extends BaseDbAndRedisUnitTest {
// mock 方法
// 调用
socialService.bindSocialUser(userId, type, authUser, UserTypeEnum.ADMIN);
socialService.bindSocialUser(userId, UserTypeEnum.ADMIN.getValue(), type, authUser);
// 断言
List<SysSocialUserDO> socialUsers = socialUserMapper.selectList("user_id", userId);
assertEquals(1, socialUsers.size());
@ -134,7 +134,7 @@ public class SocialUsererviceTest extends BaseDbAndRedisUnitTest {
String newUnionId = oldSocialUser.getUnionId();
// 调用
socialService.unbindOldSocialUser(userId, type, newUnionId, UserTypeEnum.ADMIN);
socialService.unbindOldSocialUser(userId, UserTypeEnum.ADMIN.getValue(), type, newUnionId);
// 断言
assertEquals(1L, socialUserMapper.selectCount(null).longValue());
}
@ -157,7 +157,7 @@ public class SocialUsererviceTest extends BaseDbAndRedisUnitTest {
String newUnionId = randomString(10);
// 调用
socialService.unbindOldSocialUser(userId, type, newUnionId, UserTypeEnum.ADMIN);
socialService.unbindOldSocialUser(userId, UserTypeEnum.ADMIN.getValue(), type, newUnionId);
// 断言
assertEquals(0L, socialUserMapper.selectCount(null).longValue());
}

View File

@ -1,25 +1,23 @@
package cn.iocoder.yudao.module.system.service.user;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.RandomUtil;
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.*;
import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO;
import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysPostDO;
import cn.iocoder.yudao.module.system.dal.mysql.user.UserMapper;
import cn.iocoder.yudao.module.system.service.dept.DeptService;
import cn.iocoder.yudao.module.system.service.dept.PostService;
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
import cn.iocoder.yudao.coreservice.modules.infra.service.file.InfFileCoreService;
import cn.iocoder.yudao.module.system.dal.dataobject.user.UserDO;
import cn.iocoder.yudao.module.system.enums.common.SysSexEnum;
import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.*;
import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO;
import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysPostDO;
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
import cn.iocoder.yudao.module.system.dal.mysql.user.AdminUserMapper;
import cn.iocoder.yudao.module.system.enums.common.SysSexEnum;
import cn.iocoder.yudao.module.system.service.dept.DeptService;
import cn.iocoder.yudao.module.system.service.dept.PostService;
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
import cn.iocoder.yudao.module.system.test.BaseDbUnitTest;
import org.junit.jupiter.api.Test;
import org.mockito.stubbing.Answer;
@ -29,36 +27,34 @@ import org.springframework.security.crypto.password.PasswordEncoder;
import javax.annotation.Resource;
import java.io.ByteArrayInputStream;
import java.util.*;
import java.util.List;
import java.util.function.Consumer;
import static cn.hutool.core.util.RandomUtil.randomBytes;
import static cn.hutool.core.util.RandomUtil.randomEle;
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime;
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
import static org.assertj.core.util.Lists.newArrayList;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*;
@Import(UserServiceImpl.class)
@Import(AdminUserServiceImpl.class)
public class UserServiceImplTest extends BaseDbUnitTest {
@Resource
private UserServiceImpl userService;
private AdminUserServiceImpl userService;
@Resource
private UserMapper userMapper;
private AdminUserMapper userMapper;
@MockBean
private DeptService deptService;
@MockBean
private SysDeptCoreService deptCoreService;
@MockBean
private PostService postService;
@MockBean
@ -80,7 +76,7 @@ public class UserServiceImplTest extends BaseDbUnitTest {
o.setId(reqVO.getDeptId());
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
});
when(deptCoreService.getDept(eq(dept.getId()))).thenReturn(dept);
when(deptService.getDept(eq(dept.getId()))).thenReturn(dept);
// mock postService 的方法
List<SysPostDO> posts = CollectionUtils.convertList(reqVO.getPostIds(), postId ->
randomPojo(SysPostDO.class, o -> {
@ -94,7 +90,7 @@ public class UserServiceImplTest extends BaseDbUnitTest {
// 调用
Long userId = userService.createUser(reqVO);
// 断言
UserDO user = userMapper.selectById(userId);
AdminUserDO user = userMapper.selectById(userId);
assertPojoEquals(reqVO, user, "password");
assertEquals("yudaoyuanma", user.getPassword());
assertEquals(CommonStatusEnum.ENABLE.getStatus(), user.getStatus());
@ -103,7 +99,7 @@ public class UserServiceImplTest extends BaseDbUnitTest {
@Test
public void testUpdateUser_success() {
// mock 数据
UserDO dbUser = randomSysUserDO();
AdminUserDO dbUser = randomSysUserDO();
userMapper.insert(dbUser);
// 准备参数
UserUpdateReqVO reqVO = randomPojo(UserUpdateReqVO.class, o -> {
@ -116,7 +112,7 @@ public class UserServiceImplTest extends BaseDbUnitTest {
o.setId(reqVO.getDeptId());
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
});
when(deptCoreService.getDept(eq(dept.getId()))).thenReturn(dept);
when(deptService.getDept(eq(dept.getId()))).thenReturn(dept);
// mock postService 的方法
List<SysPostDO> posts = CollectionUtils.convertList(reqVO.getPostIds(), postId ->
randomPojo(SysPostDO.class, o -> {
@ -128,14 +124,14 @@ public class UserServiceImplTest extends BaseDbUnitTest {
// 调用
userService.updateUser(reqVO);
// 断言
UserDO user = userMapper.selectById(reqVO.getId());
AdminUserDO user = userMapper.selectById(reqVO.getId());
assertPojoEquals(reqVO, user);
}
@Test
public void testUpdateUserProfile_success() {
// mock 数据
UserDO dbUser = randomSysUserDO();
AdminUserDO dbUser = randomSysUserDO();
userMapper.insert(dbUser);
// 准备参数
Long userId = dbUser.getId();
@ -147,14 +143,14 @@ public class UserServiceImplTest extends BaseDbUnitTest {
// 调用
userService.updateUserProfile(userId, reqVO);
// 断言
UserDO user = userMapper.selectById(userId);
AdminUserDO user = userMapper.selectById(userId);
assertPojoEquals(reqVO, user);
}
@Test
public void testUpdateUserPassword_success() {
// mock 数据
UserDO dbUser = randomSysUserDO(o -> o.setPassword("encode:yudao"));
AdminUserDO dbUser = randomSysUserDO(o -> o.setPassword("encode:yudao"));
userMapper.insert(dbUser);
// 准备参数
Long userId = dbUser.getId();
@ -170,14 +166,14 @@ public class UserServiceImplTest extends BaseDbUnitTest {
// 调用
userService.updateUserPassword(userId, reqVO);
// 断言
UserDO user = userMapper.selectById(userId);
AdminUserDO user = userMapper.selectById(userId);
assertEquals("encode:yuanma", user.getPassword());
}
@Test
public void testUpdateUserAvatar_success() {
// mock 数据
UserDO dbUser = randomSysUserDO();
AdminUserDO dbUser = randomSysUserDO();
userMapper.insert(dbUser);
// 准备参数
Long userId = dbUser.getId();
@ -190,14 +186,14 @@ public class UserServiceImplTest extends BaseDbUnitTest {
// 调用
userService.updateUserAvatar(userId, avatarFile);
// 断言
UserDO user = userMapper.selectById(userId);
AdminUserDO user = userMapper.selectById(userId);
assertEquals(avatar, user.getAvatar());
}
@Test
public void testUpdateUserPassword02_success() {
// mock 数据
UserDO dbUser = randomSysUserDO();
AdminUserDO dbUser = randomSysUserDO();
userMapper.insert(dbUser);
// 准备参数
Long userId = dbUser.getId();
@ -209,14 +205,14 @@ public class UserServiceImplTest extends BaseDbUnitTest {
// 调用
userService.updateUserPassword(userId, password);
// 断言
UserDO user = userMapper.selectById(userId);
AdminUserDO user = userMapper.selectById(userId);
assertEquals("encode:" + password, user.getPassword());
}
@Test
public void testUpdateUserStatus() {
// mock 数据
UserDO dbUser = randomSysUserDO();
AdminUserDO dbUser = randomSysUserDO();
userMapper.insert(dbUser);
// 准备参数
Long userId = dbUser.getId();
@ -225,14 +221,14 @@ public class UserServiceImplTest extends BaseDbUnitTest {
// 调用
userService.updateUserStatus(userId, status);
// 断言
UserDO user = userMapper.selectById(userId);
AdminUserDO user = userMapper.selectById(userId);
assertEquals(status, user.getStatus());
}
@Test
public void testDeleteUser_success(){
// mock 数据
UserDO dbUser = randomSysUserDO();
AdminUserDO dbUser = randomSysUserDO();
userMapper.insert(dbUser);
// 准备参数
Long userId = dbUser.getId();
@ -248,7 +244,7 @@ public class UserServiceImplTest extends BaseDbUnitTest {
@Test
public void testGetUserPage() {
// mock 数据
UserDO dbUser = initGetUserPageData();
AdminUserDO dbUser = initGetUserPageData();
// 准备参数
UserPageReqVO reqVO = new UserPageReqVO();
reqVO.setUsername("yudao");
@ -262,7 +258,7 @@ public class UserServiceImplTest extends BaseDbUnitTest {
when(deptService.getDeptsByParentIdFromCache(eq(reqVO.getDeptId()), eq(true))).thenReturn(deptList);
// 调用
PageResult<UserDO> pageResult = userService.getUserPage(reqVO);
PageResult<AdminUserDO> pageResult = userService.getUserPage(reqVO);
// 断言
assertEquals(1, pageResult.getTotal());
assertEquals(1, pageResult.getList().size());
@ -272,7 +268,7 @@ public class UserServiceImplTest extends BaseDbUnitTest {
@Test
public void testGetUsers() {
// mock 数据
UserDO dbUser = initGetUserPageData();
AdminUserDO dbUser = initGetUserPageData();
// 准备参数
UserExportReqVO reqVO = new UserExportReqVO();
reqVO.setUsername("yudao");
@ -286,7 +282,7 @@ public class UserServiceImplTest extends BaseDbUnitTest {
when(deptService.getDeptsByParentIdFromCache(eq(reqVO.getDeptId()), eq(true))).thenReturn(deptList);
// 调用
List<UserDO> list = userService.getUsers(reqVO);
List<AdminUserDO> list = userService.getUsers(reqVO);
// 断言
assertEquals(1, list.size());
assertPojoEquals(dbUser, list.get(0));
@ -295,9 +291,9 @@ public class UserServiceImplTest extends BaseDbUnitTest {
/**
* 初始化 getUserPage 方法的测试数据
*/
private UserDO initGetUserPageData() {
private AdminUserDO initGetUserPageData() {
// mock 数据
UserDO dbUser = randomSysUserDO(o -> { // 等会查询到
AdminUserDO dbUser = randomSysUserDO(o -> { // 等会查询到
o.setUsername("yudaoyuanma");
o.setMobile("15601691300");
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
@ -351,7 +347,7 @@ public class UserServiceImplTest extends BaseDbUnitTest {
o.setId(importUser.getDeptId());
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
});
when(deptCoreService.getDept(eq(dept.getId()))).thenReturn(dept);
when(deptService.getDept(eq(dept.getId()))).thenReturn(dept);
// mock passwordEncoder 的方法
when(passwordEncoder.encode(eq("yudaoyuanma"))).thenReturn("java");
@ -359,7 +355,7 @@ public class UserServiceImplTest extends BaseDbUnitTest {
UserImportRespVO respVO = userService.importUsers(newArrayList(importUser), true);
// 断言
assertEquals(1, respVO.getCreateUsernames().size());
UserDO user = userMapper.selectByUsername(respVO.getCreateUsernames().get(0));
AdminUserDO user = userMapper.selectByUsername(respVO.getCreateUsernames().get(0));
assertPojoEquals(importUser, user);
assertEquals("java", user.getPassword());
assertEquals(0, respVO.getUpdateUsernames().size());
@ -372,7 +368,7 @@ public class UserServiceImplTest extends BaseDbUnitTest {
@Test
public void testImportUsers_03() {
// mock 数据
UserDO dbUser = randomSysUserDO();
AdminUserDO dbUser = randomSysUserDO();
userMapper.insert(dbUser);
// 准备参数
UserImportExcelVO importUser = randomPojo(UserImportExcelVO.class, o -> {
@ -385,7 +381,7 @@ public class UserServiceImplTest extends BaseDbUnitTest {
o.setId(importUser.getDeptId());
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
});
when(deptCoreService.getDept(eq(dept.getId()))).thenReturn(dept);
when(deptService.getDept(eq(dept.getId()))).thenReturn(dept);
// 调用
UserImportRespVO respVO = userService.importUsers(newArrayList(importUser), false);
@ -402,7 +398,7 @@ public class UserServiceImplTest extends BaseDbUnitTest {
@Test
public void testImportUsers_04() {
// mock 数据
UserDO dbUser = randomSysUserDO();
AdminUserDO dbUser = randomSysUserDO();
userMapper.insert(dbUser);
// 准备参数
UserImportExcelVO importUser = randomPojo(UserImportExcelVO.class, o -> {
@ -415,14 +411,14 @@ public class UserServiceImplTest extends BaseDbUnitTest {
o.setId(importUser.getDeptId());
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
});
when(deptCoreService.getDept(eq(dept.getId()))).thenReturn(dept);
when(deptService.getDept(eq(dept.getId()))).thenReturn(dept);
// 调用
UserImportRespVO respVO = userService.importUsers(newArrayList(importUser), true);
// 断言
assertEquals(0, respVO.getCreateUsernames().size());
assertEquals(1, respVO.getUpdateUsernames().size());
UserDO user = userMapper.selectByUsername(respVO.getUpdateUsernames().get(0));
AdminUserDO user = userMapper.selectByUsername(respVO.getUpdateUsernames().get(0));
assertPojoEquals(importUser, user);
assertEquals(0, respVO.getFailureUsernames().size());
}
@ -507,51 +503,6 @@ public class UserServiceImplTest extends BaseDbUnitTest {
USER_MOBILE_EXISTS);
}
@Test
public void testCheckDeptEnable_notFound() {
assertServiceException(() -> userService.checkDeptEnable(randomLongId()),
DEPT_NOT_FOUND);
}
@Test
public void testCheckDeptEnable_notEnable() {
// 准备参数
Long deptId = randomLongId();
// mock deptService 的方法
SysDeptDO dept = randomPojo(SysDeptDO.class, o -> {
o.setId(deptId);
o.setStatus(CommonStatusEnum.DISABLE.getStatus());
});
when(deptCoreService.getDept(eq(dept.getId()))).thenReturn(dept);
// 调用,校验异常
assertServiceException(() -> userService.checkDeptEnable(deptId),
DEPT_NOT_ENABLE);
}
@Test
public void testCheckPostEnable_notFound() {
assertServiceException(() -> userService.checkPostEnable(randomSet(Long.class)),
POST_NOT_FOUND);
}
@Test
public void testCheckPostEnable_notEnable() {
// 准备参数
Set<Long> postIds = randomSet(Long.class);
// mock postService 的方法
List<SysPostDO> posts = CollectionUtils.convertList(postIds, postId ->
randomPojo(SysPostDO.class, o -> {
o.setId(postId);
o.setStatus(CommonStatusEnum.DISABLE.getStatus());
}));
when(postService.getPosts(eq(postIds), isNull())).thenReturn(posts);
// 调用,校验异常
assertServiceException(() -> userService.checkPostEnable(postIds),
POST_NOT_ENABLE, CollUtil.getFirst(posts).getName());
}
@Test
public void testCheckOldPassword_notExists() {
assertServiceException(() -> userService.checkOldPassword(randomLongId(), randomString()),
@ -561,7 +512,7 @@ public class UserServiceImplTest extends BaseDbUnitTest {
@Test
public void testCheckOldPassword_passwordFailed() {
// mock 数据
UserDO user = randomSysUserDO();
AdminUserDO user = randomSysUserDO();
userMapper.insert(user);
// 准备参数
Long id = user.getId();
@ -594,12 +545,12 @@ public class UserServiceImplTest extends BaseDbUnitTest {
// ========== 随机对象 ==========
@SafeVarargs
private static UserDO randomSysUserDO(Consumer<UserDO>... consumers) {
Consumer<UserDO> consumer = (o) -> {
private static AdminUserDO randomSysUserDO(Consumer<AdminUserDO>... consumers) {
Consumer<AdminUserDO> consumer = (o) -> {
o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围
o.setSex(randomEle(SysSexEnum.values()).getSex()); // 保证 sex 的范围
};
return randomPojo(UserDO.class, ArrayUtils.append(consumer, consumers));
return randomPojo(AdminUserDO.class, ArrayUtils.append(consumer, consumers));
}
}