多模块重构 4:system 模块的创建,去除 Sys
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
package cn.iocoder.yudao.module.system.service.auth;
|
||||
|
||||
import cn.iocoder.yudao.module.system.controller.auth.vo.auth.SysAuthLoginReqVO;
|
||||
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.common.SysCaptchaService;
|
||||
import cn.iocoder.yudao.module.system.service.dept.SysPostService;
|
||||
import cn.iocoder.yudao.module.system.service.permission.SysPermissionService;
|
||||
import cn.iocoder.yudao.module.system.service.user.SysUserService;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth.AuthLoginReqVO;
|
||||
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.permission.PermissionService;
|
||||
import cn.iocoder.yudao.module.system.service.user.UserService;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.service.auth.SysUserSessionCoreService;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.service.logger.SysLoginLogCoreService;
|
||||
@@ -31,7 +31,7 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Set;
|
||||
|
||||
import static cn.iocoder.yudao.module.system.enums.SysErrorCodeConstants.*;
|
||||
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
|
||||
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
|
||||
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
|
||||
import static java.util.Collections.singleton;
|
||||
@@ -39,24 +39,24 @@ import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
@Import(SysAuthServiceImpl.class)
|
||||
public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
@Import(AuthServiceImpl.class)
|
||||
public class AuthServiceImplTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysAuthServiceImpl authService;
|
||||
private AuthServiceImpl authService;
|
||||
|
||||
@MockBean
|
||||
private SysUserService userService;
|
||||
private UserService userService;
|
||||
@MockBean
|
||||
private SysUserCoreService userCoreService;
|
||||
@MockBean
|
||||
private SysPermissionService permissionService;
|
||||
private PermissionService permissionService;
|
||||
@MockBean
|
||||
private AuthenticationManager authenticationManager;
|
||||
@MockBean
|
||||
private Authentication authentication;
|
||||
@MockBean
|
||||
private SysCaptchaService captchaService;
|
||||
private CaptchaService captchaService;
|
||||
@MockBean
|
||||
private SysLoginLogCoreService loginLogCoreService;
|
||||
@MockBean
|
||||
@@ -64,7 +64,7 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
@MockBean
|
||||
private SysSocialCoreService socialService;
|
||||
@MockBean
|
||||
private SysPostService postService;
|
||||
private PostService postService;
|
||||
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
@@ -131,15 +131,15 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testLogin_captchaNotFound() {
|
||||
// 准备参数
|
||||
SysAuthLoginReqVO reqVO = randomPojo(SysAuthLoginReqVO.class);
|
||||
AuthLoginReqVO reqVO = randomPojo(AuthLoginReqVO.class);
|
||||
String userIp = randomString();
|
||||
String userAgent = randomString();
|
||||
// 调用, 并断言异常
|
||||
assertServiceException(() -> authService.login(reqVO, userIp, userAgent), AUTH_LOGIN_CAPTCHA_NOT_FOUND);
|
||||
// 校验调用参数
|
||||
verify(loginLogCoreService, times(1)).createLoginLog(
|
||||
argThat(o -> o.getLogType().equals(SysLoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(SysLoginResultEnum.CAPTCHA_NOT_FOUND.getResult()))
|
||||
argThat(o -> o.getLogType().equals(LoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(LoginResultEnum.CAPTCHA_NOT_FOUND.getResult()))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -149,15 +149,15 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
String userIp = randomString();
|
||||
String userAgent = randomString();
|
||||
String code = randomString();
|
||||
SysAuthLoginReqVO reqVO = randomPojo(SysAuthLoginReqVO.class);
|
||||
AuthLoginReqVO reqVO = randomPojo(AuthLoginReqVO.class);
|
||||
// mock 验证码不正确
|
||||
when(captchaService.getCaptchaCode(reqVO.getUuid())).thenReturn(code);
|
||||
// 调用, 并断言异常
|
||||
assertServiceException(() -> authService.login(reqVO, userIp, userAgent), AUTH_LOGIN_CAPTCHA_CODE_ERROR);
|
||||
// 校验调用参数
|
||||
verify(loginLogCoreService, times(1)).createLoginLog(
|
||||
argThat(o -> o.getLogType().equals(SysLoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(SysLoginResultEnum.CAPTCHA_CODE_ERROR.getResult()))
|
||||
argThat(o -> o.getLogType().equals(LoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(LoginResultEnum.CAPTCHA_CODE_ERROR.getResult()))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -166,7 +166,7 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
// 准备参数
|
||||
String userIp = randomString();
|
||||
String userAgent = randomString();
|
||||
SysAuthLoginReqVO reqVO = randomPojo(SysAuthLoginReqVO.class);
|
||||
AuthLoginReqVO reqVO = randomPojo(AuthLoginReqVO.class);
|
||||
// mock 验证码正确
|
||||
when(captchaService.getCaptchaCode(reqVO.getUuid())).thenReturn(reqVO.getCode());
|
||||
// mock 抛出异常
|
||||
@@ -177,8 +177,8 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
// 校验调用参数
|
||||
verify(captchaService, times(1)).deleteCaptchaCode(reqVO.getUuid());
|
||||
verify(loginLogCoreService, times(1)).createLoginLog(
|
||||
argThat(o -> o.getLogType().equals(SysLoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(SysLoginResultEnum.BAD_CREDENTIALS.getResult()))
|
||||
argThat(o -> o.getLogType().equals(LoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(LoginResultEnum.BAD_CREDENTIALS.getResult()))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -187,7 +187,7 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
// 准备参数
|
||||
String userIp = randomString();
|
||||
String userAgent = randomString();
|
||||
SysAuthLoginReqVO reqVO = randomPojo(SysAuthLoginReqVO.class);
|
||||
AuthLoginReqVO reqVO = randomPojo(AuthLoginReqVO.class);
|
||||
// mock 验证码正确
|
||||
when(captchaService.getCaptchaCode(reqVO.getUuid())).thenReturn(reqVO.getCode());
|
||||
// mock 抛出异常
|
||||
@@ -198,8 +198,8 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
// 校验调用参数
|
||||
verify(captchaService, times(1)).deleteCaptchaCode(reqVO.getUuid());
|
||||
verify(loginLogCoreService, times(1)).createLoginLog(
|
||||
argThat(o -> o.getLogType().equals(SysLoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(SysLoginResultEnum.USER_DISABLED.getResult()))
|
||||
argThat(o -> o.getLogType().equals(LoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(LoginResultEnum.USER_DISABLED.getResult()))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -208,7 +208,7 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
// 准备参数
|
||||
String userIp = randomString();
|
||||
String userAgent = randomString();
|
||||
SysAuthLoginReqVO reqVO = randomPojo(SysAuthLoginReqVO.class);
|
||||
AuthLoginReqVO reqVO = randomPojo(AuthLoginReqVO.class);
|
||||
// mock 验证码正确
|
||||
when(captchaService.getCaptchaCode(reqVO.getUuid())).thenReturn(reqVO.getCode());
|
||||
// mock 抛出异常
|
||||
@@ -219,8 +219,8 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
// 校验调用参数
|
||||
verify(captchaService, times(1)).deleteCaptchaCode(reqVO.getUuid());
|
||||
verify(loginLogCoreService, times(1)).createLoginLog(
|
||||
argThat(o -> o.getLogType().equals(SysLoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(SysLoginResultEnum.UNKNOWN_ERROR.getResult()))
|
||||
argThat(o -> o.getLogType().equals(LoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(LoginResultEnum.UNKNOWN_ERROR.getResult()))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -232,7 +232,7 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
Long userId = randomLongId();
|
||||
Set<Long> userRoleIds = randomSet(Long.class);
|
||||
String sessionId = randomString();
|
||||
SysAuthLoginReqVO reqVO = randomPojo(SysAuthLoginReqVO.class);
|
||||
AuthLoginReqVO reqVO = randomPojo(AuthLoginReqVO.class);
|
||||
LoginUser loginUser = randomPojo(LoginUser.class, o -> {
|
||||
o.setId(userId);
|
||||
o.setRoleIds(userRoleIds);
|
||||
@@ -253,8 +253,8 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
// 校验调用参数
|
||||
verify(captchaService, times(1)).deleteCaptchaCode(reqVO.getUuid());
|
||||
verify(loginLogCoreService, times(1)).createLoginLog(
|
||||
argThat(o -> o.getLogType().equals(SysLoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(SysLoginResultEnum.SUCCESS.getResult()))
|
||||
argThat(o -> o.getLogType().equals(LoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(LoginResultEnum.SUCCESS.getResult()))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -270,8 +270,8 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
// 校验调用参数
|
||||
verify(userSessionCoreService, times(1)).deleteUserSession(token);
|
||||
verify(loginLogCoreService, times(1)).createLoginLog(
|
||||
argThat(o -> o.getLogType().equals(SysLoginLogTypeEnum.LOGOUT_SELF.getType())
|
||||
&& o.getResult().equals(SysLoginResultEnum.SUCCESS.getResult()))
|
||||
argThat(o -> o.getLogType().equals(LoginLogTypeEnum.LOGOUT_SELF.getType())
|
||||
&& o.getResult().equals(LoginResultEnum.SUCCESS.getResult()))
|
||||
);
|
||||
}
|
||||
|
@@ -1,9 +1,9 @@
|
||||
package cn.iocoder.yudao.module.system.service.auth;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.iocoder.yudao.module.system.controller.auth.vo.session.SysUserSessionPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.session.UserSessionPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.auth.SysUserSessionMapper;
|
||||
import cn.iocoder.yudao.module.system.service.user.SysUserService;
|
||||
import cn.iocoder.yudao.module.system.service.user.UserService;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.auth.SysUserSessionDO;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.redis.auth.SysLoginUserCoreRedisDAO;
|
||||
@@ -34,21 +34,21 @@ import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
/**
|
||||
* {@link SysUserSessionServiceImpl} 的单元测试
|
||||
* {@link UserSessionServiceImpl} 的单元测试
|
||||
*
|
||||
* @author Lyon
|
||||
*/
|
||||
@Import({SysUserSessionServiceImpl.class})
|
||||
public class SysUserSessionServiceImplTest extends BaseDbAndRedisUnitTest {
|
||||
@Import({UserSessionServiceImpl.class})
|
||||
public class UserSessionServiceImplTest extends BaseDbAndRedisUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysUserSessionServiceImpl userSessionService;
|
||||
private UserSessionServiceImpl userSessionService;
|
||||
|
||||
@Resource
|
||||
private SysUserSessionMapper userSessionMapper;
|
||||
|
||||
@MockBean
|
||||
private SysUserService userService;
|
||||
private UserService userService;
|
||||
@MockBean
|
||||
private SysLoginLogCoreService loginLogCoreService;
|
||||
@MockBean
|
||||
@@ -81,7 +81,7 @@ public class SysUserSessionServiceImplTest extends BaseDbAndRedisUnitTest {
|
||||
o.setUserIp("testUserIp");
|
||||
}));
|
||||
// 准备参数
|
||||
SysUserSessionPageReqVO reqVO = new SysUserSessionPageReqVO();
|
||||
UserSessionPageReqVO reqVO = new UserSessionPageReqVO();
|
||||
reqVO.setUsername(dbUser.getUsername());
|
||||
reqVO.setUserIp(userIp);
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package cn.iocoder.yudao.module.system.service.common;
|
||||
|
||||
import cn.iocoder.yudao.module.system.controller.common.vo.SysCaptchaImageRespVO;
|
||||
import cn.iocoder.yudao.module.system.dal.redis.common.SysCaptchaRedisDAO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.common.vo.CaptchaImageRespVO;
|
||||
import cn.iocoder.yudao.module.system.dal.redis.common.CaptchaRedisDAO;
|
||||
import cn.iocoder.yudao.module.system.framework.captcha.config.CaptchaProperties;
|
||||
import cn.iocoder.yudao.module.system.test.BaseRedisUnitTest;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@@ -12,21 +12,21 @@ import javax.annotation.Resource;
|
||||
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomString;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
@Import({SysCaptchaServiceImpl.class, CaptchaProperties.class, SysCaptchaRedisDAO.class})
|
||||
public class SysCaptchaServiceTest extends BaseRedisUnitTest {
|
||||
@Import({CaptchaServiceImpl.class, CaptchaProperties.class, CaptchaRedisDAO.class})
|
||||
public class CaptchaServiceTest extends BaseRedisUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysCaptchaServiceImpl captchaService;
|
||||
private CaptchaServiceImpl captchaService;
|
||||
|
||||
@Resource
|
||||
private SysCaptchaRedisDAO captchaRedisDAO;
|
||||
private CaptchaRedisDAO captchaRedisDAO;
|
||||
@Resource
|
||||
private CaptchaProperties captchaProperties;
|
||||
|
||||
@Test
|
||||
public void testGetCaptchaImage() {
|
||||
// 调用
|
||||
SysCaptchaImageRespVO respVO = captchaService.getCaptchaImage();
|
||||
CaptchaImageRespVO respVO = captchaService.getCaptchaImage();
|
||||
// 断言
|
||||
assertNotNull(respVO.getUuid());
|
||||
assertNotNull(respVO.getImg());
|
@@ -1,13 +1,13 @@
|
||||
package cn.iocoder.yudao.module.system.service.dept;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.module.system.controller.dept.vo.dept.SysDeptCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.dept.vo.dept.SysDeptListReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.dept.vo.dept.SysDeptUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptListReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptUpdateReqVO;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysDeptDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.dept.SysDeptMapper;
|
||||
import cn.iocoder.yudao.module.system.enums.dept.DeptIdEnum;
|
||||
import cn.iocoder.yudao.module.system.mq.producer.dept.SysDeptProducer;
|
||||
import cn.iocoder.yudao.module.system.mq.producer.dept.DeptProducer;
|
||||
import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils;
|
||||
import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
|
||||
import cn.iocoder.yudao.module.system.test.BaseDbUnitTest;
|
||||
@@ -24,7 +24,7 @@ import java.util.function.Consumer;
|
||||
|
||||
import static cn.hutool.core.bean.BeanUtil.getFieldValue;
|
||||
import static cn.hutool.core.util.RandomUtil.randomEle;
|
||||
import static cn.iocoder.yudao.module.system.enums.SysErrorCodeConstants.*;
|
||||
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
|
||||
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.*;
|
||||
@@ -33,19 +33,19 @@ import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
/**
|
||||
* {@link SysDeptServiceImpl} 的单元测试类
|
||||
* {@link DeptServiceImpl} 的单元测试类
|
||||
*
|
||||
* @author niudehua
|
||||
*/
|
||||
@Import(SysDeptServiceImpl.class)
|
||||
class SysDeptServiceTest extends BaseDbUnitTest {
|
||||
@Import(DeptServiceImpl.class)
|
||||
public class DeptServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysDeptServiceImpl deptService;
|
||||
private DeptServiceImpl deptService;
|
||||
@Resource
|
||||
private SysDeptMapper deptMapper;
|
||||
@MockBean
|
||||
private SysDeptProducer deptProducer;
|
||||
private DeptProducer deptProducer;
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("unchecked")
|
||||
@@ -86,7 +86,7 @@ class SysDeptServiceTest extends BaseDbUnitTest {
|
||||
// 测试 status 不匹配
|
||||
deptMapper.insert(ObjectUtils.cloneIgnoreId(dept, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
|
||||
// 准备参数
|
||||
SysDeptListReqVO reqVO = new SysDeptListReqVO();
|
||||
DeptListReqVO reqVO = new DeptListReqVO();
|
||||
reqVO.setName("开");
|
||||
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
// 调用
|
||||
@@ -99,7 +99,7 @@ class SysDeptServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
void testCreateDept_success() {
|
||||
// 准备参数
|
||||
SysDeptCreateReqVO reqVO = randomPojo(SysDeptCreateReqVO.class,
|
||||
DeptCreateReqVO reqVO = randomPojo(DeptCreateReqVO.class,
|
||||
o -> {
|
||||
o.setParentId(DeptIdEnum.ROOT.getId());
|
||||
o.setStatus(randomCommonStatus());
|
||||
@@ -121,7 +121,7 @@ class SysDeptServiceTest extends BaseDbUnitTest {
|
||||
SysDeptDO dbDeptDO = randomPojo(SysDeptDO.class, o -> o.setStatus(randomCommonStatus()));
|
||||
deptMapper.insert(dbDeptDO);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
SysDeptUpdateReqVO reqVO = randomPojo(SysDeptUpdateReqVO.class, o -> {
|
||||
DeptUpdateReqVO reqVO = randomPojo(DeptUpdateReqVO.class, o -> {
|
||||
// 设置更新的 ID
|
||||
o.setParentId(DeptIdEnum.ROOT.getId());
|
||||
o.setId(dbDeptDO.getId());
|
||||
@@ -160,7 +160,7 @@ class SysDeptServiceTest extends BaseDbUnitTest {
|
||||
nameDeptDO.setParentId(DeptIdEnum.ROOT.getId());
|
||||
deptMapper.insert(nameDeptDO);
|
||||
// 准备参数
|
||||
SysDeptUpdateReqVO reqVO = randomPojo(SysDeptUpdateReqVO.class,
|
||||
DeptUpdateReqVO reqVO = randomPojo(DeptUpdateReqVO.class,
|
||||
o -> {
|
||||
// 设置根节点部门
|
||||
o.setParentId(DeptIdEnum.ROOT.getId());
|
||||
@@ -175,7 +175,7 @@ class SysDeptServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
void testCheckDept_parentNotExitsForCreate() {
|
||||
SysDeptCreateReqVO reqVO = randomPojo(SysDeptCreateReqVO.class,
|
||||
DeptCreateReqVO reqVO = randomPojo(DeptCreateReqVO.class,
|
||||
o -> o.setStatus(randomCommonStatus()));
|
||||
// 调用,并断言异常
|
||||
assertServiceException(() -> deptService.createDept(reqVO), DEPT_PARENT_NOT_EXITS);
|
||||
@@ -211,7 +211,7 @@ class SysDeptServiceTest extends BaseDbUnitTest {
|
||||
SysDeptDO dbDeptDO = randomPojo(SysDeptDO.class, o -> o.setStatus(randomCommonStatus()));
|
||||
deptMapper.insert(dbDeptDO);
|
||||
// 准备参数
|
||||
SysDeptUpdateReqVO reqVO = randomPojo(SysDeptUpdateReqVO.class,
|
||||
DeptUpdateReqVO reqVO = randomPojo(DeptUpdateReqVO.class,
|
||||
o -> {
|
||||
// 设置自己为父部门
|
||||
o.setParentId(dbDeptDO.getId());
|
||||
@@ -228,7 +228,7 @@ class SysDeptServiceTest extends BaseDbUnitTest {
|
||||
SysDeptDO deptDO = randomPojo(SysDeptDO.class, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()));
|
||||
deptMapper.insert(deptDO);
|
||||
// 准备参数
|
||||
SysDeptCreateReqVO reqVO = randomPojo(SysDeptCreateReqVO.class,
|
||||
DeptCreateReqVO reqVO = randomPojo(DeptCreateReqVO.class,
|
||||
o -> {
|
||||
// 设置未启用的部门为副部门
|
||||
o.setParentId(deptDO.getId());
|
||||
@@ -250,7 +250,7 @@ class SysDeptServiceTest extends BaseDbUnitTest {
|
||||
// 初始化本地缓存
|
||||
deptService.initLocalCache();
|
||||
// 准备参数
|
||||
SysDeptUpdateReqVO reqVO = randomPojo(SysDeptUpdateReqVO.class,
|
||||
DeptUpdateReqVO reqVO = randomPojo(DeptUpdateReqVO.class,
|
||||
o -> {
|
||||
// 设置自己的子部门为父部门
|
||||
o.setParentId(childDept.getId());
|
@@ -5,10 +5,10 @@ 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.object.ObjectUtils;
|
||||
import cn.iocoder.yudao.module.system.controller.dept.vo.post.SysPostCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.dept.vo.post.SysPostExportReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.dept.vo.post.SysPostPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.dept.vo.post.SysPostUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.post.PostCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.post.PostExportReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.post.PostPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.post.PostUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.dept.SysPostMapper;
|
||||
import cn.iocoder.yudao.module.system.test.BaseDbUnitTest;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@@ -23,19 +23,14 @@ import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEq
|
||||
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
|
||||
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
|
||||
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
|
||||
import static cn.iocoder.yudao.module.system.enums.SysErrorCodeConstants.*;
|
||||
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/**
|
||||
* {@link SysPostServiceImpl} 的单元测试类
|
||||
*
|
||||
* @author niudehua
|
||||
*/
|
||||
@Import(SysPostServiceImpl.class)
|
||||
class SysPostServiceTest extends BaseDbUnitTest {
|
||||
@Import(PostServiceImpl.class)
|
||||
public class PostServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysPostServiceImpl postService;
|
||||
private PostServiceImpl postService;
|
||||
@Resource
|
||||
private SysPostMapper postMapper;
|
||||
|
||||
@@ -53,7 +48,7 @@ class SysPostServiceTest extends BaseDbUnitTest {
|
||||
postMapper.insert(ObjectUtils.cloneIgnoreId(postDO, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
|
||||
|
||||
// 准备参数
|
||||
SysPostPageReqVO reqVO = new SysPostPageReqVO();
|
||||
PostPageReqVO reqVO = new PostPageReqVO();
|
||||
reqVO.setName("码");
|
||||
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
|
||||
@@ -79,7 +74,7 @@ class SysPostServiceTest extends BaseDbUnitTest {
|
||||
// 测试 status 不匹配
|
||||
postMapper.insert(ObjectUtils.cloneIgnoreId(postDO, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
|
||||
// 准备参数
|
||||
SysPostExportReqVO reqVO = new SysPostExportReqVO();
|
||||
PostExportReqVO reqVO = new PostExportReqVO();
|
||||
reqVO.setName("码");
|
||||
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
|
||||
@@ -107,7 +102,7 @@ class SysPostServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
void testCreatePost_success() {
|
||||
// 准备参数
|
||||
SysPostCreateReqVO reqVO = randomPojo(SysPostCreateReqVO.class,
|
||||
PostCreateReqVO reqVO = randomPojo(PostCreateReqVO.class,
|
||||
o -> o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()));
|
||||
// 调用
|
||||
Long postId = postService.createPost(reqVO);
|
||||
@@ -124,7 +119,7 @@ class SysPostServiceTest extends BaseDbUnitTest {
|
||||
SysPostDO postDO = randomPostDO();
|
||||
postMapper.insert(postDO);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
SysPostUpdateReqVO reqVO = randomPojo(SysPostUpdateReqVO.class,
|
||||
PostUpdateReqVO reqVO = randomPojo(PostUpdateReqVO.class,
|
||||
o -> {
|
||||
// 设置更新的 ID
|
||||
o.setId(postDO.getId());
|
||||
@@ -163,7 +158,7 @@ class SysPostServiceTest extends BaseDbUnitTest {
|
||||
SysPostDO postDO = randomPostDO();
|
||||
postMapper.insert(postDO);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
SysPostCreateReqVO reqVO = randomPojo(SysPostCreateReqVO.class,
|
||||
PostCreateReqVO reqVO = randomPojo(PostCreateReqVO.class,
|
||||
// 模拟 name 重复
|
||||
o -> o.setName(postDO.getName()));
|
||||
assertServiceException(() -> postService.createPost(reqVO), POST_NAME_DUPLICATE);
|
||||
@@ -178,7 +173,7 @@ class SysPostServiceTest extends BaseDbUnitTest {
|
||||
SysPostDO codePostDO = randomPostDO();
|
||||
postMapper.insert(codePostDO);
|
||||
// 准备参数
|
||||
SysPostUpdateReqVO reqVO = randomPojo(SysPostUpdateReqVO.class,
|
||||
PostUpdateReqVO reqVO = randomPojo(PostUpdateReqVO.class,
|
||||
o -> {
|
||||
// 设置更新的 ID
|
||||
o.setId(postDO.getId());
|
@@ -3,13 +3,13 @@ package cn.iocoder.yudao.module.system.service.dict;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dict.SysDictDataDO;
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.system.controller.dict.vo.data.SysDictDataCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.dict.vo.data.SysDictDataExportReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.dict.vo.data.SysDictDataPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.dict.vo.data.SysDictDataUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.dict.SysDictTypeDO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.data.DictDataCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.data.DictDataExportReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.data.DictDataPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.data.DictDataUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictTypeDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.dict.SysDictDataMapper;
|
||||
import cn.iocoder.yudao.module.system.mq.producer.dict.SysDictDataProducer;
|
||||
import cn.iocoder.yudao.module.system.mq.producer.dict.DictDataProducer;
|
||||
import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils;
|
||||
import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
|
||||
import cn.iocoder.yudao.module.system.test.BaseDbUnitTest;
|
||||
@@ -21,7 +21,7 @@ import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import static cn.iocoder.yudao.module.system.enums.SysErrorCodeConstants.*;
|
||||
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
|
||||
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.*;
|
||||
@@ -29,23 +29,18 @@ import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
/**
|
||||
* {@link SysDictDataServiceImpl} 的单元测试类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Import(SysDictDataServiceImpl.class)
|
||||
public class SysDictDataServiceTest extends BaseDbUnitTest {
|
||||
@Import(DictDataServiceImpl.class)
|
||||
public class DictDataServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysDictDataServiceImpl dictDataService;
|
||||
private DictDataServiceImpl dictDataService;
|
||||
|
||||
@Resource
|
||||
private SysDictDataMapper dictDataMapper;
|
||||
@MockBean
|
||||
private SysDictTypeService dictTypeService;
|
||||
private DictTypeService dictTypeService;
|
||||
@MockBean
|
||||
private SysDictDataProducer dictDataProducer;
|
||||
private DictDataProducer dictDataProducer;
|
||||
|
||||
@Test
|
||||
public void testGetDictDataPage() {
|
||||
@@ -63,7 +58,7 @@ public class SysDictDataServiceTest extends BaseDbUnitTest {
|
||||
// 测试 status 不匹配
|
||||
dictDataMapper.insert(ObjectUtils.cloneIgnoreId(dbDictData, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
|
||||
// 准备参数
|
||||
SysDictDataPageReqVO reqVO = new SysDictDataPageReqVO();
|
||||
DictDataPageReqVO reqVO = new DictDataPageReqVO();
|
||||
reqVO.setLabel("芋");
|
||||
reqVO.setDictType("yu");
|
||||
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
@@ -92,7 +87,7 @@ public class SysDictDataServiceTest extends BaseDbUnitTest {
|
||||
// 测试 status 不匹配
|
||||
dictDataMapper.insert(ObjectUtils.cloneIgnoreId(dbDictData, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
|
||||
// 准备参数
|
||||
SysDictDataExportReqVO reqVO = new SysDictDataExportReqVO();
|
||||
DictDataExportReqVO reqVO = new DictDataExportReqVO();
|
||||
reqVO.setLabel("芋");
|
||||
reqVO.setDictType("yu");
|
||||
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
@@ -107,7 +102,7 @@ public class SysDictDataServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testCreateDictData_success() {
|
||||
// 准备参数
|
||||
SysDictDataCreateReqVO reqVO = randomPojo(SysDictDataCreateReqVO.class,
|
||||
DictDataCreateReqVO reqVO = randomPojo(DictDataCreateReqVO.class,
|
||||
o -> o.setStatus(randomCommonStatus()));
|
||||
// mock 方法
|
||||
when(dictTypeService.getDictType(eq(reqVO.getDictType()))).thenReturn(randomDictTypeDO(reqVO.getDictType()));
|
||||
@@ -129,7 +124,7 @@ public class SysDictDataServiceTest extends BaseDbUnitTest {
|
||||
SysDictDataDO dbDictData = randomDictDataDO();
|
||||
dictDataMapper.insert(dbDictData);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
SysDictDataUpdateReqVO reqVO = randomPojo(SysDictDataUpdateReqVO.class, o -> {
|
||||
DictDataUpdateReqVO reqVO = randomPojo(DictDataUpdateReqVO.class, o -> {
|
||||
o.setId(dbDictData.getId()); // 设置更新的 ID
|
||||
o.setStatus(randomCommonStatus());
|
||||
});
|
||||
@@ -196,7 +191,7 @@ public class SysDictDataServiceTest extends BaseDbUnitTest {
|
||||
// mock 方法,数据类型被禁用
|
||||
String dictType = randomString();
|
||||
when(dictTypeService.getDictType(eq(dictType))).thenReturn(
|
||||
randomPojo(SysDictTypeDO.class, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
|
||||
randomPojo(DictTypeDO.class, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
|
||||
|
||||
// 调用, 并断言异常
|
||||
assertServiceException(() -> dictDataService.checkDictTypeValid(dictType), DICT_TYPE_NOT_ENABLE);
|
||||
@@ -257,8 +252,8 @@ public class SysDictDataServiceTest extends BaseDbUnitTest {
|
||||
* @param type 字典类型
|
||||
* @return SysDictTypeDO 对象
|
||||
*/
|
||||
private static SysDictTypeDO randomDictTypeDO(String type) {
|
||||
return randomPojo(SysDictTypeDO.class, o -> {
|
||||
private static DictTypeDO randomDictTypeDO(String type) {
|
||||
return randomPojo(DictTypeDO.class, o -> {
|
||||
o.setType(type);
|
||||
o.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 保证 status 是开启
|
||||
});
|
@@ -2,11 +2,11 @@ package cn.iocoder.yudao.module.system.service.dict;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.system.controller.dict.vo.type.SysDictTypeCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.dict.vo.type.SysDictTypeExportReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.dict.vo.type.SysDictTypePageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.dict.vo.type.SysDictTypeUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.dict.SysDictTypeDO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.type.DictTypeCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.type.DictTypeUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.type.DictTypeExportReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.type.DictTypePageReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictTypeDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.dict.SysDictTypeMapper;
|
||||
import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils;
|
||||
import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
|
||||
@@ -20,7 +20,7 @@ import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import static cn.hutool.core.util.RandomUtil.randomEle;
|
||||
import static cn.iocoder.yudao.module.system.enums.SysErrorCodeConstants.*;
|
||||
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
|
||||
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.common.util.date.DateUtils.buildTime;
|
||||
@@ -29,21 +29,21 @@ import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@Import(SysDictTypeServiceImpl.class)
|
||||
public class SysDictTypeServiceTest extends BaseDbUnitTest {
|
||||
@Import(DictTypeServiceImpl.class)
|
||||
public class DictTypeServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysDictTypeServiceImpl dictTypeService;
|
||||
private DictTypeServiceImpl dictTypeService;
|
||||
|
||||
@Resource
|
||||
private SysDictTypeMapper dictTypeMapper;
|
||||
@MockBean
|
||||
private SysDictDataService dictDataService;
|
||||
private DictDataService dictDataService;
|
||||
|
||||
@Test
|
||||
public void testGetDictTypePage() {
|
||||
// mock 数据
|
||||
SysDictTypeDO dbDictType = randomPojo(SysDictTypeDO.class, o -> { // 等会查询到
|
||||
DictTypeDO dbDictType = randomPojo(DictTypeDO.class, o -> { // 等会查询到
|
||||
o.setName("yunai");
|
||||
o.setType("芋艿");
|
||||
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
@@ -59,7 +59,7 @@ public class SysDictTypeServiceTest extends BaseDbUnitTest {
|
||||
// 测试 createTime 不匹配
|
||||
dictTypeMapper.insert(ObjectUtils.cloneIgnoreId(dbDictType, o -> o.setCreateTime(buildTime(2021, 1, 1))));
|
||||
// 准备参数
|
||||
SysDictTypePageReqVO reqVO = new SysDictTypePageReqVO();
|
||||
DictTypePageReqVO reqVO = new DictTypePageReqVO();
|
||||
reqVO.setName("nai");
|
||||
reqVO.setType("艿");
|
||||
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
@@ -67,7 +67,7 @@ public class SysDictTypeServiceTest extends BaseDbUnitTest {
|
||||
reqVO.setEndCreateTime(buildTime(2021, 1, 20));
|
||||
|
||||
// 调用
|
||||
PageResult<SysDictTypeDO> pageResult = dictTypeService.getDictTypePage(reqVO);
|
||||
PageResult<DictTypeDO> pageResult = dictTypeService.getDictTypePage(reqVO);
|
||||
// 断言
|
||||
assertEquals(1, pageResult.getTotal());
|
||||
assertEquals(1, pageResult.getList().size());
|
||||
@@ -77,7 +77,7 @@ public class SysDictTypeServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testGetDictTypeList() {
|
||||
// mock 数据
|
||||
SysDictTypeDO dbDictType = randomPojo(SysDictTypeDO.class, o -> { // 等会查询到
|
||||
DictTypeDO dbDictType = randomPojo(DictTypeDO.class, o -> { // 等会查询到
|
||||
o.setName("yunai");
|
||||
o.setType("芋艿");
|
||||
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
@@ -93,7 +93,7 @@ public class SysDictTypeServiceTest extends BaseDbUnitTest {
|
||||
// 测试 createTime 不匹配
|
||||
dictTypeMapper.insert(ObjectUtils.cloneIgnoreId(dbDictType, o -> o.setCreateTime(buildTime(2021, 1, 1))));
|
||||
// 准备参数
|
||||
SysDictTypeExportReqVO reqVO = new SysDictTypeExportReqVO();
|
||||
DictTypeExportReqVO reqVO = new DictTypeExportReqVO();
|
||||
reqVO.setName("nai");
|
||||
reqVO.setType("艿");
|
||||
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
@@ -101,7 +101,7 @@ public class SysDictTypeServiceTest extends BaseDbUnitTest {
|
||||
reqVO.setEndCreateTime(buildTime(2021, 1, 20));
|
||||
|
||||
// 调用
|
||||
List<SysDictTypeDO> list = dictTypeService.getDictTypeList(reqVO);
|
||||
List<DictTypeDO> list = dictTypeService.getDictTypeList(reqVO);
|
||||
// 断言
|
||||
assertEquals(1, list.size());
|
||||
assertPojoEquals(dbDictType, list.get(0));
|
||||
@@ -110,13 +110,13 @@ public class SysDictTypeServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testGetDictType() {
|
||||
// mock 数据
|
||||
SysDictTypeDO dbDictType = randomDictTypeDO();
|
||||
DictTypeDO dbDictType = randomDictTypeDO();
|
||||
dictTypeMapper.insert(dbDictType);
|
||||
// 准备参数
|
||||
String type = dbDictType.getType();
|
||||
|
||||
// 调用
|
||||
SysDictTypeDO dictType = dictTypeService.getDictType(type);
|
||||
DictTypeDO dictType = dictTypeService.getDictType(type);
|
||||
// 断言
|
||||
assertNotNull(dictType);
|
||||
assertPojoEquals(dbDictType, dictType);
|
||||
@@ -125,7 +125,7 @@ public class SysDictTypeServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testCreateDictType_success() {
|
||||
// 准备参数
|
||||
SysDictTypeCreateReqVO reqVO = randomPojo(SysDictTypeCreateReqVO.class,
|
||||
DictTypeCreateReqVO reqVO = randomPojo(DictTypeCreateReqVO.class,
|
||||
o -> o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()));
|
||||
|
||||
// 调用
|
||||
@@ -133,17 +133,17 @@ public class SysDictTypeServiceTest extends BaseDbUnitTest {
|
||||
// 断言
|
||||
assertNotNull(dictTypeId);
|
||||
// 校验记录的属性是否正确
|
||||
SysDictTypeDO dictType = dictTypeMapper.selectById(dictTypeId);
|
||||
DictTypeDO dictType = dictTypeMapper.selectById(dictTypeId);
|
||||
assertPojoEquals(reqVO, dictType);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateDictType_success() {
|
||||
// mock 数据
|
||||
SysDictTypeDO dbDictType = randomDictTypeDO();
|
||||
DictTypeDO dbDictType = randomDictTypeDO();
|
||||
dictTypeMapper.insert(dbDictType);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
SysDictTypeUpdateReqVO reqVO = randomPojo(SysDictTypeUpdateReqVO.class, o -> {
|
||||
DictTypeUpdateReqVO reqVO = randomPojo(DictTypeUpdateReqVO.class, o -> {
|
||||
o.setId(dbDictType.getId()); // 设置更新的 ID
|
||||
o.setStatus(randomEle(CommonStatusEnum.values()).getStatus());
|
||||
});
|
||||
@@ -151,14 +151,14 @@ public class SysDictTypeServiceTest extends BaseDbUnitTest {
|
||||
// 调用
|
||||
dictTypeService.updateDictType(reqVO);
|
||||
// 校验是否更新正确
|
||||
SysDictTypeDO dictType = dictTypeMapper.selectById(reqVO.getId()); // 获取最新的
|
||||
DictTypeDO dictType = dictTypeMapper.selectById(reqVO.getId()); // 获取最新的
|
||||
assertPojoEquals(reqVO, dictType);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteDictType_success() {
|
||||
// mock 数据
|
||||
SysDictTypeDO dbDictType = randomDictTypeDO();
|
||||
DictTypeDO dbDictType = randomDictTypeDO();
|
||||
dictTypeMapper.insert(dbDictType);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
Long id = dbDictType.getId();
|
||||
@@ -172,7 +172,7 @@ public class SysDictTypeServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testDeleteDictType_hasChildren() {
|
||||
// mock 数据
|
||||
SysDictTypeDO dbDictType = randomDictTypeDO();
|
||||
DictTypeDO dbDictType = randomDictTypeDO();
|
||||
dictTypeMapper.insert(dbDictType);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
Long id = dbDictType.getId();
|
||||
@@ -186,7 +186,7 @@ public class SysDictTypeServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testCheckDictDataExists_success() {
|
||||
// mock 数据
|
||||
SysDictTypeDO dbDictType = randomDictTypeDO();
|
||||
DictTypeDO dbDictType = randomDictTypeDO();
|
||||
dictTypeMapper.insert(dbDictType);// @Sql: 先插入出一条存在的数据
|
||||
|
||||
// 调用成功
|
||||
@@ -263,11 +263,11 @@ public class SysDictTypeServiceTest extends BaseDbUnitTest {
|
||||
// ========== 随机对象 ==========
|
||||
|
||||
@SafeVarargs
|
||||
private static SysDictTypeDO randomDictTypeDO(Consumer<SysDictTypeDO>... consumers) {
|
||||
Consumer<SysDictTypeDO> consumer = (o) -> {
|
||||
private static DictTypeDO randomDictTypeDO(Consumer<DictTypeDO>... consumers) {
|
||||
Consumer<DictTypeDO> consumer = (o) -> {
|
||||
o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围
|
||||
};
|
||||
return randomPojo(SysDictTypeDO.class, ArrayUtils.append(consumer, consumers));
|
||||
return randomPojo(DictTypeDO.class, ArrayUtils.append(consumer, consumers));
|
||||
}
|
||||
|
||||
}
|
@@ -1,21 +1,19 @@
|
||||
package cn.iocoder.yudao.module.system.service.errorcode;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.errorcode.ErrorCodeDO;
|
||||
import cn.iocoder.yudao.module.system.framework.errorcode.core.dto.ErrorCodeAutoGenerateReqDTO;
|
||||
import cn.iocoder.yudao.module.system.controller.errorcode.vo.SysErrorCodeCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.errorcode.vo.SysErrorCodeExportReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.errorcode.vo.SysErrorCodePageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.errorcode.vo.SysErrorCodeUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.errorcode.SysErrorCodeDO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeExportReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodePageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.errorcode.SysErrorCodeMapper;
|
||||
import cn.iocoder.yudao.module.system.enums.errorcode.SysErrorCodeTypeEnum;
|
||||
import cn.iocoder.yudao.module.system.enums.errorcode.ErrorCodeTypeEnum;
|
||||
import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils;
|
||||
import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
|
||||
import cn.iocoder.yudao.module.system.test.BaseDbUnitTest;
|
||||
import org.assertj.core.util.Lists;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mock;
|
||||
import org.slf4j.Logger;
|
||||
import org.springframework.context.annotation.Import;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -23,19 +21,19 @@ import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import static cn.hutool.core.util.RandomUtil.randomEle;
|
||||
import static cn.iocoder.yudao.module.system.enums.SysErrorCodeConstants.ERROR_CODE_DUPLICATE;
|
||||
import static cn.iocoder.yudao.module.system.enums.SysErrorCodeConstants.ERROR_CODE_NOT_EXISTS;
|
||||
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.ERROR_CODE_DUPLICATE;
|
||||
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.ERROR_CODE_NOT_EXISTS;
|
||||
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.common.util.date.DateUtils.buildTime;
|
||||
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
@Import(SysErrorCodeServiceImpl.class)
|
||||
public class SysErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
@Import(ErrorCodeServiceImpl.class)
|
||||
public class ErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysErrorCodeServiceImpl errorCodeService;
|
||||
private ErrorCodeServiceImpl errorCodeService;
|
||||
|
||||
@Resource
|
||||
private SysErrorCodeMapper errorCodeMapper;
|
||||
@@ -43,40 +41,40 @@ public class SysErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testCreateErrorCode_success() {
|
||||
// 准备参数
|
||||
SysErrorCodeCreateReqVO reqVO = randomPojo(SysErrorCodeCreateReqVO.class);
|
||||
ErrorCodeCreateReqVO reqVO = randomPojo(ErrorCodeCreateReqVO.class);
|
||||
|
||||
// 调用
|
||||
Long errorCodeId = errorCodeService.createErrorCode(reqVO);
|
||||
// 断言
|
||||
assertNotNull(errorCodeId);
|
||||
// 校验记录的属性是否正确
|
||||
SysErrorCodeDO errorCode = errorCodeMapper.selectById(errorCodeId);
|
||||
ErrorCodeDO errorCode = errorCodeMapper.selectById(errorCodeId);
|
||||
assertPojoEquals(reqVO, errorCode);
|
||||
assertEquals(SysErrorCodeTypeEnum.MANUAL_OPERATION.getType(), errorCode.getType());
|
||||
assertEquals(ErrorCodeTypeEnum.MANUAL_OPERATION.getType(), errorCode.getType());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateErrorCode_success() {
|
||||
// mock 数据
|
||||
SysErrorCodeDO dbErrorCode = randomInfErrorCodeDO();
|
||||
ErrorCodeDO dbErrorCode = randomInfErrorCodeDO();
|
||||
errorCodeMapper.insert(dbErrorCode);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
SysErrorCodeUpdateReqVO reqVO = randomPojo(SysErrorCodeUpdateReqVO.class, o -> {
|
||||
ErrorCodeUpdateReqVO reqVO = randomPojo(ErrorCodeUpdateReqVO.class, o -> {
|
||||
o.setId(dbErrorCode.getId()); // 设置更新的 ID
|
||||
});
|
||||
|
||||
// 调用
|
||||
errorCodeService.updateErrorCode(reqVO);
|
||||
// 校验是否更新正确
|
||||
SysErrorCodeDO errorCode = errorCodeMapper.selectById(reqVO.getId()); // 获取最新的
|
||||
ErrorCodeDO errorCode = errorCodeMapper.selectById(reqVO.getId()); // 获取最新的
|
||||
assertPojoEquals(reqVO, errorCode);
|
||||
assertEquals(SysErrorCodeTypeEnum.MANUAL_OPERATION.getType(), errorCode.getType());
|
||||
assertEquals(ErrorCodeTypeEnum.MANUAL_OPERATION.getType(), errorCode.getType());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteErrorCode_success() {
|
||||
// mock 数据
|
||||
SysErrorCodeDO dbErrorCode = randomInfErrorCodeDO();
|
||||
ErrorCodeDO dbErrorCode = randomInfErrorCodeDO();
|
||||
errorCodeMapper.insert(dbErrorCode);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
Long id = dbErrorCode.getId();
|
||||
@@ -90,10 +88,10 @@ public class SysErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testGetErrorCodePage() {
|
||||
// mock 数据
|
||||
SysErrorCodeDO dbErrorCode = initGetErrorCodePage();
|
||||
ErrorCodeDO dbErrorCode = initGetErrorCodePage();
|
||||
// 准备参数
|
||||
SysErrorCodePageReqVO reqVO = new SysErrorCodePageReqVO();
|
||||
reqVO.setType(SysErrorCodeTypeEnum.AUTO_GENERATION.getType());
|
||||
ErrorCodePageReqVO reqVO = new ErrorCodePageReqVO();
|
||||
reqVO.setType(ErrorCodeTypeEnum.AUTO_GENERATION.getType());
|
||||
reqVO.setApplicationName("yudao");
|
||||
reqVO.setCode(1);
|
||||
reqVO.setMessage("yu");
|
||||
@@ -101,7 +99,7 @@ public class SysErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
reqVO.setEndCreateTime(buildTime(2020, 11, 30));
|
||||
|
||||
// 调用
|
||||
PageResult<SysErrorCodeDO> pageResult = errorCodeService.getErrorCodePage(reqVO);
|
||||
PageResult<ErrorCodeDO> pageResult = errorCodeService.getErrorCodePage(reqVO);
|
||||
// 断言
|
||||
assertEquals(1, pageResult.getTotal());
|
||||
assertEquals(1, pageResult.getList().size());
|
||||
@@ -111,9 +109,9 @@ public class SysErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
/**
|
||||
* 初始化 getErrorCodePage 方法的测试数据
|
||||
*/
|
||||
private SysErrorCodeDO initGetErrorCodePage() {
|
||||
SysErrorCodeDO dbErrorCode = randomInfErrorCodeDO(o -> { // 等会查询到
|
||||
o.setType(SysErrorCodeTypeEnum.AUTO_GENERATION.getType());
|
||||
private ErrorCodeDO initGetErrorCodePage() {
|
||||
ErrorCodeDO dbErrorCode = randomInfErrorCodeDO(o -> { // 等会查询到
|
||||
o.setType(ErrorCodeTypeEnum.AUTO_GENERATION.getType());
|
||||
o.setApplicationName("yudaoyuanma");
|
||||
o.setCode(1);
|
||||
o.setMessage("yudao");
|
||||
@@ -121,7 +119,7 @@ public class SysErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
});
|
||||
errorCodeMapper.insert(dbErrorCode);
|
||||
// 测试 type 不匹配
|
||||
errorCodeMapper.insert(ObjectUtils.cloneIgnoreId(dbErrorCode, o -> o.setType(SysErrorCodeTypeEnum.MANUAL_OPERATION.getType())));
|
||||
errorCodeMapper.insert(ObjectUtils.cloneIgnoreId(dbErrorCode, o -> o.setType(ErrorCodeTypeEnum.MANUAL_OPERATION.getType())));
|
||||
// 测试 applicationName 不匹配
|
||||
errorCodeMapper.insert(ObjectUtils.cloneIgnoreId(dbErrorCode, o -> o.setApplicationName("yunai")));
|
||||
// 测试 code 不匹配
|
||||
@@ -136,10 +134,10 @@ public class SysErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testGetErrorCodeList() {
|
||||
// mock 数据
|
||||
SysErrorCodeDO dbErrorCode = initGetErrorCodePage();
|
||||
ErrorCodeDO dbErrorCode = initGetErrorCodePage();
|
||||
// 准备参数
|
||||
SysErrorCodeExportReqVO reqVO = new SysErrorCodeExportReqVO();
|
||||
reqVO.setType(SysErrorCodeTypeEnum.AUTO_GENERATION.getType());
|
||||
ErrorCodeExportReqVO reqVO = new ErrorCodeExportReqVO();
|
||||
reqVO.setType(ErrorCodeTypeEnum.AUTO_GENERATION.getType());
|
||||
reqVO.setApplicationName("yudao");
|
||||
reqVO.setCode(1);
|
||||
reqVO.setMessage("yu");
|
||||
@@ -147,7 +145,7 @@ public class SysErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
reqVO.setEndCreateTime(buildTime(2020, 11, 30));
|
||||
|
||||
// 调用
|
||||
List<SysErrorCodeDO> list = errorCodeService.getErrorCodeList(reqVO);
|
||||
List<ErrorCodeDO> list = errorCodeService.getErrorCodeList(reqVO);
|
||||
// 断言
|
||||
assertEquals(1, list.size());
|
||||
assertPojoEquals(dbErrorCode, list.get(0));
|
||||
@@ -196,9 +194,9 @@ public class SysErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
// 调用
|
||||
errorCodeService.autoGenerateErrorCodes(Lists.newArrayList(generateReqDTO));
|
||||
// 断言
|
||||
SysErrorCodeDO errorCode = errorCodeMapper.selectOne(null);
|
||||
ErrorCodeDO errorCode = errorCodeMapper.selectOne(null);
|
||||
assertPojoEquals(generateReqDTO, errorCode);
|
||||
assertEquals(SysErrorCodeTypeEnum.AUTO_GENERATION.getType(), errorCode.getType());
|
||||
assertEquals(ErrorCodeTypeEnum.AUTO_GENERATION.getType(), errorCode.getType());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -207,7 +205,7 @@ public class SysErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testAutoGenerateErrorCodes_021() {
|
||||
// mock 数据
|
||||
SysErrorCodeDO dbErrorCode = randomInfErrorCodeDO(o -> o.setType(SysErrorCodeTypeEnum.MANUAL_OPERATION.getType()));
|
||||
ErrorCodeDO dbErrorCode = randomInfErrorCodeDO(o -> o.setType(ErrorCodeTypeEnum.MANUAL_OPERATION.getType()));
|
||||
errorCodeMapper.insert(dbErrorCode);
|
||||
// 准备参数
|
||||
ErrorCodeAutoGenerateReqDTO generateReqDTO = randomPojo(ErrorCodeAutoGenerateReqDTO.class,
|
||||
@@ -217,7 +215,7 @@ public class SysErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
// 调用
|
||||
errorCodeService.autoGenerateErrorCodes(Lists.newArrayList(generateReqDTO));
|
||||
// 断言,相等,说明不会更新
|
||||
SysErrorCodeDO errorCode = errorCodeMapper.selectById(dbErrorCode.getId());
|
||||
ErrorCodeDO errorCode = errorCodeMapper.selectById(dbErrorCode.getId());
|
||||
assertPojoEquals(dbErrorCode, errorCode);
|
||||
}
|
||||
|
||||
@@ -227,7 +225,7 @@ public class SysErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testAutoGenerateErrorCodes_022() {
|
||||
// mock 数据
|
||||
SysErrorCodeDO dbErrorCode = randomInfErrorCodeDO(o -> o.setType(SysErrorCodeTypeEnum.AUTO_GENERATION.getType()));
|
||||
ErrorCodeDO dbErrorCode = randomInfErrorCodeDO(o -> o.setType(ErrorCodeTypeEnum.AUTO_GENERATION.getType()));
|
||||
errorCodeMapper.insert(dbErrorCode);
|
||||
// 准备参数
|
||||
ErrorCodeAutoGenerateReqDTO generateReqDTO = randomPojo(ErrorCodeAutoGenerateReqDTO.class,
|
||||
@@ -237,7 +235,7 @@ public class SysErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
// 调用
|
||||
errorCodeService.autoGenerateErrorCodes(Lists.newArrayList(generateReqDTO));
|
||||
// 断言,相等,说明不会更新
|
||||
SysErrorCodeDO errorCode = errorCodeMapper.selectById(dbErrorCode.getId());
|
||||
ErrorCodeDO errorCode = errorCodeMapper.selectById(dbErrorCode.getId());
|
||||
assertPojoEquals(dbErrorCode, errorCode);
|
||||
}
|
||||
|
||||
@@ -247,7 +245,7 @@ public class SysErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testAutoGenerateErrorCodes_023() {
|
||||
// mock 数据
|
||||
SysErrorCodeDO dbErrorCode = randomInfErrorCodeDO(o -> o.setType(SysErrorCodeTypeEnum.AUTO_GENERATION.getType()));
|
||||
ErrorCodeDO dbErrorCode = randomInfErrorCodeDO(o -> o.setType(ErrorCodeTypeEnum.AUTO_GENERATION.getType()));
|
||||
errorCodeMapper.insert(dbErrorCode);
|
||||
// 准备参数
|
||||
ErrorCodeAutoGenerateReqDTO generateReqDTO = randomPojo(ErrorCodeAutoGenerateReqDTO.class,
|
||||
@@ -258,7 +256,7 @@ public class SysErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
// 调用
|
||||
errorCodeService.autoGenerateErrorCodes(Lists.newArrayList(generateReqDTO));
|
||||
// 断言,相等,说明不会更新
|
||||
SysErrorCodeDO errorCode = errorCodeMapper.selectById(dbErrorCode.getId());
|
||||
ErrorCodeDO errorCode = errorCodeMapper.selectById(dbErrorCode.getId());
|
||||
assertPojoEquals(dbErrorCode, errorCode);
|
||||
}
|
||||
|
||||
@@ -268,7 +266,7 @@ public class SysErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testAutoGenerateErrorCodes_024() {
|
||||
// mock 数据
|
||||
SysErrorCodeDO dbErrorCode = randomInfErrorCodeDO(o -> o.setType(SysErrorCodeTypeEnum.AUTO_GENERATION.getType()));
|
||||
ErrorCodeDO dbErrorCode = randomInfErrorCodeDO(o -> o.setType(ErrorCodeTypeEnum.AUTO_GENERATION.getType()));
|
||||
errorCodeMapper.insert(dbErrorCode);
|
||||
// 准备参数
|
||||
ErrorCodeAutoGenerateReqDTO generateReqDTO = randomPojo(ErrorCodeAutoGenerateReqDTO.class,
|
||||
@@ -278,18 +276,18 @@ public class SysErrorCodeServiceTest extends BaseDbUnitTest {
|
||||
// 调用
|
||||
errorCodeService.autoGenerateErrorCodes(Lists.newArrayList(generateReqDTO));
|
||||
// 断言,匹配
|
||||
SysErrorCodeDO errorCode = errorCodeMapper.selectById(dbErrorCode.getId());
|
||||
ErrorCodeDO errorCode = errorCodeMapper.selectById(dbErrorCode.getId());
|
||||
assertPojoEquals(generateReqDTO, errorCode);
|
||||
}
|
||||
|
||||
// ========== 随机对象 ==========
|
||||
|
||||
@SafeVarargs
|
||||
private static SysErrorCodeDO randomInfErrorCodeDO(Consumer<SysErrorCodeDO>... consumers) {
|
||||
Consumer<SysErrorCodeDO> consumer = (o) -> {
|
||||
o.setType(randomEle(SysErrorCodeTypeEnum.values()).getType()); // 保证 key 的范围
|
||||
private static ErrorCodeDO randomInfErrorCodeDO(Consumer<ErrorCodeDO>... consumers) {
|
||||
Consumer<ErrorCodeDO> consumer = (o) -> {
|
||||
o.setType(randomEle(ErrorCodeTypeEnum.values()).getType()); // 保证 key 的范围
|
||||
};
|
||||
return randomPojo(SysErrorCodeDO.class, ArrayUtils.append(consumer, consumers));
|
||||
return randomPojo(ErrorCodeDO.class, ArrayUtils.append(consumer, consumers));
|
||||
}
|
||||
|
||||
}
|
@@ -5,11 +5,11 @@ import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.logger.SysLogi
|
||||
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils;
|
||||
import cn.iocoder.yudao.module.system.controller.logger.vo.loginlog.SysLoginLogExportReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.logger.vo.loginlog.SysLoginLogPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.logger.SysLoginLogMapper;
|
||||
import cn.iocoder.yudao.module.system.enums.logger.SysLoginLogTypeEnum;
|
||||
import cn.iocoder.yudao.module.system.enums.logger.SysLoginResultEnum;
|
||||
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.test.BaseDbUnitTest;
|
||||
@@ -23,34 +23,34 @@ import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEq
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
@Import(SysLoginLogServiceImpl.class)
|
||||
public class SysLoginLogServiceImplTest extends BaseDbUnitTest {
|
||||
@Import(LoginLogServiceImpl.class)
|
||||
public class LoginLogServiceImplTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysLoginLogServiceImpl sysLoginLogService;
|
||||
private LoginLogServiceImpl sysLoginLogService;
|
||||
|
||||
@Resource
|
||||
private SysLoginLogMapper loginLogMapper;
|
||||
private LoginLogMapper loginLogMapper;
|
||||
|
||||
@Test
|
||||
public void testGetLoginLogPage() {
|
||||
// 构造测试数据
|
||||
// 登录成功的
|
||||
SysLoginLogDO loginLogDO = RandomUtils.randomPojo(SysLoginLogDO.class, logDO -> {
|
||||
logDO.setLogType(RandomUtil.randomEle(SysLoginLogTypeEnum.values()).getType());
|
||||
logDO.setLogType(RandomUtil.randomEle(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(SysLoginResultEnum.SUCCESS.getResult());
|
||||
logDO.setResult(LoginResultEnum.SUCCESS.getResult());
|
||||
});
|
||||
loginLogMapper.insert(loginLogDO);
|
||||
|
||||
// 下面几个都是不匹配的数据
|
||||
// 登录失败的
|
||||
loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setResult(SysLoginResultEnum.CAPTCHA_CODE_ERROR.getResult())));
|
||||
loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setResult(LoginResultEnum.CAPTCHA_CODE_ERROR.getResult())));
|
||||
// 不同ip段的
|
||||
loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setUserIp("192.168.128.18")));
|
||||
// 不同username
|
||||
@@ -60,7 +60,7 @@ public class SysLoginLogServiceImplTest extends BaseDbUnitTest {
|
||||
|
||||
|
||||
// 构造调用参数
|
||||
SysLoginLogPageReqVO reqVO = new SysLoginLogPageReqVO();
|
||||
LoginLogPageReqVO reqVO = new LoginLogPageReqVO();
|
||||
reqVO.setUsername("wangkai");
|
||||
reqVO.setUserIp("192.168.199");
|
||||
reqVO.setStatus(true);
|
||||
@@ -82,20 +82,20 @@ public class SysLoginLogServiceImplTest extends BaseDbUnitTest {
|
||||
|
||||
// 登录成功的
|
||||
SysLoginLogDO loginLogDO = RandomUtils.randomPojo(SysLoginLogDO.class, logDO -> {
|
||||
logDO.setLogType(RandomUtil.randomEle(SysLoginLogTypeEnum.values()).getType());
|
||||
logDO.setLogType(RandomUtil.randomEle(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(SysLoginResultEnum.SUCCESS.getResult());
|
||||
logDO.setResult(LoginResultEnum.SUCCESS.getResult());
|
||||
});
|
||||
loginLogMapper.insert(loginLogDO);
|
||||
|
||||
// 下面几个都是不匹配的数据
|
||||
// 登录失败的
|
||||
loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setResult(SysLoginResultEnum.CAPTCHA_CODE_ERROR.getResult())));
|
||||
loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setResult(LoginResultEnum.CAPTCHA_CODE_ERROR.getResult())));
|
||||
// 不同ip段的
|
||||
loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setUserIp("192.168.128.18")));
|
||||
// 不同username
|
||||
@@ -105,7 +105,7 @@ public class SysLoginLogServiceImplTest extends BaseDbUnitTest {
|
||||
|
||||
|
||||
// 构造调用参数
|
||||
SysLoginLogExportReqVO reqVO = new SysLoginLogExportReqVO();
|
||||
LoginLogExportReqVO reqVO = new LoginLogExportReqVO();
|
||||
reqVO.setUsername("wangxiaokai");
|
||||
reqVO.setUserIp("192.168.111");
|
||||
reqVO.setStatus(true);
|
@@ -1,11 +1,11 @@
|
||||
package cn.iocoder.yudao.module.system.service.logger;
|
||||
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.iocoder.yudao.module.system.controller.logger.vo.operatelog.SysOperateLogExportReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.logger.vo.operatelog.SysOperateLogPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.logger.SysOperateLogDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.logger.SysOperateLogMapper;
|
||||
import cn.iocoder.yudao.module.system.service.user.SysUserService;
|
||||
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.mysql.logger.OperateLogMapper;
|
||||
import cn.iocoder.yudao.module.system.service.user.UserService;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.enums.common.SysSexEnum;
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
@@ -33,17 +33,17 @@ import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@Import({SysOperateLogServiceImpl.class})
|
||||
public class SysOperateLogServiceImplTest extends BaseDbUnitTest {
|
||||
@Import({OperateLogServiceImpl.class})
|
||||
public class OperateLogServiceImplTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysOperateLogService operateLogServiceImpl;
|
||||
private OperateLogService operateLogServiceImpl;
|
||||
|
||||
@Resource
|
||||
private SysOperateLogMapper operateLogMapper;
|
||||
private OperateLogMapper operateLogMapper;
|
||||
|
||||
@MockBean
|
||||
private SysUserService userService;
|
||||
private UserService userService;
|
||||
|
||||
@Test
|
||||
public void testCreateOperateLogAsync() throws InterruptedException, ExecutionException {
|
||||
@@ -58,7 +58,7 @@ public class SysOperateLogServiceImplTest extends BaseDbUnitTest {
|
||||
Future<Boolean> future = operateLogServiceImpl.createOperateLogAsync(reqVO);
|
||||
future.get();
|
||||
// 断言插入是否正确
|
||||
SysOperateLogDO sysOperateLogDO = operateLogMapper.selectOne("trace_id", traceId);
|
||||
OperateLogDO sysOperateLogDO = operateLogMapper.selectOne("trace_id", traceId);
|
||||
assertPojoEquals(reqVO, sysOperateLogDO);
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ public class SysOperateLogServiceImplTest extends BaseDbUnitTest {
|
||||
when(userService.getUsersByNickname("wangkai")).thenReturn(Collections.singletonList(user));
|
||||
Long userId = user.getId();
|
||||
// 构造操作日志
|
||||
SysOperateLogDO sysOperateLogDO = RandomUtils.randomPojo(SysOperateLogDO.class, o -> {
|
||||
OperateLogDO sysOperateLogDO = RandomUtils.randomPojo(OperateLogDO.class, o -> {
|
||||
o.setUserId(userId);
|
||||
o.setModule("order");
|
||||
o.setType(OperateTypeEnum.CREATE.getType());
|
||||
@@ -97,7 +97,7 @@ public class SysOperateLogServiceImplTest extends BaseDbUnitTest {
|
||||
operateLogMapper.insert(ObjectUtils.cloneIgnoreId(sysOperateLogDO, logDO -> logDO.setResultCode(GlobalErrorCodeConstants.BAD_REQUEST.getCode())));
|
||||
|
||||
// 构造调用参数
|
||||
SysOperateLogPageReqVO reqVO = new SysOperateLogPageReqVO();
|
||||
OperateLogPageReqVO reqVO = new OperateLogPageReqVO();
|
||||
reqVO.setUserNickname("wangkai");
|
||||
reqVO.setModule("order");
|
||||
reqVO.setType(OperateTypeEnum.CREATE.getType());
|
||||
@@ -106,7 +106,7 @@ public class SysOperateLogServiceImplTest extends BaseDbUnitTest {
|
||||
reqVO.setSuccess(true);
|
||||
|
||||
// 调用service方法
|
||||
PageResult<SysOperateLogDO> pageResult = operateLogServiceImpl.getOperateLogPage(reqVO);
|
||||
PageResult<OperateLogDO> pageResult = operateLogServiceImpl.getOperateLogPage(reqVO);
|
||||
// 断言,只查到了一条符合条件的
|
||||
assertEquals(1, pageResult.getTotal());
|
||||
assertEquals(1, pageResult.getList().size());
|
||||
@@ -125,7 +125,7 @@ public class SysOperateLogServiceImplTest extends BaseDbUnitTest {
|
||||
when(userService.getUsersByNickname("wangkai")).thenReturn(Collections.singletonList(user));
|
||||
Long userId = user.getId();
|
||||
// 构造操作日志
|
||||
SysOperateLogDO sysOperateLogDO = RandomUtils.randomPojo(SysOperateLogDO.class, o -> {
|
||||
OperateLogDO sysOperateLogDO = RandomUtils.randomPojo(OperateLogDO.class, o -> {
|
||||
o.setUserId(userId);
|
||||
o.setModule("order");
|
||||
o.setType(OperateTypeEnum.CREATE.getType());
|
||||
@@ -148,7 +148,7 @@ public class SysOperateLogServiceImplTest extends BaseDbUnitTest {
|
||||
operateLogMapper.insert(ObjectUtils.cloneIgnoreId(sysOperateLogDO, logDO -> logDO.setResultCode(GlobalErrorCodeConstants.BAD_REQUEST.getCode())));
|
||||
|
||||
// 构造调用参数
|
||||
SysOperateLogExportReqVO reqVO = new SysOperateLogExportReqVO();
|
||||
OperateLogExportReqVO reqVO = new OperateLogExportReqVO();
|
||||
reqVO.setUserNickname("wangkai");
|
||||
reqVO.setModule("order");
|
||||
reqVO.setType(OperateTypeEnum.CREATE.getType());
|
||||
@@ -157,7 +157,7 @@ public class SysOperateLogServiceImplTest extends BaseDbUnitTest {
|
||||
reqVO.setSuccess(true);
|
||||
|
||||
// 调用 service 方法
|
||||
List<SysOperateLogDO> list = operateLogServiceImpl.getOperateLogs(reqVO);
|
||||
List<OperateLogDO> list = operateLogServiceImpl.getOperateLogs(reqVO);
|
||||
// 断言,只查到了一条符合条件的
|
||||
assertEquals(1, list.size());
|
||||
assertPojoEquals(sysOperateLogDO, list.get(0));
|
@@ -2,12 +2,12 @@ package cn.iocoder.yudao.module.system.service.notice;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.system.controller.notice.vo.SysNoticeCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.notice.vo.SysNoticePageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.notice.vo.SysNoticeUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.notice.SysNoticeDO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.notice.vo.NoticeCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.notice.vo.NoticePageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.notice.vo.NoticeUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.notice.NoticeDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.notice.SysNoticeMapper;
|
||||
import cn.iocoder.yudao.module.system.enums.notice.SysNoticeTypeEnum;
|
||||
import cn.iocoder.yudao.module.system.enums.notice.NoticeTypeEnum;
|
||||
import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
|
||||
import cn.iocoder.yudao.module.system.test.BaseDbUnitTest;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@@ -18,18 +18,18 @@ import javax.annotation.Resource;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import static cn.hutool.core.util.RandomUtil.randomEle;
|
||||
import static cn.iocoder.yudao.module.system.enums.SysErrorCodeConstants.NOTICE_NOT_FOUND;
|
||||
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.NOTICE_NOT_FOUND;
|
||||
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.randomLongId;
|
||||
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
@Import(SysNoticeServiceImpl.class)
|
||||
class SysNoticeServiceImplTest extends BaseDbUnitTest {
|
||||
@Import(NoticeServiceImpl.class)
|
||||
class NoticeServiceImplTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysNoticeServiceImpl sysNoticeService;
|
||||
private NoticeServiceImpl sysNoticeService;
|
||||
|
||||
@Resource
|
||||
private SysNoticeMapper sysNoticeMapper;
|
||||
@@ -37,10 +37,10 @@ class SysNoticeServiceImplTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testPageNotices_success() {
|
||||
// 插入前置数据
|
||||
SysNoticeDO dbNotice = randomPojo(SysNoticeDO.class, o -> {
|
||||
NoticeDO dbNotice = randomPojo(NoticeDO.class, o -> {
|
||||
o.setTitle("尼古拉斯赵四来啦!");
|
||||
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
o.setType(randomEle(SysNoticeTypeEnum.values()).getType());
|
||||
o.setType(randomEle(NoticeTypeEnum.values()).getType());
|
||||
});
|
||||
sysNoticeMapper.insert(dbNotice);
|
||||
|
||||
@@ -51,10 +51,10 @@ class SysNoticeServiceImplTest extends BaseDbUnitTest {
|
||||
|
||||
|
||||
// 查询
|
||||
SysNoticePageReqVO reqVO = new SysNoticePageReqVO();
|
||||
NoticePageReqVO reqVO = new NoticePageReqVO();
|
||||
reqVO.setTitle("尼古拉斯赵四来啦!");
|
||||
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
PageResult<SysNoticeDO> pageResult = sysNoticeService.pageNotices(reqVO);
|
||||
PageResult<NoticeDO> pageResult = sysNoticeService.pageNotices(reqVO);
|
||||
|
||||
// 验证查询结果经过筛选
|
||||
assertEquals(1, pageResult.getTotal());
|
||||
@@ -66,11 +66,11 @@ class SysNoticeServiceImplTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testGetNotice_success() {
|
||||
// 插入前置数据
|
||||
SysNoticeDO dbNotice = randomSysNoticeDO();
|
||||
NoticeDO dbNotice = randomSysNoticeDO();
|
||||
sysNoticeMapper.insert(dbNotice);
|
||||
|
||||
// 查询
|
||||
SysNoticeDO notice = sysNoticeService.getNotice(dbNotice.getId());
|
||||
NoticeDO notice = sysNoticeService.getNotice(dbNotice.getId());
|
||||
|
||||
// 验证插入与读取对象是否一致
|
||||
assertNotNull(notice);
|
||||
@@ -80,38 +80,38 @@ class SysNoticeServiceImplTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testCreateNotice_success() {
|
||||
// 准备参数
|
||||
SysNoticeCreateReqVO reqVO = randomSysNoticeCreateReqVO();
|
||||
NoticeCreateReqVO reqVO = randomSysNoticeCreateReqVO();
|
||||
|
||||
// 校验插入是否成功
|
||||
Long noticeId = sysNoticeService.createNotice(reqVO);
|
||||
assertNotNull(noticeId);
|
||||
|
||||
// 校验插入属性是否正确
|
||||
SysNoticeDO notice = sysNoticeMapper.selectById(noticeId);
|
||||
NoticeDO notice = sysNoticeMapper.selectById(noticeId);
|
||||
assertPojoEquals(reqVO, notice);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateNotice_success() {
|
||||
// 插入前置数据
|
||||
SysNoticeDO dbNoticeDO = randomSysNoticeDO();
|
||||
NoticeDO dbNoticeDO = randomSysNoticeDO();
|
||||
sysNoticeMapper.insert(dbNoticeDO);
|
||||
|
||||
// 准备更新参数
|
||||
SysNoticeUpdateReqVO reqVO = randomSysNoticeUpdateReqVO(o -> o.setId(dbNoticeDO.getId()));
|
||||
NoticeUpdateReqVO reqVO = randomSysNoticeUpdateReqVO(o -> o.setId(dbNoticeDO.getId()));
|
||||
|
||||
// 更新
|
||||
sysNoticeService.updateNotice(reqVO);
|
||||
|
||||
// 检验是否更新成功
|
||||
SysNoticeDO notice = sysNoticeMapper.selectById(reqVO.getId());
|
||||
NoticeDO notice = sysNoticeMapper.selectById(reqVO.getId());
|
||||
assertPojoEquals(reqVO, notice);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteNotice_success() {
|
||||
// 插入前置数据
|
||||
SysNoticeDO dbNotice = randomSysNoticeDO();
|
||||
NoticeDO dbNotice = randomSysNoticeDO();
|
||||
sysNoticeMapper.insert(dbNotice);
|
||||
|
||||
// 删除
|
||||
@@ -124,7 +124,7 @@ class SysNoticeServiceImplTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void checkNoticeExists_success() {
|
||||
// 插入前置数据
|
||||
SysNoticeDO dbNotice = randomSysNoticeDO();
|
||||
NoticeDO dbNotice = randomSysNoticeDO();
|
||||
sysNoticeMapper.insert(dbNotice);
|
||||
|
||||
// 成功调用
|
||||
@@ -137,24 +137,24 @@ class SysNoticeServiceImplTest extends BaseDbUnitTest {
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
private static SysNoticeDO randomSysNoticeDO(Consumer<SysNoticeDO>... consumers) {
|
||||
SysNoticeDO notice = randomPojo(SysNoticeDO.class, consumers);
|
||||
notice.setType(randomEle(SysNoticeTypeEnum.values()).getType());
|
||||
private static NoticeDO randomSysNoticeDO(Consumer<NoticeDO>... consumers) {
|
||||
NoticeDO notice = randomPojo(NoticeDO.class, consumers);
|
||||
notice.setType(randomEle(NoticeTypeEnum.values()).getType());
|
||||
notice.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
return notice;
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
private static SysNoticeUpdateReqVO randomSysNoticeUpdateReqVO(Consumer<SysNoticeUpdateReqVO>... consumers) {
|
||||
SysNoticeUpdateReqVO reqVO = randomPojo(SysNoticeUpdateReqVO.class, consumers);
|
||||
reqVO.setType(randomEle(SysNoticeTypeEnum.values()).getType());
|
||||
private static NoticeUpdateReqVO randomSysNoticeUpdateReqVO(Consumer<NoticeUpdateReqVO>... consumers) {
|
||||
NoticeUpdateReqVO reqVO = randomPojo(NoticeUpdateReqVO.class, consumers);
|
||||
reqVO.setType(randomEle(NoticeTypeEnum.values()).getType());
|
||||
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
return reqVO;
|
||||
}
|
||||
|
||||
private static SysNoticeCreateReqVO randomSysNoticeCreateReqVO() {
|
||||
SysNoticeCreateReqVO reqVO = randomPojo(SysNoticeCreateReqVO.class);
|
||||
reqVO.setType(randomEle(SysNoticeTypeEnum.values()).getType());
|
||||
private static NoticeCreateReqVO randomSysNoticeCreateReqVO() {
|
||||
NoticeCreateReqVO reqVO = randomPojo(NoticeCreateReqVO.class);
|
||||
reqVO.setType(randomEle(NoticeTypeEnum.values()).getType());
|
||||
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
return reqVO;
|
||||
}
|
@@ -3,19 +3,17 @@ package cn.iocoder.yudao.module.system.service.permission;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.module.system.controller.permission.vo.menu.SysMenuCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.permission.vo.menu.SysMenuListReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.permission.vo.menu.SysMenuUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.permission.SysMenuDO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuCreateReqVO;
|
||||
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.enums.permission.MenuTypeEnum;
|
||||
import cn.iocoder.yudao.module.system.mq.producer.permission.SysMenuProducer;
|
||||
import cn.iocoder.yudao.module.system.mq.producer.permission.MenuProducer;
|
||||
import cn.iocoder.yudao.framework.common.util.spring.SpringAopUtils;
|
||||
import cn.iocoder.yudao.framework.test.core.util.RandomUtils;
|
||||
import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
|
||||
import cn.iocoder.yudao.module.system.test.BaseDbUnitTest;
|
||||
import com.google.common.collect.Multimap;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
import org.springframework.context.annotation.Import;
|
||||
@@ -23,49 +21,49 @@ import org.springframework.context.annotation.Import;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
|
||||
import static cn.iocoder.yudao.module.system.enums.SysErrorCodeConstants.*;
|
||||
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
|
||||
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 org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
@Import(SysMenuServiceImpl.class)
|
||||
public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
@Import(MenuServiceImpl.class)
|
||||
public class MenuServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysMenuServiceImpl sysMenuService;
|
||||
private MenuServiceImpl sysMenuService;
|
||||
|
||||
@MockBean
|
||||
private SysPermissionService sysPermissionService;
|
||||
private PermissionService sysPermissionService;
|
||||
|
||||
@MockBean
|
||||
private SysMenuProducer sysMenuProducer;
|
||||
private MenuProducer sysMenuProducer;
|
||||
|
||||
@Resource
|
||||
private SysMenuMapper menuMapper;
|
||||
|
||||
@Test
|
||||
public void testInitLocalCache_success() throws Exception {
|
||||
SysMenuDO menuDO1 = createMenuDO(MenuTypeEnum.MENU, "xxxx", 0L);
|
||||
MenuDO menuDO1 = createMenuDO(MenuTypeEnum.MENU, "xxxx", 0L);
|
||||
menuMapper.insert(menuDO1);
|
||||
SysMenuDO menuDO2 = createMenuDO(MenuTypeEnum.MENU, "xxxx", 0L);
|
||||
MenuDO menuDO2 = createMenuDO(MenuTypeEnum.MENU, "xxxx", 0L);
|
||||
menuMapper.insert(menuDO2);
|
||||
|
||||
// 调用
|
||||
sysMenuService.initLocalCache();
|
||||
|
||||
// 获取代理对象
|
||||
SysMenuServiceImpl target = (SysMenuServiceImpl) SpringAopUtils.getTarget(sysMenuService);
|
||||
MenuServiceImpl target = (MenuServiceImpl) SpringAopUtils.getTarget(sysMenuService);
|
||||
|
||||
Map<Long, SysMenuDO> menuCache =
|
||||
(Map<Long, SysMenuDO>) BeanUtil.getFieldValue(target, "menuCache");
|
||||
Map<Long, MenuDO> menuCache =
|
||||
(Map<Long, MenuDO>) BeanUtil.getFieldValue(target, "menuCache");
|
||||
Assert.isTrue(menuCache.size() == 2);
|
||||
assertPojoEquals(menuDO1, menuCache.get(menuDO1.getId()));
|
||||
assertPojoEquals(menuDO2, menuCache.get(menuDO2.getId()));
|
||||
|
||||
Multimap<String, SysMenuDO> permissionMenuCache =
|
||||
(Multimap<String, SysMenuDO>) BeanUtil.getFieldValue(target, "permissionMenuCache");
|
||||
Multimap<String, MenuDO> permissionMenuCache =
|
||||
(Multimap<String, MenuDO>) BeanUtil.getFieldValue(target, "permissionMenuCache");
|
||||
Assert.isTrue(permissionMenuCache.size() == 2);
|
||||
assertPojoEquals(menuDO1, permissionMenuCache.get(menuDO1.getPermission()));
|
||||
assertPojoEquals(menuDO2, permissionMenuCache.get(menuDO2.getPermission()));
|
||||
@@ -77,12 +75,12 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testCreateMenu_success() {
|
||||
//构造父目录
|
||||
SysMenuDO menuDO = createMenuDO(MenuTypeEnum.MENU, "parent", 0L);
|
||||
MenuDO menuDO = createMenuDO(MenuTypeEnum.MENU, "parent", 0L);
|
||||
menuMapper.insert(menuDO);
|
||||
Long parentId = menuDO.getId();
|
||||
|
||||
//调用
|
||||
SysMenuCreateReqVO vo = randomPojo(SysMenuCreateReqVO.class, o -> {
|
||||
MenuCreateReqVO vo = randomPojo(MenuCreateReqVO.class, o -> {
|
||||
o.setParentId(parentId);
|
||||
o.setName("testSonName");
|
||||
o.setType(MenuTypeEnum.MENU.getType());
|
||||
@@ -93,7 +91,7 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
//断言
|
||||
assertNotNull(menuId);
|
||||
// 校验记录的属性是否正确
|
||||
SysMenuDO ret = menuMapper.selectById(menuId);
|
||||
MenuDO ret = menuMapper.selectById(menuId);
|
||||
assertPojoEquals(vo, ret);
|
||||
// 校验调用
|
||||
verify(sysMenuProducer).sendMenuRefreshMessage();
|
||||
@@ -102,12 +100,12 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testUpdateMenu_success() {
|
||||
//构造父子目录
|
||||
SysMenuDO sonMenuDO = initParentAndSonMenuDO();
|
||||
MenuDO sonMenuDO = initParentAndSonMenuDO();
|
||||
Long sonId = sonMenuDO.getId();
|
||||
Long parentId = sonMenuDO.getParentId();
|
||||
|
||||
//调用
|
||||
SysMenuUpdateReqVO vo = randomPojo(SysMenuUpdateReqVO.class, o -> {
|
||||
MenuUpdateReqVO vo = randomPojo(MenuUpdateReqVO.class, o -> {
|
||||
o.setId(sonId);
|
||||
o.setParentId(parentId);
|
||||
o.setType(MenuTypeEnum.MENU.getType());
|
||||
@@ -118,7 +116,7 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
|
||||
//断言
|
||||
// 校验记录的属性是否正确
|
||||
SysMenuDO ret = menuMapper.selectById(sonId);
|
||||
MenuDO ret = menuMapper.selectById(sonId);
|
||||
assertPojoEquals(vo, ret);
|
||||
// 校验调用
|
||||
verify(sysMenuProducer).sendMenuRefreshMessage();
|
||||
@@ -130,7 +128,7 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
Long parentId = 10000L;
|
||||
|
||||
//调用
|
||||
SysMenuUpdateReqVO vo = randomPojo(SysMenuUpdateReqVO.class, o -> {
|
||||
MenuUpdateReqVO vo = randomPojo(MenuUpdateReqVO.class, o -> {
|
||||
o.setId(sonId);
|
||||
o.setParentId(parentId);
|
||||
o.setType(MenuTypeEnum.MENU.getType());
|
||||
@@ -142,14 +140,14 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testDeleteMenu_success() {
|
||||
SysMenuDO sonMenuDO = initParentAndSonMenuDO();
|
||||
MenuDO sonMenuDO = initParentAndSonMenuDO();
|
||||
Long sonId = sonMenuDO.getId();
|
||||
|
||||
// 调用
|
||||
sysMenuService.deleteMenu(sonId);
|
||||
|
||||
// 断言
|
||||
SysMenuDO menuDO = menuMapper.selectById(sonId);
|
||||
MenuDO menuDO = menuMapper.selectById(sonId);
|
||||
assertNull(menuDO);
|
||||
verify(sysPermissionService).processMenuDeleted(sonId);
|
||||
verify(sysMenuProducer).sendMenuRefreshMessage();
|
||||
@@ -164,7 +162,7 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testDeleteMenu_existChildren() {
|
||||
SysMenuDO sonMenu = initParentAndSonMenuDO();
|
||||
MenuDO sonMenu = initParentAndSonMenuDO();
|
||||
Long parentId = sonMenu.getParentId();
|
||||
|
||||
assertServiceException(() -> sysMenuService.deleteMenu(parentId), MENU_EXISTS_CHILDREN);
|
||||
@@ -172,17 +170,17 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testGetMenus_success() {
|
||||
Map<Long, SysMenuDO> idMenuMap = new HashMap<>();
|
||||
SysMenuDO menuDO = createMenuDO(MenuTypeEnum.MENU, "parent", 0L);
|
||||
Map<Long, MenuDO> idMenuMap = new HashMap<>();
|
||||
MenuDO menuDO = createMenuDO(MenuTypeEnum.MENU, "parent", 0L);
|
||||
menuMapper.insert(menuDO);
|
||||
idMenuMap.put(menuDO.getId(), menuDO);
|
||||
|
||||
SysMenuDO sonMenu = createMenuDO(MenuTypeEnum.MENU, "son", menuDO.getId());
|
||||
MenuDO sonMenu = createMenuDO(MenuTypeEnum.MENU, "son", menuDO.getId());
|
||||
menuMapper.insert(sonMenu);
|
||||
idMenuMap.put(sonMenu.getId(), sonMenu);
|
||||
|
||||
// 调用
|
||||
List<SysMenuDO> menuDOS = sysMenuService.getMenus();
|
||||
List<MenuDO> menuDOS = sysMenuService.getMenus();
|
||||
|
||||
// 断言
|
||||
assertEquals(menuDOS.size(), idMenuMap.size());
|
||||
@@ -191,9 +189,9 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testGetMenusReqVo_success() {
|
||||
Map<Long, SysMenuDO> idMenuMap = new HashMap<>();
|
||||
Map<Long, MenuDO> idMenuMap = new HashMap<>();
|
||||
// 用于验证可以模糊搜索名称包含"name",状态为1的menu
|
||||
SysMenuDO menu = createMenuDO(MenuTypeEnum.MENU, "name2", 0L, 1);
|
||||
MenuDO menu = createMenuDO(MenuTypeEnum.MENU, "name2", 0L, 1);
|
||||
menuMapper.insert(menu);
|
||||
idMenuMap.put(menu.getId(), menu);
|
||||
|
||||
@@ -212,10 +210,10 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
menuMapper.insert(menu);
|
||||
|
||||
// 调用
|
||||
SysMenuListReqVO reqVO = new SysMenuListReqVO();
|
||||
MenuListReqVO reqVO = new MenuListReqVO();
|
||||
reqVO.setStatus(1);
|
||||
reqVO.setName("name");
|
||||
List<SysMenuDO> menuDOS = sysMenuService.getMenus(reqVO);
|
||||
List<MenuDO> menuDOS = sysMenuService.getMenus(reqVO);
|
||||
|
||||
// 断言
|
||||
assertEquals(menuDOS.size(), idMenuMap.size());
|
||||
@@ -224,14 +222,14 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testListMenusFromCache_success() throws Exception {
|
||||
Map<Long, SysMenuDO> mockCacheMap = new HashMap<>();
|
||||
Map<Long, MenuDO> mockCacheMap = new HashMap<>();
|
||||
// 获取代理对象
|
||||
SysMenuServiceImpl target = (SysMenuServiceImpl) SpringAopUtils.getTarget(sysMenuService);
|
||||
MenuServiceImpl target = (MenuServiceImpl) SpringAopUtils.getTarget(sysMenuService);
|
||||
BeanUtil.setFieldValue(target, "menuCache", mockCacheMap);
|
||||
|
||||
Map<Long, SysMenuDO> idMenuMap = new HashMap<>();
|
||||
Map<Long, MenuDO> idMenuMap = new HashMap<>();
|
||||
// 用于验证搜索类型为MENU,状态为1的menu
|
||||
SysMenuDO menuDO = createMenuDO(1L, MenuTypeEnum.MENU, "name", 0L, 1);
|
||||
MenuDO menuDO = createMenuDO(1L, MenuTypeEnum.MENU, "name", 0L, 1);
|
||||
mockCacheMap.put(menuDO.getId(), menuDO);
|
||||
idMenuMap.put(menuDO.getId(), menuDO);
|
||||
|
||||
@@ -245,7 +243,7 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
menuDO = createMenuDO(4L, MenuTypeEnum.MENU, "name", 0L, 2);
|
||||
mockCacheMap.put(menuDO.getId(), menuDO);
|
||||
|
||||
List<SysMenuDO> menuDOS = sysMenuService.listMenusFromCache(Collections.singletonList(MenuTypeEnum.MENU.getType()),
|
||||
List<MenuDO> menuDOS = sysMenuService.listMenusFromCache(Collections.singletonList(MenuTypeEnum.MENU.getType()),
|
||||
Collections.singletonList(CommonStatusEnum.DISABLE.getStatus()));
|
||||
assertEquals(menuDOS.size(), idMenuMap.size());
|
||||
menuDOS.forEach(m -> assertPojoEquals(idMenuMap.get(m.getId()), m));
|
||||
@@ -253,14 +251,14 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testListMenusFromCache2_success() throws Exception {
|
||||
Map<Long, SysMenuDO> mockCacheMap = new HashMap<>();
|
||||
Map<Long, MenuDO> mockCacheMap = new HashMap<>();
|
||||
// 获取代理对象
|
||||
SysMenuServiceImpl target = (SysMenuServiceImpl) SpringAopUtils.getTarget(sysMenuService);
|
||||
MenuServiceImpl target = (MenuServiceImpl) SpringAopUtils.getTarget(sysMenuService);
|
||||
BeanUtil.setFieldValue(target, "menuCache", mockCacheMap);
|
||||
|
||||
Map<Long, SysMenuDO> idMenuMap = new HashMap<>();
|
||||
Map<Long, MenuDO> idMenuMap = new HashMap<>();
|
||||
// 验证搜索id为1, 类型为MENU, 状态为1 的menu
|
||||
SysMenuDO menuDO = createMenuDO(1L, MenuTypeEnum.MENU, "name", 0L, 1);
|
||||
MenuDO menuDO = createMenuDO(1L, MenuTypeEnum.MENU, "name", 0L, 1);
|
||||
mockCacheMap.put(menuDO.getId(), menuDO);
|
||||
idMenuMap.put(menuDO.getId(), menuDO);
|
||||
|
||||
@@ -272,7 +270,7 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
menuDO = createMenuDO(4L, MenuTypeEnum.MENU, "name", 0L, 2);
|
||||
mockCacheMap.put(menuDO.getId(), menuDO);
|
||||
|
||||
List<SysMenuDO> menuDOS = sysMenuService.listMenusFromCache(Collections.singletonList(1L),
|
||||
List<MenuDO> menuDOS = sysMenuService.listMenusFromCache(Collections.singletonList(1L),
|
||||
Collections.singletonList(MenuTypeEnum.MENU.getType()), Collections.singletonList(1));
|
||||
assertEquals(menuDOS.size(), idMenuMap.size());
|
||||
menuDOS.forEach(menu -> assertPojoEquals(idMenuMap.get(menu.getId()), menu));
|
||||
@@ -280,7 +278,7 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testCheckParentResource_success() {
|
||||
SysMenuDO menuDO = createMenuDO(MenuTypeEnum.MENU, "parent", 0L);
|
||||
MenuDO menuDO = createMenuDO(MenuTypeEnum.MENU, "parent", 0L);
|
||||
menuMapper.insert(menuDO);
|
||||
Long parentId = menuDO.getId();
|
||||
|
||||
@@ -299,7 +297,7 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testCheckParentResource_parentTypeError() {
|
||||
SysMenuDO menuDO = createMenuDO(MenuTypeEnum.BUTTON, "parent", 0L);
|
||||
MenuDO menuDO = createMenuDO(MenuTypeEnum.BUTTON, "parent", 0L);
|
||||
menuMapper.insert(menuDO);
|
||||
Long parentId = menuDO.getId();
|
||||
|
||||
@@ -308,7 +306,7 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testCheckResource_success() {
|
||||
SysMenuDO sonMenu = initParentAndSonMenuDO();
|
||||
MenuDO sonMenu = initParentAndSonMenuDO();
|
||||
Long parentId = sonMenu.getParentId();
|
||||
|
||||
Long otherSonMenuId = randomLongId();
|
||||
@@ -319,7 +317,7 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testCheckResource_sonMenuNameDuplicate(){
|
||||
SysMenuDO sonMenu=initParentAndSonMenuDO();
|
||||
MenuDO sonMenu=initParentAndSonMenuDO();
|
||||
Long parentId=sonMenu.getParentId();
|
||||
|
||||
Long otherSonMenuId=randomLongId();
|
||||
@@ -333,27 +331,27 @@ public class SysMenuServiceTest extends BaseDbUnitTest {
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private SysMenuDO initParentAndSonMenuDO() {
|
||||
private MenuDO initParentAndSonMenuDO() {
|
||||
//构造父子目录
|
||||
SysMenuDO menuDO = createMenuDO(MenuTypeEnum.MENU, "parent", 0L);
|
||||
MenuDO menuDO = createMenuDO(MenuTypeEnum.MENU, "parent", 0L);
|
||||
menuMapper.insert(menuDO);
|
||||
Long parentId = menuDO.getId();
|
||||
|
||||
SysMenuDO sonMenuDO = createMenuDO(MenuTypeEnum.MENU, "testSonName", parentId);
|
||||
MenuDO sonMenuDO = createMenuDO(MenuTypeEnum.MENU, "testSonName", parentId);
|
||||
menuMapper.insert(sonMenuDO);
|
||||
return sonMenuDO;
|
||||
}
|
||||
|
||||
private SysMenuDO createMenuDO(MenuTypeEnum typeEnum, String menuName, Long parentId) {
|
||||
private MenuDO createMenuDO(MenuTypeEnum typeEnum, String menuName, Long parentId) {
|
||||
return createMenuDO(typeEnum, menuName, parentId, randomCommonStatus());
|
||||
}
|
||||
|
||||
private SysMenuDO createMenuDO(MenuTypeEnum typeEnum, String menuName, Long parentId, Integer status) {
|
||||
private MenuDO createMenuDO(MenuTypeEnum typeEnum, String menuName, Long parentId, Integer status) {
|
||||
return createMenuDO(null, typeEnum, menuName, parentId, status);
|
||||
}
|
||||
|
||||
private SysMenuDO createMenuDO(Long id, MenuTypeEnum typeEnum, String menuName, Long parentId, Integer status) {
|
||||
return randomPojo(SysMenuDO.class, o -> {
|
||||
private MenuDO createMenuDO(Long id, MenuTypeEnum typeEnum, String menuName, Long parentId, Integer status) {
|
||||
return randomPojo(MenuDO.class, o -> {
|
||||
o.setId(id);
|
||||
o.setParentId(parentId);
|
||||
o.setType(typeEnum.getType());
|
@@ -3,12 +3,12 @@ package cn.iocoder.yudao.module.system.service.permission;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysDeptDO;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.permission.SysRoleDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.permission.SysRoleMenuDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleMenuDO;
|
||||
import cn.iocoder.yudao.coreservice.modules.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.mq.producer.permission.SysPermissionProducer;
|
||||
import cn.iocoder.yudao.module.system.service.dept.SysDeptService;
|
||||
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;
|
||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
||||
import cn.iocoder.yudao.framework.security.core.enums.DataScopeEnum;
|
||||
@@ -30,11 +30,11 @@ import static org.mockito.ArgumentMatchers.same;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@Import(SysPermissionServiceImpl.class)
|
||||
public class SysPermissionServiceTest extends BaseDbUnitTest {
|
||||
@Import(PermissionServiceImpl.class)
|
||||
public class PermissionServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysPermissionServiceImpl permissionService;
|
||||
private PermissionServiceImpl permissionService;
|
||||
|
||||
@Resource
|
||||
private SysRoleMenuMapper roleMenuMapper;
|
||||
@@ -42,14 +42,14 @@ public class SysPermissionServiceTest extends BaseDbUnitTest {
|
||||
private SysUserRoleMapper userRoleMapper;
|
||||
|
||||
@MockBean
|
||||
private SysRoleService roleService;
|
||||
private RoleService roleService;
|
||||
@MockBean
|
||||
private SysMenuService menuService;
|
||||
private MenuService menuService;
|
||||
@MockBean
|
||||
private SysDeptService deptService;
|
||||
private DeptService deptService;
|
||||
|
||||
@MockBean
|
||||
private SysPermissionProducer permissionProducer;
|
||||
private PermissionProducer permissionProducer;
|
||||
|
||||
@Test
|
||||
public void testProcessRoleDeleted() {
|
||||
@@ -61,15 +61,15 @@ public class SysPermissionServiceTest extends BaseDbUnitTest {
|
||||
SysUserRoleDO userRoleDO02 = randomPojo(SysUserRoleDO.class); // 不被删除
|
||||
userRoleMapper.insert(userRoleDO02);
|
||||
// mock 数据 RoleMenu
|
||||
SysRoleMenuDO roleMenuDO01 = randomPojo(SysRoleMenuDO.class, o -> o.setRoleId(roleId)); // 被删除
|
||||
RoleMenuDO roleMenuDO01 = randomPojo(RoleMenuDO.class, o -> o.setRoleId(roleId)); // 被删除
|
||||
roleMenuMapper.insert(roleMenuDO01);
|
||||
SysRoleMenuDO roleMenuDO02 = randomPojo(SysRoleMenuDO.class); // 不被删除
|
||||
RoleMenuDO roleMenuDO02 = randomPojo(RoleMenuDO.class); // 不被删除
|
||||
roleMenuMapper.insert(roleMenuDO02);
|
||||
|
||||
// 调用
|
||||
permissionService.processRoleDeleted(roleId);
|
||||
// 断言数据 RoleMenuDO
|
||||
List<SysRoleMenuDO> dbRoleMenus = roleMenuMapper.selectList();
|
||||
List<RoleMenuDO> dbRoleMenus = roleMenuMapper.selectList();
|
||||
assertEquals(1, dbRoleMenus.size());
|
||||
assertPojoEquals(dbRoleMenus.get(0), roleMenuDO02);
|
||||
// 断言数据 UserRoleDO
|
||||
@@ -85,15 +85,15 @@ public class SysPermissionServiceTest extends BaseDbUnitTest {
|
||||
// 准备参数
|
||||
Long menuId = randomLongId();
|
||||
// mock 数据
|
||||
SysRoleMenuDO roleMenuDO01 = randomPojo(SysRoleMenuDO.class, o -> o.setMenuId(menuId)); // 被删除
|
||||
RoleMenuDO roleMenuDO01 = randomPojo(RoleMenuDO.class, o -> o.setMenuId(menuId)); // 被删除
|
||||
roleMenuMapper.insert(roleMenuDO01);
|
||||
SysRoleMenuDO roleMenuDO02 = randomPojo(SysRoleMenuDO.class); // 不被删除
|
||||
RoleMenuDO roleMenuDO02 = randomPojo(RoleMenuDO.class); // 不被删除
|
||||
roleMenuMapper.insert(roleMenuDO02);
|
||||
|
||||
// 调用
|
||||
permissionService.processMenuDeleted(menuId);
|
||||
// 断言数据
|
||||
List<SysRoleMenuDO> dbRoleMenus = roleMenuMapper.selectList();
|
||||
List<RoleMenuDO> dbRoleMenus = roleMenuMapper.selectList();
|
||||
assertEquals(1, dbRoleMenus.size());
|
||||
assertPojoEquals(dbRoleMenus.get(0), roleMenuDO02);
|
||||
// 断言调用
|
||||
@@ -124,7 +124,7 @@ public class SysPermissionServiceTest extends BaseDbUnitTest {
|
||||
LoginUser loginUser = randomPojo(LoginUser.class);
|
||||
// mock 方法
|
||||
DeptDataPermissionRespDTO respDTO = new DeptDataPermissionRespDTO();
|
||||
loginUser.setContext(SysPermissionServiceImpl.CONTEXT_KEY, respDTO);
|
||||
loginUser.setContext(PermissionServiceImpl.CONTEXT_KEY, respDTO);
|
||||
|
||||
// 调用
|
||||
DeptDataPermissionRespDTO result = permissionService.getDeptDataPermission(loginUser);
|
||||
@@ -146,7 +146,7 @@ public class SysPermissionServiceTest extends BaseDbUnitTest {
|
||||
assertTrue(result.getAll());
|
||||
assertFalse(result.getSelf());
|
||||
assertTrue(CollUtil.isEmpty(result.getDeptIds()));
|
||||
assertSame(result, loginUser.getContext(SysPermissionServiceImpl.CONTEXT_KEY, DeptDataPermissionRespDTO.class));
|
||||
assertSame(result, loginUser.getContext(PermissionServiceImpl.CONTEXT_KEY, DeptDataPermissionRespDTO.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -165,7 +165,7 @@ public class SysPermissionServiceTest extends BaseDbUnitTest {
|
||||
assertEquals(roleDO.getDataScopeDeptIds().size() + 1, result.getDeptIds().size());
|
||||
assertTrue(CollUtil.containsAll(result.getDeptIds(), roleDO.getDataScopeDeptIds()));
|
||||
assertTrue(CollUtil.contains(result.getDeptIds(), loginUser.getDeptId()));
|
||||
assertSame(result, loginUser.getContext(SysPermissionServiceImpl.CONTEXT_KEY, DeptDataPermissionRespDTO.class));
|
||||
assertSame(result, loginUser.getContext(PermissionServiceImpl.CONTEXT_KEY, DeptDataPermissionRespDTO.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -183,7 +183,7 @@ public class SysPermissionServiceTest extends BaseDbUnitTest {
|
||||
assertFalse(result.getSelf());
|
||||
assertEquals(1, result.getDeptIds().size());
|
||||
assertTrue(CollUtil.contains(result.getDeptIds(), loginUser.getDeptId()));
|
||||
assertSame(result, loginUser.getContext(SysPermissionServiceImpl.CONTEXT_KEY, DeptDataPermissionRespDTO.class));
|
||||
assertSame(result, loginUser.getContext(PermissionServiceImpl.CONTEXT_KEY, DeptDataPermissionRespDTO.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -205,7 +205,7 @@ public class SysPermissionServiceTest extends BaseDbUnitTest {
|
||||
assertFalse(result.getSelf());
|
||||
assertEquals(1, result.getDeptIds().size());
|
||||
assertTrue(CollUtil.contains(result.getDeptIds(), deptDO.getId()));
|
||||
assertSame(result, loginUser.getContext(SysPermissionServiceImpl.CONTEXT_KEY, DeptDataPermissionRespDTO.class));
|
||||
assertSame(result, loginUser.getContext(PermissionServiceImpl.CONTEXT_KEY, DeptDataPermissionRespDTO.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -222,7 +222,7 @@ public class SysPermissionServiceTest extends BaseDbUnitTest {
|
||||
assertFalse(result.getAll());
|
||||
assertTrue(result.getSelf());
|
||||
assertTrue(CollUtil.isEmpty(result.getDeptIds()));
|
||||
assertSame(result, loginUser.getContext(SysPermissionServiceImpl.CONTEXT_KEY, DeptDataPermissionRespDTO.class));
|
||||
assertSame(result, loginUser.getContext(PermissionServiceImpl.CONTEXT_KEY, DeptDataPermissionRespDTO.class));
|
||||
}
|
||||
|
||||
}
|
@@ -4,13 +4,13 @@ import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.security.core.enums.DataScopeEnum;
|
||||
import cn.iocoder.yudao.module.system.controller.permission.vo.role.SysRoleCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.permission.vo.role.SysRolePageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.permission.vo.role.SysRoleUpdateReqVO;
|
||||
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.coreservice.modules.system.dal.dataobject.permission.SysRoleDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.permission.SysRoleMapper;
|
||||
import cn.iocoder.yudao.module.system.enums.permission.SysRoleTypeEnum;
|
||||
import cn.iocoder.yudao.module.system.mq.producer.permission.SysRoleProducer;
|
||||
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;
|
||||
import cn.iocoder.yudao.module.system.test.BaseDbUnitTest;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@@ -21,7 +21,7 @@ import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.module.system.enums.SysErrorCodeConstants.*;
|
||||
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
|
||||
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.common.util.object.ObjectUtils.max;
|
||||
@@ -29,26 +29,26 @@ import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
@Import(SysRoleServiceImpl.class)
|
||||
public class SysRoleServiceTest extends BaseDbUnitTest {
|
||||
@Import(RoleServiceImpl.class)
|
||||
public class RoleServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysRoleServiceImpl sysRoleService;
|
||||
private RoleServiceImpl sysRoleService;
|
||||
|
||||
@Resource
|
||||
private SysRoleMapper roleMapper;
|
||||
|
||||
@MockBean
|
||||
private SysPermissionService sysPermissionService;
|
||||
private PermissionService sysPermissionService;
|
||||
|
||||
@MockBean
|
||||
private SysRoleProducer sysRoleProducer;
|
||||
private RoleProducer sysRoleProducer;
|
||||
|
||||
@Test
|
||||
public void testInitLocalCache_success() throws Exception {
|
||||
SysRoleDO roleDO1 = createRoleDO("role1", SysRoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
|
||||
SysRoleDO roleDO1 = createRoleDO("role1", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
|
||||
roleMapper.insert(roleDO1);
|
||||
SysRoleDO roleDO2 = createRoleDO("role2", SysRoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
|
||||
SysRoleDO roleDO2 = createRoleDO("role2", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
|
||||
roleMapper.insert(roleDO2);
|
||||
|
||||
//调用
|
||||
@@ -56,7 +56,7 @@ public class SysRoleServiceTest extends BaseDbUnitTest {
|
||||
|
||||
//断言
|
||||
//获取代理对象
|
||||
SysRoleServiceImpl target = (SysRoleServiceImpl) SpringAopUtils.getTarget(sysRoleService);
|
||||
RoleServiceImpl target = (RoleServiceImpl) SpringAopUtils.getTarget(sysRoleService);
|
||||
|
||||
Map<Long, SysRoleDO> roleCache = (Map<Long, SysRoleDO>) BeanUtil.getFieldValue(target, "roleCache");
|
||||
assertPojoEquals(roleDO1, roleCache.get(roleDO1.getId()));
|
||||
@@ -68,11 +68,11 @@ public class SysRoleServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testCreateRole_success() {
|
||||
SysRoleCreateReqVO reqVO = randomPojo(SysRoleCreateReqVO.class, o -> {
|
||||
RoleCreateReqVO reqVO = randomPojo(RoleCreateReqVO.class, o -> {
|
||||
o.setCode("role_code");
|
||||
o.setName("role_name");
|
||||
o.setRemark("remark");
|
||||
o.setType(SysRoleTypeEnum.CUSTOM.getType());
|
||||
o.setType(RoleTypeEnum.CUSTOM.getType());
|
||||
o.setSort(1);
|
||||
});
|
||||
Long roleId = sysRoleService.createRole(reqVO);
|
||||
@@ -87,16 +87,16 @@ public class SysRoleServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testUpdateRole_success() {
|
||||
SysRoleDO roleDO = createRoleDO("role_name", SysRoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
|
||||
SysRoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
|
||||
roleMapper.insert(roleDO);
|
||||
Long roleId = roleDO.getId();
|
||||
|
||||
//调用
|
||||
SysRoleUpdateReqVO reqVO = randomPojo(SysRoleUpdateReqVO.class, o -> {
|
||||
RoleUpdateReqVO reqVO = randomPojo(RoleUpdateReqVO.class, o -> {
|
||||
o.setId(roleId);
|
||||
o.setCode("role_code");
|
||||
o.setName("update_name");
|
||||
o.setType(SysRoleTypeEnum.SYSTEM.getType());
|
||||
o.setType(RoleTypeEnum.SYSTEM.getType());
|
||||
o.setSort(999);
|
||||
});
|
||||
sysRoleService.updateRole(reqVO);
|
||||
@@ -110,7 +110,7 @@ public class SysRoleServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testUpdateRoleStatus_success() {
|
||||
SysRoleDO roleDO = createRoleDO("role_name", SysRoleTypeEnum.CUSTOM, DataScopeEnum.ALL, CommonStatusEnum.ENABLE.getStatus());
|
||||
SysRoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, CommonStatusEnum.ENABLE.getStatus());
|
||||
roleMapper.insert(roleDO);
|
||||
Long roleId = roleDO.getId();
|
||||
|
||||
@@ -126,7 +126,7 @@ public class SysRoleServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testUpdateRoleDataScope_success() {
|
||||
SysRoleDO roleDO = createRoleDO("role_name", SysRoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
|
||||
SysRoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
|
||||
roleMapper.insert(roleDO);
|
||||
Long roleId = roleDO.getId();
|
||||
|
||||
@@ -147,7 +147,7 @@ public class SysRoleServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testDeleteRole_success() {
|
||||
SysRoleDO roleDO = createRoleDO("role_name", SysRoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
|
||||
SysRoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
|
||||
roleMapper.insert(roleDO);
|
||||
Long roleId = roleDO.getId();
|
||||
|
||||
@@ -165,16 +165,16 @@ public class SysRoleServiceTest extends BaseDbUnitTest {
|
||||
public void testGetRoles_success() {
|
||||
Map<Long, SysRoleDO> idRoleMap = new HashMap<>();
|
||||
// 验证查询状态为1的角色
|
||||
SysRoleDO roleDO1 = createRoleDO("role1", SysRoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 1);
|
||||
SysRoleDO roleDO1 = createRoleDO("role1", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 1);
|
||||
roleMapper.insert(roleDO1);
|
||||
idRoleMap.put(roleDO1.getId(), roleDO1);
|
||||
|
||||
SysRoleDO roleDO2 = createRoleDO("role2", SysRoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 1);
|
||||
SysRoleDO roleDO2 = createRoleDO("role2", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 1);
|
||||
roleMapper.insert(roleDO2);
|
||||
idRoleMap.put(roleDO2.getId(), roleDO2);
|
||||
|
||||
// 以下是排除的角色
|
||||
SysRoleDO roleDO3 = createRoleDO("role3", SysRoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 2);
|
||||
SysRoleDO roleDO3 = createRoleDO("role3", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 2);
|
||||
roleMapper.insert(roleDO3);
|
||||
|
||||
//调用
|
||||
@@ -191,21 +191,21 @@ public class SysRoleServiceTest extends BaseDbUnitTest {
|
||||
Map<Long, SysRoleDO> idRoleMap = new HashMap<>();
|
||||
// 验证名称包含"role", 状态为1,code为"code"的角色
|
||||
// 第一页
|
||||
SysRoleDO roleDO = createRoleDO("role1", SysRoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 1, "code");
|
||||
SysRoleDO roleDO = createRoleDO("role1", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 1, "code");
|
||||
roleMapper.insert(roleDO);
|
||||
idRoleMap.put(roleDO.getId(), roleDO);
|
||||
// 第二页
|
||||
roleDO = createRoleDO("role2", SysRoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 1, "code");
|
||||
roleDO = createRoleDO("role2", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 1, "code");
|
||||
roleMapper.insert(roleDO);
|
||||
|
||||
// 以下是排除的角色
|
||||
roleDO = createRoleDO("role3", SysRoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 2, "code");
|
||||
roleDO = createRoleDO("role3", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 2, "code");
|
||||
roleMapper.insert(roleDO);
|
||||
roleDO = createRoleDO("role4", SysRoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 1, "xxxxx");
|
||||
roleDO = createRoleDO("role4", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL, 1, "xxxxx");
|
||||
roleMapper.insert(roleDO);
|
||||
|
||||
//调用
|
||||
SysRolePageReqVO reqVO = randomPojo(SysRolePageReqVO.class, o -> {
|
||||
RolePageReqVO reqVO = randomPojo(RolePageReqVO.class, o -> {
|
||||
o.setName("role");
|
||||
o.setCode("code");
|
||||
o.setStatus(1);
|
||||
@@ -226,7 +226,7 @@ public class SysRoleServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testCheckDuplicateRole_nameDuplicate() {
|
||||
SysRoleDO roleDO = createRoleDO("role_name", SysRoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
|
||||
SysRoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
|
||||
roleMapper.insert(roleDO);
|
||||
|
||||
String duplicateName = "role_name";
|
||||
@@ -239,7 +239,7 @@ public class SysRoleServiceTest extends BaseDbUnitTest {
|
||||
SysRoleDO roleDO = randomPojo(SysRoleDO.class, o -> {
|
||||
o.setName("role_999");
|
||||
o.setCode("code");
|
||||
o.setType(SysRoleTypeEnum.CUSTOM.getType());
|
||||
o.setType(RoleTypeEnum.CUSTOM.getType());
|
||||
o.setStatus(1);
|
||||
o.setDataScope(DataScopeEnum.ALL.getScope());
|
||||
});
|
||||
@@ -253,7 +253,7 @@ public class SysRoleServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testCheckUpdateRole_success() {
|
||||
SysRoleDO roleDO = createRoleDO("role_name", SysRoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
|
||||
SysRoleDO roleDO = createRoleDO("role_name", RoleTypeEnum.CUSTOM, DataScopeEnum.ALL);
|
||||
roleMapper.insert(roleDO);
|
||||
Long roleId = roleDO.getId();
|
||||
|
||||
@@ -267,26 +267,26 @@ public class SysRoleServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Test
|
||||
public void testCheckUpdateRole_systemRoleCanNotBeUpdate() {
|
||||
SysRoleDO roleDO = createRoleDO("role_name", SysRoleTypeEnum.SYSTEM, DataScopeEnum.ALL);
|
||||
SysRoleDO 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, SysRoleTypeEnum typeEnum, DataScopeEnum scopeEnum, Integer status) {
|
||||
private SysRoleDO createRoleDO(String name, RoleTypeEnum typeEnum, DataScopeEnum scopeEnum, Integer status) {
|
||||
return createRoleDO( name, typeEnum, scopeEnum, status, randomString());
|
||||
}
|
||||
|
||||
private SysRoleDO createRoleDO(String name, SysRoleTypeEnum typeEnum, DataScopeEnum scopeEnum, Integer status, String code) {
|
||||
private SysRoleDO createRoleDO(String name, RoleTypeEnum typeEnum, DataScopeEnum scopeEnum, Integer status, String code) {
|
||||
return createRoleDO(null, name, typeEnum, scopeEnum, status, code);
|
||||
}
|
||||
|
||||
private SysRoleDO createRoleDO(String name, SysRoleTypeEnum typeEnum, DataScopeEnum scopeEnum) {
|
||||
private SysRoleDO createRoleDO(String name, RoleTypeEnum typeEnum, DataScopeEnum scopeEnum) {
|
||||
return createRoleDO(null, name, typeEnum, scopeEnum, randomCommonStatus(), randomString());
|
||||
}
|
||||
|
||||
private SysRoleDO createRoleDO(Long id, String name, SysRoleTypeEnum typeEnum, DataScopeEnum scopeEnum, Integer status, String code) {
|
||||
private SysRoleDO createRoleDO(Long id, String name, RoleTypeEnum typeEnum, DataScopeEnum scopeEnum, Integer status, String code) {
|
||||
SysRoleDO roleDO = randomPojo(SysRoleDO.class, o -> {
|
||||
o.setId(id);
|
||||
o.setName(name);
|
@@ -1,11 +1,11 @@
|
||||
package cn.iocoder.yudao.module.system.service.sms;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.iocoder.yudao.module.system.controller.sms.vo.channel.SysSmsChannelCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.sms.vo.channel.SysSmsChannelPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.sms.vo.channel.SysSmsChannelUpdateReqVO;
|
||||
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.mq.producer.sms.SysSmsProducer;
|
||||
import cn.iocoder.yudao.module.system.mq.producer.sms.SmsProducer;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsChannelDO;
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
@@ -22,8 +22,8 @@ import java.util.Date;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import static cn.hutool.core.util.RandomUtil.randomEle;
|
||||
import static cn.iocoder.yudao.module.system.enums.SysErrorCodeConstants.SMS_CHANNEL_HAS_CHILDREN;
|
||||
import static cn.iocoder.yudao.module.system.enums.SysErrorCodeConstants.SMS_CHANNEL_NOT_EXISTS;
|
||||
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.SMS_CHANNEL_HAS_CHILDREN;
|
||||
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.SMS_CHANNEL_NOT_EXISTS;
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime;
|
||||
import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.max;
|
||||
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*;
|
||||
@@ -32,11 +32,11 @@ import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
@Import(SysSmsChannelServiceImpl.class)
|
||||
public class SysSmsChannelServiceTest extends BaseDbUnitTest {
|
||||
@Import(SmsChannelServiceImpl.class)
|
||||
public class SmsChannelServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysSmsChannelServiceImpl smsChannelService;
|
||||
private SmsChannelServiceImpl smsChannelService;
|
||||
|
||||
@Resource
|
||||
private SysSmsChannelMapper smsChannelMapper;
|
||||
@@ -44,9 +44,9 @@ public class SysSmsChannelServiceTest extends BaseDbUnitTest {
|
||||
@MockBean
|
||||
private SmsClientFactory smsClientFactory;
|
||||
@MockBean
|
||||
private SysSmsTemplateService smsTemplateService;
|
||||
private SmsTemplateService smsTemplateService;
|
||||
@MockBean
|
||||
private SysSmsProducer smsProducer;
|
||||
private SmsProducer smsProducer;
|
||||
|
||||
@Test
|
||||
public void testInitLocalCache_success() {
|
||||
@@ -71,7 +71,7 @@ public class SysSmsChannelServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testCreateSmsChannel_success() {
|
||||
// 准备参数
|
||||
SysSmsChannelCreateReqVO reqVO = randomPojo(SysSmsChannelCreateReqVO.class, o -> o.setStatus(randomCommonStatus()));
|
||||
SmsChannelCreateReqVO reqVO = randomPojo(SmsChannelCreateReqVO.class, o -> o.setStatus(randomCommonStatus()));
|
||||
|
||||
// 调用
|
||||
Long smsChannelId = smsChannelService.createSmsChannel(reqVO);
|
||||
@@ -90,7 +90,7 @@ public class SysSmsChannelServiceTest extends BaseDbUnitTest {
|
||||
SysSmsChannelDO dbSmsChannel = randomSmsChannelDO();
|
||||
smsChannelMapper.insert(dbSmsChannel);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
SysSmsChannelUpdateReqVO reqVO = randomPojo(SysSmsChannelUpdateReqVO.class, o -> {
|
||||
SmsChannelUpdateReqVO reqVO = randomPojo(SmsChannelUpdateReqVO.class, o -> {
|
||||
o.setId(dbSmsChannel.getId()); // 设置更新的 ID
|
||||
o.setStatus(randomCommonStatus());
|
||||
o.setCallbackUrl(randomString());
|
||||
@@ -108,7 +108,7 @@ public class SysSmsChannelServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testUpdateSmsChannel_notExists() {
|
||||
// 准备参数
|
||||
SysSmsChannelUpdateReqVO reqVO = randomPojo(SysSmsChannelUpdateReqVO.class);
|
||||
SmsChannelUpdateReqVO reqVO = randomPojo(SmsChannelUpdateReqVO.class);
|
||||
|
||||
// 调用, 并断言异常
|
||||
assertServiceException(() -> smsChannelService.updateSmsChannel(reqVO), SMS_CHANNEL_NOT_EXISTS);
|
||||
@@ -169,7 +169,7 @@ public class SysSmsChannelServiceTest extends BaseDbUnitTest {
|
||||
// 测试 createTime 不匹配
|
||||
smsChannelMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsChannel, o -> o.setCreateTime(buildTime(2020, 11, 11))));
|
||||
// 准备参数
|
||||
SysSmsChannelPageReqVO reqVO = new SysSmsChannelPageReqVO();
|
||||
SmsChannelPageReqVO reqVO = new SmsChannelPageReqVO();
|
||||
reqVO.setSignature("芋道");
|
||||
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
reqVO.setBeginCreateTime(buildTime(2020, 12, 1));
|
@@ -1,8 +1,8 @@
|
||||
package cn.iocoder.yudao.module.system.service.sms;
|
||||
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.iocoder.yudao.module.system.controller.sms.vo.log.SysSmsLogExportReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.sms.vo.log.SysSmsLogPageReqVO;
|
||||
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.mysql.sms.SysSmsLogMapper;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsLogDO;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.enums.sms.SysSmsReceiveStatusEnum;
|
||||
@@ -28,11 +28,11 @@ import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
|
||||
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomString;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
@Import(SysSmsLogServiceImpl.class)
|
||||
public class SysSmsLogServiceTest extends BaseDbUnitTest {
|
||||
@Import(SmsLogServiceImpl.class)
|
||||
public class SmsLogServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysSmsLogServiceImpl smsLogService;
|
||||
private SmsLogServiceImpl smsLogService;
|
||||
|
||||
@Resource
|
||||
private SysSmsLogMapper smsLogMapper;
|
||||
@@ -65,7 +65,7 @@ public class SysSmsLogServiceTest extends BaseDbUnitTest {
|
||||
// 测试 receiveTime 不匹配
|
||||
smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setReceiveTime(buildTime(2021, 12, 12))));
|
||||
// 准备参数
|
||||
SysSmsLogPageReqVO reqVO = new SysSmsLogPageReqVO();
|
||||
SmsLogPageReqVO reqVO = new SmsLogPageReqVO();
|
||||
reqVO.setChannelId(1L);
|
||||
reqVO.setTemplateId(10L);
|
||||
reqVO.setMobile("156");
|
||||
@@ -112,7 +112,7 @@ public class SysSmsLogServiceTest extends BaseDbUnitTest {
|
||||
// 测试 receiveTime 不匹配
|
||||
smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setReceiveTime(buildTime(2021, 12, 12))));
|
||||
// 准备参数
|
||||
SysSmsLogExportReqVO reqVO = new SysSmsLogExportReqVO();
|
||||
SmsLogExportReqVO reqVO = new SmsLogExportReqVO();
|
||||
reqVO.setChannelId(1L);
|
||||
reqVO.setTemplateId(10L);
|
||||
reqVO.setMobile("156");
|
@@ -1,11 +1,11 @@
|
||||
package cn.iocoder.yudao.module.system.service.sms;
|
||||
|
||||
import cn.iocoder.yudao.module.system.controller.sms.vo.template.SysSmsTemplateCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.sms.vo.template.SysSmsTemplateExportReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.sms.vo.template.SysSmsTemplatePageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.sms.vo.template.SysSmsTemplateUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplateCreateReqVO;
|
||||
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.mq.producer.sms.SysSmsProducer;
|
||||
import cn.iocoder.yudao.module.system.mq.producer.sms.SmsProducer;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsChannelDO;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsTemplateDO;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.enums.sms.SysSmsTemplateTypeEnum;
|
||||
@@ -29,7 +29,7 @@ import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import static cn.hutool.core.util.RandomUtil.randomEle;
|
||||
import static cn.iocoder.yudao.module.system.enums.SysErrorCodeConstants.*;
|
||||
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;
|
||||
@@ -38,23 +38,23 @@ import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
@Import(SysSmsTemplateServiceImpl.class)
|
||||
public class SysSmsTemplateServiceTest extends BaseDbUnitTest {
|
||||
@Import(SmsTemplateServiceImpl.class)
|
||||
public class SmsTemplateServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysSmsTemplateServiceImpl smsTemplateService;
|
||||
private SmsTemplateServiceImpl smsTemplateService;
|
||||
|
||||
@Resource
|
||||
private SysSmsTemplateMapper smsTemplateMapper;
|
||||
|
||||
@MockBean
|
||||
private SysSmsChannelService smsChannelService;
|
||||
private SmsChannelService smsChannelService;
|
||||
@MockBean
|
||||
private SmsClientFactory smsClientFactory;
|
||||
@MockBean
|
||||
private SmsClient smsClient;
|
||||
@MockBean
|
||||
private SysSmsProducer smsProducer;
|
||||
private SmsProducer smsProducer;
|
||||
|
||||
@Test
|
||||
public void testParseTemplateContentParams() {
|
||||
@@ -72,7 +72,7 @@ public class SysSmsTemplateServiceTest extends BaseDbUnitTest {
|
||||
@SuppressWarnings("unchecked")
|
||||
public void testCreateSmsTemplate_success() {
|
||||
// 准备参数
|
||||
SysSmsTemplateCreateReqVO reqVO = randomPojo(SysSmsTemplateCreateReqVO.class, o -> {
|
||||
SmsTemplateCreateReqVO reqVO = randomPojo(SmsTemplateCreateReqVO.class, o -> {
|
||||
o.setContent("正在进行登录操作{operation},您的验证码是{code}");
|
||||
o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围
|
||||
o.setType(randomEle(SysSmsTemplateTypeEnum.values()).getType()); // 保证 type 的 范围
|
||||
@@ -108,7 +108,7 @@ public class SysSmsTemplateServiceTest extends BaseDbUnitTest {
|
||||
SysSmsTemplateDO dbSmsTemplate = randomSmsTemplateDO();
|
||||
smsTemplateMapper.insert(dbSmsTemplate);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
SysSmsTemplateUpdateReqVO reqVO = randomPojo(SysSmsTemplateUpdateReqVO.class, o -> {
|
||||
SmsTemplateUpdateReqVO reqVO = randomPojo(SmsTemplateUpdateReqVO.class, o -> {
|
||||
o.setId(dbSmsTemplate.getId()); // 设置更新的 ID
|
||||
o.setContent("正在进行登录操作{operation},您的验证码是{code}");
|
||||
o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围
|
||||
@@ -139,7 +139,7 @@ public class SysSmsTemplateServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testUpdateSmsTemplate_notExists() {
|
||||
// 准备参数
|
||||
SysSmsTemplateUpdateReqVO reqVO = randomPojo(SysSmsTemplateUpdateReqVO.class);
|
||||
SmsTemplateUpdateReqVO reqVO = randomPojo(SmsTemplateUpdateReqVO.class);
|
||||
|
||||
// 调用, 并断言异常
|
||||
assertServiceException(() -> smsTemplateService.updateSmsTemplate(reqVO), SMS_TEMPLATE_NOT_EXISTS);
|
||||
@@ -198,7 +198,7 @@ public class SysSmsTemplateServiceTest extends BaseDbUnitTest {
|
||||
// 测试 createTime 不匹配
|
||||
smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, o -> o.setCreateTime(buildTime(2021, 12, 12))));
|
||||
// 准备参数
|
||||
SysSmsTemplatePageReqVO reqVO = new SysSmsTemplatePageReqVO();
|
||||
SmsTemplatePageReqVO reqVO = new SmsTemplatePageReqVO();
|
||||
reqVO.setType(SysSmsTemplateTypeEnum.PROMOTION.getType());
|
||||
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
reqVO.setCode("yudao");
|
||||
@@ -244,7 +244,7 @@ public class SysSmsTemplateServiceTest extends BaseDbUnitTest {
|
||||
// 测试 createTime 不匹配
|
||||
smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, o -> o.setCreateTime(buildTime(2021, 12, 12))));
|
||||
// 准备参数
|
||||
SysSmsTemplateExportReqVO reqVO = new SysSmsTemplateExportReqVO();
|
||||
SmsTemplateExportReqVO reqVO = new SmsTemplateExportReqVO();
|
||||
reqVO.setType(SysSmsTemplateTypeEnum.PROMOTION.getType());
|
||||
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
reqVO.setCode("yudao");
|
@@ -1,9 +1,9 @@
|
||||
package cn.iocoder.yudao.module.system.service.tenant;
|
||||
|
||||
import cn.iocoder.yudao.module.system.controller.tenant.vo.SysTenantCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.tenant.vo.SysTenantExportReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.tenant.vo.SysTenantPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.tenant.vo.SysTenantUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.TenantCreateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.TenantExportReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.TenantPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.TenantUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.tenant.SysTenantMapper;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.tenant.SysTenantDO;
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
@@ -15,7 +15,7 @@ import org.springframework.context.annotation.Import;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.module.system.enums.SysErrorCodeConstants.TENANT_NOT_EXISTS;
|
||||
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.TENANT_NOT_EXISTS;
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime;
|
||||
import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
|
||||
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
|
||||
@@ -23,16 +23,11 @@ import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServic
|
||||
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/**
|
||||
* {@link SysTenantServiceImpl} 的单元测试类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Import(SysTenantServiceImpl.class)
|
||||
public class SysTenantServiceTest extends BaseDbUnitTest {
|
||||
@Import(TenantServiceImpl.class)
|
||||
public class TenantServiceTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysTenantServiceImpl tenantService;
|
||||
private TenantServiceImpl tenantService;
|
||||
|
||||
@Resource
|
||||
private SysTenantMapper tenantMapper;
|
||||
@@ -40,7 +35,7 @@ public class SysTenantServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testCreateTenant_success() {
|
||||
// 准备参数
|
||||
SysTenantCreateReqVO reqVO = randomPojo(SysTenantCreateReqVO.class, o -> o.setStatus(randomCommonStatus()));
|
||||
TenantCreateReqVO reqVO = randomPojo(TenantCreateReqVO.class, o -> o.setStatus(randomCommonStatus()));
|
||||
|
||||
// 调用
|
||||
Long tenantId = tenantService.createTenant(reqVO);
|
||||
@@ -57,7 +52,7 @@ public class SysTenantServiceTest extends BaseDbUnitTest {
|
||||
SysTenantDO dbTenant = randomPojo(SysTenantDO.class, o -> o.setStatus(randomCommonStatus()));
|
||||
tenantMapper.insert(dbTenant);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
SysTenantUpdateReqVO reqVO = randomPojo(SysTenantUpdateReqVO.class, o -> {
|
||||
TenantUpdateReqVO reqVO = randomPojo(TenantUpdateReqVO.class, o -> {
|
||||
o.setId(dbTenant.getId()); // 设置更新的 ID
|
||||
o.setStatus(randomCommonStatus());
|
||||
});
|
||||
@@ -72,7 +67,7 @@ public class SysTenantServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testUpdateTenant_notExists() {
|
||||
// 准备参数
|
||||
SysTenantUpdateReqVO reqVO = randomPojo(SysTenantUpdateReqVO.class);
|
||||
TenantUpdateReqVO reqVO = randomPojo(TenantUpdateReqVO.class);
|
||||
|
||||
// 调用, 并断言异常
|
||||
assertServiceException(() -> tenantService.updateTenant(reqVO), TENANT_NOT_EXISTS);
|
||||
@@ -124,7 +119,7 @@ public class SysTenantServiceTest extends BaseDbUnitTest {
|
||||
// 测试 createTime 不匹配
|
||||
tenantMapper.insert(cloneIgnoreId(dbTenant, o -> o.setCreateTime(buildTime(2021, 12, 12))));
|
||||
// 准备参数
|
||||
SysTenantPageReqVO reqVO = new SysTenantPageReqVO();
|
||||
TenantPageReqVO reqVO = new TenantPageReqVO();
|
||||
reqVO.setName("芋道");
|
||||
reqVO.setContactName("艿");
|
||||
reqVO.setContactMobile("1560");
|
||||
@@ -162,7 +157,7 @@ public class SysTenantServiceTest extends BaseDbUnitTest {
|
||||
// 测试 createTime 不匹配
|
||||
tenantMapper.insert(cloneIgnoreId(dbTenant, o -> o.setCreateTime(buildTime(2021, 12, 12))));
|
||||
// 准备参数
|
||||
SysTenantExportReqVO reqVO = new SysTenantExportReqVO();
|
||||
TenantExportReqVO reqVO = new TenantExportReqVO();
|
||||
reqVO.setName("芋道");
|
||||
reqVO.setContactName("艿");
|
||||
reqVO.setContactMobile("1560");
|
@@ -2,15 +2,15 @@ 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.user.vo.profile.SysUserProfileUpdatePasswordReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.user.vo.profile.SysUserProfileUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.user.vo.user.*;
|
||||
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.coreservice.modules.system.dal.dataobject.dept.SysDeptDO;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysPostDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.user.SysUserMapper;
|
||||
import cn.iocoder.yudao.module.system.service.dept.SysDeptService;
|
||||
import cn.iocoder.yudao.module.system.service.dept.SysPostService;
|
||||
import cn.iocoder.yudao.module.system.service.permission.SysPermissionService;
|
||||
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.coreservice.modules.system.dal.dataobject.user.SysUserDO;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.enums.common.SysSexEnum;
|
||||
@@ -34,7 +34,7 @@ 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.SysErrorCodeConstants.*;
|
||||
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;
|
||||
@@ -45,29 +45,24 @@ import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
import static org.mockito.ArgumentMatchers.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
/**
|
||||
* {@link SysUserService} 的单元测试类
|
||||
*
|
||||
* @author zxl
|
||||
*/
|
||||
@Import(SysUserServiceImpl.class)
|
||||
public class SysUserServiceImplTest extends BaseDbUnitTest {
|
||||
@Import(UserServiceImpl.class)
|
||||
public class UserServiceImplTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysUserServiceImpl userService;
|
||||
private UserServiceImpl userService;
|
||||
|
||||
@Resource
|
||||
private SysUserMapper userMapper;
|
||||
|
||||
@MockBean
|
||||
private SysDeptService deptService;
|
||||
private DeptService deptService;
|
||||
|
||||
@MockBean
|
||||
private SysDeptCoreService deptCoreService;
|
||||
@MockBean
|
||||
private SysPostService postService;
|
||||
private PostService postService;
|
||||
@MockBean
|
||||
private SysPermissionService permissionService;
|
||||
private PermissionService permissionService;
|
||||
@MockBean
|
||||
private PasswordEncoder passwordEncoder;
|
||||
@MockBean
|
||||
@@ -76,7 +71,7 @@ public class SysUserServiceImplTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testCreatUser_success() {
|
||||
// 准备参数
|
||||
SysUserCreateReqVO reqVO = randomPojo(SysUserCreateReqVO.class, o -> {
|
||||
UserCreateReqVO reqVO = randomPojo(UserCreateReqVO.class, o -> {
|
||||
o.setSex(RandomUtil.randomEle(SysSexEnum.values()).getSex());
|
||||
o.setMobile(randomString());
|
||||
});
|
||||
@@ -111,7 +106,7 @@ public class SysUserServiceImplTest extends BaseDbUnitTest {
|
||||
SysUserDO dbUser = randomSysUserDO();
|
||||
userMapper.insert(dbUser);
|
||||
// 准备参数
|
||||
SysUserUpdateReqVO reqVO = randomPojo(SysUserUpdateReqVO.class, o -> {
|
||||
UserUpdateReqVO reqVO = randomPojo(UserUpdateReqVO.class, o -> {
|
||||
o.setId(dbUser.getId());
|
||||
o.setSex(RandomUtil.randomEle(SysSexEnum.values()).getSex());
|
||||
o.setMobile(randomString());
|
||||
@@ -144,7 +139,7 @@ public class SysUserServiceImplTest extends BaseDbUnitTest {
|
||||
userMapper.insert(dbUser);
|
||||
// 准备参数
|
||||
Long userId = dbUser.getId();
|
||||
SysUserProfileUpdateReqVO reqVO = randomPojo(SysUserProfileUpdateReqVO.class, o -> {
|
||||
UserProfileUpdateReqVO reqVO = randomPojo(UserProfileUpdateReqVO.class, o -> {
|
||||
o.setMobile(randomString());
|
||||
o.setSex(RandomUtil.randomEle(SysSexEnum.values()).getSex());
|
||||
});
|
||||
@@ -163,7 +158,7 @@ public class SysUserServiceImplTest extends BaseDbUnitTest {
|
||||
userMapper.insert(dbUser);
|
||||
// 准备参数
|
||||
Long userId = dbUser.getId();
|
||||
SysUserProfileUpdatePasswordReqVO reqVO = randomPojo(SysUserProfileUpdatePasswordReqVO.class, o -> {
|
||||
UserProfileUpdatePasswordReqVO reqVO = randomPojo(UserProfileUpdatePasswordReqVO.class, o -> {
|
||||
o.setOldPassword("yudao");
|
||||
o.setNewPassword("yuanma");
|
||||
});
|
||||
@@ -255,7 +250,7 @@ public class SysUserServiceImplTest extends BaseDbUnitTest {
|
||||
// mock 数据
|
||||
SysUserDO dbUser = initGetUserPageData();
|
||||
// 准备参数
|
||||
SysUserPageReqVO reqVO = new SysUserPageReqVO();
|
||||
UserPageReqVO reqVO = new UserPageReqVO();
|
||||
reqVO.setUsername("yudao");
|
||||
reqVO.setMobile("1560");
|
||||
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
@@ -279,7 +274,7 @@ public class SysUserServiceImplTest extends BaseDbUnitTest {
|
||||
// mock 数据
|
||||
SysUserDO dbUser = initGetUserPageData();
|
||||
// 准备参数
|
||||
SysUserExportReqVO reqVO = new SysUserExportReqVO();
|
||||
UserExportReqVO reqVO = new UserExportReqVO();
|
||||
reqVO.setUsername("yudao");
|
||||
reqVO.setMobile("1560");
|
||||
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
@@ -329,11 +324,11 @@ public class SysUserServiceImplTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testImportUsers_01() {
|
||||
// 准备参数
|
||||
SysUserImportExcelVO importUser = randomPojo(SysUserImportExcelVO.class);
|
||||
UserImportExcelVO importUser = randomPojo(UserImportExcelVO.class);
|
||||
// mock 方法
|
||||
|
||||
// 调用
|
||||
SysUserImportRespVO respVO = userService.importUsers(newArrayList(importUser), true);
|
||||
UserImportRespVO respVO = userService.importUsers(newArrayList(importUser), true);
|
||||
// 断言
|
||||
assertEquals(0, respVO.getCreateUsernames().size());
|
||||
assertEquals(0, respVO.getUpdateUsernames().size());
|
||||
@@ -347,7 +342,7 @@ public class SysUserServiceImplTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testImportUsers_02() {
|
||||
// 准备参数
|
||||
SysUserImportExcelVO importUser = randomPojo(SysUserImportExcelVO.class, o -> {
|
||||
UserImportExcelVO importUser = randomPojo(UserImportExcelVO.class, o -> {
|
||||
o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围
|
||||
o.setSex(randomEle(SysSexEnum.values()).getSex()); // 保证 sex 的范围
|
||||
});
|
||||
@@ -361,7 +356,7 @@ public class SysUserServiceImplTest extends BaseDbUnitTest {
|
||||
when(passwordEncoder.encode(eq("yudaoyuanma"))).thenReturn("java");
|
||||
|
||||
// 调用
|
||||
SysUserImportRespVO respVO = userService.importUsers(newArrayList(importUser), true);
|
||||
UserImportRespVO respVO = userService.importUsers(newArrayList(importUser), true);
|
||||
// 断言
|
||||
assertEquals(1, respVO.getCreateUsernames().size());
|
||||
SysUserDO user = userMapper.selectByUsername(respVO.getCreateUsernames().get(0));
|
||||
@@ -380,7 +375,7 @@ public class SysUserServiceImplTest extends BaseDbUnitTest {
|
||||
SysUserDO dbUser = randomSysUserDO();
|
||||
userMapper.insert(dbUser);
|
||||
// 准备参数
|
||||
SysUserImportExcelVO importUser = randomPojo(SysUserImportExcelVO.class, o -> {
|
||||
UserImportExcelVO importUser = randomPojo(UserImportExcelVO.class, o -> {
|
||||
o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围
|
||||
o.setSex(randomEle(SysSexEnum.values()).getSex()); // 保证 sex 的范围
|
||||
o.setUsername(dbUser.getUsername());
|
||||
@@ -393,7 +388,7 @@ public class SysUserServiceImplTest extends BaseDbUnitTest {
|
||||
when(deptCoreService.getDept(eq(dept.getId()))).thenReturn(dept);
|
||||
|
||||
// 调用
|
||||
SysUserImportRespVO respVO = userService.importUsers(newArrayList(importUser), false);
|
||||
UserImportRespVO respVO = userService.importUsers(newArrayList(importUser), false);
|
||||
// 断言
|
||||
assertEquals(0, respVO.getCreateUsernames().size());
|
||||
assertEquals(0, respVO.getUpdateUsernames().size());
|
||||
@@ -410,7 +405,7 @@ public class SysUserServiceImplTest extends BaseDbUnitTest {
|
||||
SysUserDO dbUser = randomSysUserDO();
|
||||
userMapper.insert(dbUser);
|
||||
// 准备参数
|
||||
SysUserImportExcelVO importUser = randomPojo(SysUserImportExcelVO.class, o -> {
|
||||
UserImportExcelVO importUser = randomPojo(UserImportExcelVO.class, o -> {
|
||||
o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围
|
||||
o.setSex(randomEle(SysSexEnum.values()).getSex()); // 保证 sex 的范围
|
||||
o.setUsername(dbUser.getUsername());
|
||||
@@ -423,7 +418,7 @@ public class SysUserServiceImplTest extends BaseDbUnitTest {
|
||||
when(deptCoreService.getDept(eq(dept.getId()))).thenReturn(dept);
|
||||
|
||||
// 调用
|
||||
SysUserImportRespVO respVO = userService.importUsers(newArrayList(importUser), true);
|
||||
UserImportRespVO respVO = userService.importUsers(newArrayList(importUser), true);
|
||||
// 断言
|
||||
assertEquals(0, respVO.getCreateUsernames().size());
|
||||
assertEquals(1, respVO.getUpdateUsernames().size());
|
Reference in New Issue
Block a user