mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-07-20 22:15:07 +08:00
将 dict 和 login log 迁移到共享库里
This commit is contained in:
@ -3,6 +3,7 @@ package cn.iocoder.yudao.adminserver.modules.system.service.auth;
|
||||
import cn.iocoder.yudao.adminserver.BaseDbUnitTest;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.service.social.SysSocialService;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.service.auth.SysUserSessionCoreService;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.service.logger.SysLoginLogCoreService;
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.controller.auth.vo.auth.SysAuthLoginReqVO;
|
||||
@ -11,7 +12,6 @@ import cn.iocoder.yudao.adminserver.modules.system.enums.logger.SysLoginLogTypeE
|
||||
import cn.iocoder.yudao.adminserver.modules.system.enums.logger.SysLoginResultEnum;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.service.auth.impl.SysAuthServiceImpl;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.service.common.SysCaptchaService;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.service.logger.SysLoginLogService;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.service.permission.SysPermissionService;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.service.user.SysUserService;
|
||||
import cn.iocoder.yudao.framework.test.core.util.AssertUtils;
|
||||
@ -59,7 +59,7 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
@MockBean
|
||||
private SysCaptchaService captchaService;
|
||||
@MockBean
|
||||
private SysLoginLogService loginLogService;
|
||||
private SysLoginLogCoreService loginLogCoreService;
|
||||
@MockBean
|
||||
private SysUserSessionCoreService userSessionCoreService;
|
||||
@MockBean
|
||||
@ -132,7 +132,7 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
// 调用, 并断言异常
|
||||
assertServiceException(() -> authService.login(reqVO, userIp, userAgent), AUTH_LOGIN_CAPTCHA_NOT_FOUND);
|
||||
// 校验调用参数
|
||||
verify(loginLogService, times(1)).createLoginLog(
|
||||
verify(loginLogCoreService, times(1)).createLoginLog(
|
||||
argThat(o -> o.getLogType().equals(SysLoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(SysLoginResultEnum.CAPTCHA_NOT_FOUND.getResult()))
|
||||
);
|
||||
@ -150,7 +150,7 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
// 调用, 并断言异常
|
||||
assertServiceException(() -> authService.login(reqVO, userIp, userAgent), AUTH_LOGIN_CAPTCHA_CODE_ERROR);
|
||||
// 校验调用参数
|
||||
verify(loginLogService, times(1)).createLoginLog(
|
||||
verify(loginLogCoreService, times(1)).createLoginLog(
|
||||
argThat(o -> o.getLogType().equals(SysLoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(SysLoginResultEnum.CAPTCHA_CODE_ERROR.getResult()))
|
||||
);
|
||||
@ -171,7 +171,7 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
assertServiceException(() -> authService.login(reqVO, userIp, userAgent), AUTH_LOGIN_BAD_CREDENTIALS);
|
||||
// 校验调用参数
|
||||
verify(captchaService, times(1)).deleteCaptchaCode(reqVO.getUuid());
|
||||
verify(loginLogService, times(1)).createLoginLog(
|
||||
verify(loginLogCoreService, times(1)).createLoginLog(
|
||||
argThat(o -> o.getLogType().equals(SysLoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(SysLoginResultEnum.BAD_CREDENTIALS.getResult()))
|
||||
);
|
||||
@ -192,7 +192,7 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
assertServiceException(() -> authService.login(reqVO, userIp, userAgent), AUTH_LOGIN_USER_DISABLED);
|
||||
// 校验调用参数
|
||||
verify(captchaService, times(1)).deleteCaptchaCode(reqVO.getUuid());
|
||||
verify(loginLogService, times(1)).createLoginLog(
|
||||
verify(loginLogCoreService, times(1)).createLoginLog(
|
||||
argThat(o -> o.getLogType().equals(SysLoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(SysLoginResultEnum.USER_DISABLED.getResult()))
|
||||
);
|
||||
@ -213,7 +213,7 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
assertServiceException(() -> authService.login(reqVO, userIp, userAgent), AUTH_LOGIN_FAIL_UNKNOWN);
|
||||
// 校验调用参数
|
||||
verify(captchaService, times(1)).deleteCaptchaCode(reqVO.getUuid());
|
||||
verify(loginLogService, times(1)).createLoginLog(
|
||||
verify(loginLogCoreService, times(1)).createLoginLog(
|
||||
argThat(o -> o.getLogType().equals(SysLoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(SysLoginResultEnum.UNKNOWN_ERROR.getResult()))
|
||||
);
|
||||
@ -247,7 +247,7 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
assertEquals(sessionId, login);
|
||||
// 校验调用参数
|
||||
verify(captchaService, times(1)).deleteCaptchaCode(reqVO.getUuid());
|
||||
verify(loginLogService, times(1)).createLoginLog(
|
||||
verify(loginLogCoreService, times(1)).createLoginLog(
|
||||
argThat(o -> o.getLogType().equals(SysLoginLogTypeEnum.LOGIN_USERNAME.getType())
|
||||
&& o.getResult().equals(SysLoginResultEnum.SUCCESS.getResult()))
|
||||
);
|
||||
@ -264,7 +264,7 @@ public class SysAuthServiceImplTest extends BaseDbUnitTest {
|
||||
authService.logout(token);
|
||||
// 校验调用参数
|
||||
verify(userSessionCoreService, times(1)).deleteUserSession(token);
|
||||
verify(loginLogService, times(1)).createLoginLog(
|
||||
verify(loginLogCoreService, times(1)).createLoginLog(
|
||||
argThat(o -> o.getLogType().equals(SysLoginLogTypeEnum.LOGOUT_SELF.getType())
|
||||
&& o.getResult().equals(SysLoginResultEnum.SUCCESS.getResult()))
|
||||
);
|
||||
|
@ -5,13 +5,13 @@ import cn.iocoder.yudao.adminserver.BaseDbAndRedisUnitTest;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.controller.auth.vo.session.SysUserSessionPageReqVO;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.dal.dataobject.user.SysUserDO;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.dal.mysql.auth.SysUserSessionMapper;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.dal.mysql.user.SysUserMapper;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.enums.common.SysSexEnum;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.service.auth.impl.SysUserSessionServiceImpl;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.service.logger.SysLoginLogService;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.service.user.SysUserService;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.auth.SysUserSessionDO;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.redis.auth.SysLoginUserCoreRedisDAO;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.service.logger.SysLoginLogCoreService;
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
@ -22,8 +22,6 @@ import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
import org.springframework.context.annotation.Import;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
@ -55,7 +53,7 @@ public class SysUserSessionServiceImplTest extends BaseDbAndRedisUnitTest {
|
||||
@MockBean
|
||||
private SysUserService userService;
|
||||
@MockBean
|
||||
private SysLoginLogService loginLogService;
|
||||
private SysLoginLogCoreService loginLogCoreService;
|
||||
@MockBean
|
||||
private SysLoginUserCoreRedisDAO loginUserCoreRedisDAO;
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
package cn.iocoder.yudao.adminserver.modules.system.service.dict;
|
||||
|
||||
import cn.iocoder.yudao.adminserver.BaseDbUnitTest;
|
||||
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.adminserver.modules.system.controller.dict.vo.data.SysDictDataCreateReqVO;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.controller.dict.vo.data.SysDictDataExportReqVO;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.controller.dict.vo.data.SysDictDataPageReqVO;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.controller.dict.vo.data.SysDictDataUpdateReqVO;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.dal.dataobject.dict.SysDictDataDO;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.dal.dataobject.dict.SysDictTypeDO;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.dal.mysql.dict.SysDictDataMapper;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.mq.producer.dict.SysDictDataProducer;
|
||||
@ -51,37 +51,6 @@ public class SysDictDataServiceTest extends BaseDbUnitTest {
|
||||
@MockBean
|
||||
private SysDictDataProducer dictDataProducer;
|
||||
|
||||
/**
|
||||
* 测试加载到新的字典数据的情况
|
||||
*/
|
||||
@Test
|
||||
@SuppressWarnings("unchecked")
|
||||
public void testInitLocalCache() {
|
||||
// mock 数据
|
||||
SysDictDataDO dictData01 = randomDictDataDO();
|
||||
dictDataMapper.insert(dictData01);
|
||||
SysDictDataDO dictData02 = randomDictDataDO();
|
||||
dictDataMapper.insert(dictData02);
|
||||
|
||||
// 调用
|
||||
dictDataService.initLocalCache();
|
||||
// 断言 labelDictDataCache 缓存
|
||||
ImmutableTable<String, String, SysDictDataDO> labelDictDataCache =
|
||||
(ImmutableTable<String, String, SysDictDataDO>) getFieldValue(dictDataService, "labelDictDataCache");
|
||||
assertEquals(2, labelDictDataCache.size());
|
||||
assertPojoEquals(dictData01, labelDictDataCache.get(dictData01.getDictType(), dictData01.getLabel()));
|
||||
assertPojoEquals(dictData02, labelDictDataCache.get(dictData02.getDictType(), dictData02.getLabel()));
|
||||
// 断言 valueDictDataCache 缓存
|
||||
ImmutableTable<String, String, SysDictDataDO> valueDictDataCache =
|
||||
(ImmutableTable<String, String, SysDictDataDO>) getFieldValue(dictDataService, "valueDictDataCache");
|
||||
assertEquals(2, valueDictDataCache.size());
|
||||
assertPojoEquals(dictData01, valueDictDataCache.get(dictData01.getDictType(), dictData01.getValue()));
|
||||
assertPojoEquals(dictData02, valueDictDataCache.get(dictData02.getDictType(), dictData02.getValue()));
|
||||
// 断言 maxUpdateTime 缓存
|
||||
Date maxUpdateTime = (Date) getFieldValue(dictDataService, "maxUpdateTime");
|
||||
assertEquals(ObjectUtils.max(dictData01.getUpdateTime(), dictData02.getUpdateTime()), maxUpdateTime);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetDictDataPage() {
|
||||
// mock 数据
|
||||
|
@ -2,13 +2,12 @@ package cn.iocoder.yudao.adminserver.modules.system.service.logger;
|
||||
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.iocoder.yudao.adminserver.BaseDbUnitTest;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.service.logger.dto.SysLoginLogCreateReqDTO;
|
||||
import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.logger.SysLoginLogDO;
|
||||
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.adminserver.modules.system.controller.logger.vo.loginlog.SysLoginLogExportReqVO;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.controller.logger.vo.loginlog.SysLoginLogPageReqVO;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.dal.dataobject.logger.SysLoginLogDO;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.dal.mysql.logger.SysLoginLogMapper;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.enums.logger.SysLoginLogTypeEnum;
|
||||
import cn.iocoder.yudao.adminserver.modules.system.enums.logger.SysLoginResultEnum;
|
||||
@ -34,31 +33,9 @@ public class SysLoginLogServiceImplTest extends BaseDbUnitTest {
|
||||
@Resource
|
||||
private SysLoginLogMapper loginLogMapper;
|
||||
|
||||
@Test
|
||||
public void testCreateLoginLog() {
|
||||
String traceId = TracerUtils.getTraceId();
|
||||
SysLoginLogCreateReqDTO reqDTO = RandomUtils.randomPojo(SysLoginLogCreateReqDTO.class, vo -> {
|
||||
// 指定随机的范围,避免超出范围入库失败
|
||||
vo.setLogType(RandomUtil.randomEle(SysLoginLogTypeEnum.values()).getType());
|
||||
vo.setResult(RandomUtil.randomEle(SysLoginResultEnum.values()).getResult());
|
||||
// 使用TracerUtils生成的TraceId
|
||||
vo.setTraceId(traceId);
|
||||
});
|
||||
|
||||
// 执行service方法
|
||||
sysLoginLogService.createLoginLog(reqDTO);
|
||||
|
||||
// 断言,忽略基本字段
|
||||
SysLoginLogDO sysLoginLogDO = loginLogMapper.selectOne(null);
|
||||
assertPojoEquals(reqDTO, sysLoginLogDO);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testGetLoginLogPage() {
|
||||
|
||||
// 构造测试数据
|
||||
|
||||
// 登录成功的
|
||||
SysLoginLogDO loginLogDO = RandomUtils.randomPojo(SysLoginLogDO.class, logDO -> {
|
||||
logDO.setLogType(RandomUtil.randomEle(SysLoginLogTypeEnum.values()).getType());
|
||||
|
Reference in New Issue
Block a user