多模块重构 4:system 模块的创建,去除 Sys

This commit is contained in:
YunaiV
2022-01-29 21:29:54 +08:00
parent 06887bff16
commit 117914d92b
335 changed files with 2481 additions and 2498 deletions

View File

@@ -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()))
);
}

View File

@@ -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);

View File

@@ -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());

View File

@@ -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());

View File

@@ -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());

View File

@@ -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 是开启
});

View File

@@ -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));
}
}

View File

@@ -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));
}
}

View File

@@ -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);

View File

@@ -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));

View File

@@ -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;
}

View File

@@ -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());

View File

@@ -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));
}
}

View File

@@ -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);

View File

@@ -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));

View File

@@ -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");

View File

@@ -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");

View File

@@ -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");

View File

@@ -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());