mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2024-11-30 11:11:55 +08:00
提交部分 config 的单元测试
This commit is contained in:
parent
ba34e3c987
commit
72817a8632
@ -10,7 +10,7 @@ import cn.iocoder.dashboard.common.exception.ErrorCode;
|
|||||||
public interface InfErrorCodeConstants {
|
public interface InfErrorCodeConstants {
|
||||||
|
|
||||||
// ========== 参数配置 1001000000 ==========
|
// ========== 参数配置 1001000000 ==========
|
||||||
ErrorCode CONFIG_NOT_FOUND = new ErrorCode(1001000001, "参数配置不存在");
|
ErrorCode CONFIG_NOT_EXISTS = new ErrorCode(1001000001, "参数配置不存在");
|
||||||
ErrorCode CONFIG_KEY_DUPLICATE = new ErrorCode(1001000002, "参数配置 key 重复");
|
ErrorCode CONFIG_KEY_DUPLICATE = new ErrorCode(1001000002, "参数配置 key 重复");
|
||||||
ErrorCode CONFIG_CAN_NOT_DELETE_SYSTEM_TYPE = new ErrorCode(1001000003, "不能删除类型为系统内置的参数配置");
|
ErrorCode CONFIG_CAN_NOT_DELETE_SYSTEM_TYPE = new ErrorCode(1001000003, "不能删除类型为系统内置的参数配置");
|
||||||
ErrorCode CONFIG_GET_VALUE_ERROR_IF_SENSITIVE = new ErrorCode(1001000004, "不允许获取敏感配置到前端");
|
ErrorCode CONFIG_GET_VALUE_ERROR_IF_SENSITIVE = new ErrorCode(1001000004, "不允许获取敏感配置到前端");
|
||||||
|
@ -105,7 +105,7 @@ public class InfConfigServiceImpl implements InfConfigService {
|
|||||||
}
|
}
|
||||||
InfConfigDO config = configMapper.selectById(id);
|
InfConfigDO config = configMapper.selectById(id);
|
||||||
if (config == null) {
|
if (config == null) {
|
||||||
throw ServiceExceptionUtil.exception(CONFIG_NOT_FOUND);
|
throw ServiceExceptionUtil.exception(CONFIG_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,8 @@ import java.util.function.Consumer;
|
|||||||
|
|
||||||
import static cn.hutool.core.util.RandomUtil.randomEle;
|
import static cn.hutool.core.util.RandomUtil.randomEle;
|
||||||
import static cn.iocoder.dashboard.modules.infra.enums.InfErrorCodeConstants.CONFIG_KEY_DUPLICATE;
|
import static cn.iocoder.dashboard.modules.infra.enums.InfErrorCodeConstants.CONFIG_KEY_DUPLICATE;
|
||||||
|
import static cn.iocoder.dashboard.modules.infra.enums.InfErrorCodeConstants.CONFIG_NOT_EXISTS;
|
||||||
|
import static cn.iocoder.dashboard.util.AssertUtils.assertExceptionEquals;
|
||||||
import static cn.iocoder.dashboard.util.AssertUtils.assertPojoEquals;
|
import static cn.iocoder.dashboard.util.AssertUtils.assertPojoEquals;
|
||||||
import static cn.iocoder.dashboard.util.RandomUtils.randomPojo;
|
import static cn.iocoder.dashboard.util.RandomUtils.randomPojo;
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
@ -37,7 +39,7 @@ public class InfConfigServiceImplTest extends BaseSpringBootUnitTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testCreateConfig_success() {
|
public void testCreateConfig_success() {
|
||||||
// 准备参数
|
// 准备参数
|
||||||
InfConfigCreateReqVO reqVO = randomInfConfigCreateReqVO();
|
InfConfigCreateReqVO reqVO = randomPojo(InfConfigCreateReqVO.class);
|
||||||
// mock
|
// mock
|
||||||
|
|
||||||
// 调用
|
// 调用
|
||||||
@ -55,24 +57,28 @@ public class InfConfigServiceImplTest extends BaseSpringBootUnitTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testCreateConfig_keyDuplicate() {
|
public void testCreateConfig_keyDuplicate() {
|
||||||
// 准备参数
|
// 准备参数
|
||||||
InfConfigCreateReqVO reqVO = randomInfConfigCreateReqVO();
|
InfConfigCreateReqVO reqVO = randomPojo(InfConfigCreateReqVO.class);
|
||||||
// mock 数据
|
// mock 数据
|
||||||
configMapper.insert(randomInfConfigDO(o -> { // @Sql
|
configMapper.insert(randomInfConfigDO(o -> { // @Sql
|
||||||
o.setKey(reqVO.getKey()); // 模拟 key 重复
|
o.setKey(reqVO.getKey()); // 模拟 key 重复
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// 调用
|
// 调用
|
||||||
ServiceException serviceException = assertThrows(ServiceException.class, () -> configService.createConfig(reqVO));
|
ServiceException serviceException = assertThrows(ServiceException.class,
|
||||||
// 断言
|
() -> configService.createConfig(reqVO));
|
||||||
assertPojoEquals(CONFIG_KEY_DUPLICATE, serviceException);
|
// 断言异常
|
||||||
|
assertExceptionEquals(CONFIG_KEY_DUPLICATE, serviceException);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testUpdateConfig_success() {
|
public void testUpdateConfig_success() {
|
||||||
// 准备参数
|
|
||||||
InfConfigUpdateReqVO reqVO = randomInfConfigUpdateReqVO();
|
|
||||||
// mock 数据
|
// mock 数据
|
||||||
configMapper.insert(randomInfConfigDO(o -> o.setId(reqVO.getId())));// @Sql: 先插入出一条存在的数据
|
InfConfigDO dbConfig = randomInfConfigDO();
|
||||||
|
configMapper.insert(dbConfig);// @Sql: 先插入出一条存在的数据
|
||||||
|
// 准备参数
|
||||||
|
InfConfigUpdateReqVO reqVO = randomPojo(InfConfigUpdateReqVO.class, o -> {
|
||||||
|
o.setId(dbConfig.getId()); // 设置更新的 ID
|
||||||
|
});
|
||||||
|
|
||||||
// 调用
|
// 调用
|
||||||
configService.updateConfig(reqVO);
|
configService.updateConfig(reqVO);
|
||||||
@ -83,21 +89,25 @@ public class InfConfigServiceImplTest extends BaseSpringBootUnitTest {
|
|||||||
verify(configProducer, times(1)).sendConfigRefreshMessage();
|
verify(configProducer, times(1)).sendConfigRefreshMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUpdateConfig_notExists() {
|
||||||
|
// 准备参数
|
||||||
|
InfConfigUpdateReqVO reqVO = randomPojo(InfConfigUpdateReqVO.class);
|
||||||
|
|
||||||
|
// 调用
|
||||||
|
ServiceException serviceException = assertThrows(ServiceException.class,
|
||||||
|
() -> configService.updateConfig(reqVO));
|
||||||
|
// 断言异常
|
||||||
|
assertExceptionEquals(CONFIG_NOT_EXISTS, serviceException);
|
||||||
|
}
|
||||||
|
|
||||||
// ========== 随机对象 ==========
|
// ========== 随机对象 ==========
|
||||||
|
|
||||||
@SafeVarargs
|
@SafeVarargs
|
||||||
private static InfConfigDO randomInfConfigDO(Consumer<InfConfigDO>... consumers) {
|
private static InfConfigDO randomInfConfigDO(Consumer<InfConfigDO>... consumers) {
|
||||||
InfConfigDO config = randomPojo(InfConfigDO.class, consumers);
|
InfConfigDO config = randomPojo(InfConfigDO.class, consumers);
|
||||||
config.setType(randomEle(InfConfigTypeEnum.values()).getType());
|
config.setType(randomEle(InfConfigTypeEnum.values()).getType()); // 保证 key 的范围
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static InfConfigCreateReqVO randomInfConfigCreateReqVO() {
|
|
||||||
return randomPojo(InfConfigCreateReqVO.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static InfConfigUpdateReqVO randomInfConfigUpdateReqVO() {
|
|
||||||
return randomPojo(InfConfigUpdateReqVO.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -52,7 +52,7 @@ public class AssertUtils {
|
|||||||
* @param errorCode 错误码对象
|
* @param errorCode 错误码对象
|
||||||
* @param serviceException 业务异常
|
* @param serviceException 业务异常
|
||||||
*/
|
*/
|
||||||
public static void assertPojoEquals(ErrorCode errorCode, ServiceException serviceException) {
|
public static void assertExceptionEquals(ErrorCode errorCode, ServiceException serviceException) {
|
||||||
Assertions.assertEquals(errorCode.getCode(), serviceException.getCode(), "错误码不匹配");
|
Assertions.assertEquals(errorCode.getCode(), serviceException.getCode(), "错误码不匹配");
|
||||||
Assertions.assertEquals(errorCode.getMessage(), serviceException.getMessage(), "错误提示不匹配");
|
Assertions.assertEquals(errorCode.getMessage(), serviceException.getMessage(), "错误提示不匹配");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user