|
|
|
|
@ -16,7 +16,6 @@ import cn.iocoder.yudao.module.infra.controller.admin.file.vo.config.FileConfigP
|
|
|
|
|
import cn.iocoder.yudao.module.infra.controller.admin.file.vo.config.FileConfigUpdateReqVO;
|
|
|
|
|
import cn.iocoder.yudao.module.infra.dal.dataobject.file.FileConfigDO;
|
|
|
|
|
import cn.iocoder.yudao.module.infra.dal.mysql.file.FileConfigMapper;
|
|
|
|
|
import cn.iocoder.yudao.module.infra.mq.producer.file.FileConfigProducer;
|
|
|
|
|
import lombok.Data;
|
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
|
import org.springframework.boot.test.mock.mockito.MockBean;
|
|
|
|
|
@ -42,10 +41,10 @@ import static org.mockito.ArgumentMatchers.eq;
|
|
|
|
|
import static org.mockito.Mockito.*;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* {@link FileConfigServiceImpl} 的单元测试类
|
|
|
|
|
*
|
|
|
|
|
* @author 芋道源码
|
|
|
|
|
*/
|
|
|
|
|
* {@link FileConfigServiceImpl} 的单元测试类
|
|
|
|
|
*
|
|
|
|
|
* @author 芋道源码
|
|
|
|
|
*/
|
|
|
|
|
@Import(FileConfigServiceImpl.class)
|
|
|
|
|
public class FileConfigServiceImplTest extends BaseDbUnitTest {
|
|
|
|
|
|
|
|
|
|
@ -55,8 +54,6 @@ public class FileConfigServiceImplTest extends BaseDbUnitTest {
|
|
|
|
|
@Resource
|
|
|
|
|
private FileConfigMapper fileConfigMapper;
|
|
|
|
|
|
|
|
|
|
@MockBean
|
|
|
|
|
private FileConfigProducer fileConfigProducer;
|
|
|
|
|
@MockBean
|
|
|
|
|
private Validator validator;
|
|
|
|
|
@MockBean
|
|
|
|
|
@ -81,6 +78,10 @@ public class FileConfigServiceImplTest extends BaseDbUnitTest {
|
|
|
|
|
verify(fileClientFactory).createOrUpdateFileClient(eq(2L),
|
|
|
|
|
eq(configDO2.getStorage()), eq(configDO2.getConfig()));
|
|
|
|
|
assertSame(masterFileClient, fileConfigService.getMasterFileClient());
|
|
|
|
|
// 断言 fileConfigCache 缓存
|
|
|
|
|
assertEquals(2, fileConfigService.getFileConfigCache().size());
|
|
|
|
|
assertEquals(configDO1, fileConfigService.getFileConfigCache().get(0));
|
|
|
|
|
assertEquals(configDO2, fileConfigService.getFileConfigCache().get(1));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
@ -101,8 +102,6 @@ public class FileConfigServiceImplTest extends BaseDbUnitTest {
|
|
|
|
|
assertFalse(fileConfig.getMaster());
|
|
|
|
|
assertEquals("/yunai", ((LocalFileClientConfig) fileConfig.getConfig()).getBasePath());
|
|
|
|
|
assertEquals("https://www.iocoder.cn", ((LocalFileClientConfig) fileConfig.getConfig()).getDomain());
|
|
|
|
|
// verify 调用
|
|
|
|
|
verify(fileConfigProducer).sendFileConfigRefreshMessage();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
@ -126,8 +125,6 @@ public class FileConfigServiceImplTest extends BaseDbUnitTest {
|
|
|
|
|
assertPojoEquals(reqVO, fileConfig, "config");
|
|
|
|
|
assertEquals("/yunai2", ((LocalFileClientConfig) fileConfig.getConfig()).getBasePath());
|
|
|
|
|
assertEquals("https://doc.iocoder.cn", ((LocalFileClientConfig) fileConfig.getConfig()).getDomain());
|
|
|
|
|
// verify 调用
|
|
|
|
|
verify(fileConfigProducer).sendFileConfigRefreshMessage();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
@ -152,8 +149,6 @@ public class FileConfigServiceImplTest extends BaseDbUnitTest {
|
|
|
|
|
// 断言数据
|
|
|
|
|
assertTrue(fileConfigMapper.selectById(dbFileConfig.getId()).getMaster());
|
|
|
|
|
assertFalse(fileConfigMapper.selectById(masterFileConfig.getId()).getMaster());
|
|
|
|
|
// verify 调用
|
|
|
|
|
verify(fileConfigProducer).sendFileConfigRefreshMessage();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
@ -172,10 +167,8 @@ public class FileConfigServiceImplTest extends BaseDbUnitTest {
|
|
|
|
|
|
|
|
|
|
// 调用
|
|
|
|
|
fileConfigService.deleteFileConfig(id);
|
|
|
|
|
// 校验数据不存在了
|
|
|
|
|
assertNull(fileConfigMapper.selectById(id));
|
|
|
|
|
// verify 调用
|
|
|
|
|
verify(fileConfigProducer).sendFileConfigRefreshMessage();
|
|
|
|
|
// 校验数据不存在了
|
|
|
|
|
assertNull(fileConfigMapper.selectById(id));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
@ -201,30 +194,30 @@ public class FileConfigServiceImplTest extends BaseDbUnitTest {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testGetFileConfigPage() {
|
|
|
|
|
// mock 数据
|
|
|
|
|
FileConfigDO dbFileConfig = randomFileConfigDO().setName("芋道源码")
|
|
|
|
|
.setStorage(FileStorageEnum.LOCAL.getStorage());
|
|
|
|
|
dbFileConfig.setCreateTime(LocalDateTimeUtil.parse("2020-01-23", DatePattern.NORM_DATE_PATTERN));// 等会查询到
|
|
|
|
|
fileConfigMapper.insert(dbFileConfig);
|
|
|
|
|
// 测试 name 不匹配
|
|
|
|
|
fileConfigMapper.insert(cloneIgnoreId(dbFileConfig, o -> o.setName("源码")));
|
|
|
|
|
// 测试 storage 不匹配
|
|
|
|
|
fileConfigMapper.insert(cloneIgnoreId(dbFileConfig, o -> o.setStorage(FileStorageEnum.DB.getStorage())));
|
|
|
|
|
// 测试 createTime 不匹配
|
|
|
|
|
fileConfigMapper.insert(cloneIgnoreId(dbFileConfig, o -> o.setCreateTime(LocalDateTimeUtil.parse("2020-11-23", DatePattern.NORM_DATE_PATTERN))));
|
|
|
|
|
// 准备参数
|
|
|
|
|
FileConfigPageReqVO reqVO = new FileConfigPageReqVO();
|
|
|
|
|
reqVO.setName("芋道");
|
|
|
|
|
reqVO.setStorage(FileStorageEnum.LOCAL.getStorage());
|
|
|
|
|
reqVO.setCreateTime((new LocalDateTime[]{buildTime(2020, 1, 1),
|
|
|
|
|
buildTime(2020, 1, 24)}));
|
|
|
|
|
|
|
|
|
|
// 调用
|
|
|
|
|
PageResult<FileConfigDO> pageResult = fileConfigService.getFileConfigPage(reqVO);
|
|
|
|
|
// 断言
|
|
|
|
|
assertEquals(1, pageResult.getTotal());
|
|
|
|
|
assertEquals(1, pageResult.getList().size());
|
|
|
|
|
assertPojoEquals(dbFileConfig, pageResult.getList().get(0));
|
|
|
|
|
// mock 数据
|
|
|
|
|
FileConfigDO dbFileConfig = randomFileConfigDO().setName("芋道源码")
|
|
|
|
|
.setStorage(FileStorageEnum.LOCAL.getStorage());
|
|
|
|
|
dbFileConfig.setCreateTime(LocalDateTimeUtil.parse("2020-01-23", DatePattern.NORM_DATE_PATTERN));// 等会查询到
|
|
|
|
|
fileConfigMapper.insert(dbFileConfig);
|
|
|
|
|
// 测试 name 不匹配
|
|
|
|
|
fileConfigMapper.insert(cloneIgnoreId(dbFileConfig, o -> o.setName("源码")));
|
|
|
|
|
// 测试 storage 不匹配
|
|
|
|
|
fileConfigMapper.insert(cloneIgnoreId(dbFileConfig, o -> o.setStorage(FileStorageEnum.DB.getStorage())));
|
|
|
|
|
// 测试 createTime 不匹配
|
|
|
|
|
fileConfigMapper.insert(cloneIgnoreId(dbFileConfig, o -> o.setCreateTime(LocalDateTimeUtil.parse("2020-11-23", DatePattern.NORM_DATE_PATTERN))));
|
|
|
|
|
// 准备参数
|
|
|
|
|
FileConfigPageReqVO reqVO = new FileConfigPageReqVO();
|
|
|
|
|
reqVO.setName("芋道");
|
|
|
|
|
reqVO.setStorage(FileStorageEnum.LOCAL.getStorage());
|
|
|
|
|
reqVO.setCreateTime((new LocalDateTime[]{buildTime(2020, 1, 1),
|
|
|
|
|
buildTime(2020, 1, 24)}));
|
|
|
|
|
|
|
|
|
|
// 调用
|
|
|
|
|
PageResult<FileConfigDO> pageResult = fileConfigService.getFileConfigPage(reqVO);
|
|
|
|
|
// 断言
|
|
|
|
|
assertEquals(1, pageResult.getTotal());
|
|
|
|
|
assertEquals(1, pageResult.getList().size());
|
|
|
|
|
assertPojoEquals(dbFileConfig, pageResult.getList().get(0));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
|