Commit 7da46d1cfb3ebfe128f349848fa86e94899b3384

Authored by YunaiV
2 parents c89accbf 93351e17

Merge branch 'master' of https://gitee.com/zhijiantianya/ruoyi-vue-pro into pay_extension

yudao-admin-server/src/test/java/cn/iocoder/yudao/adminserver/modules/infra/service/file/InfFileServiceTest.java
1 1 package cn.iocoder.yudao.adminserver.modules.infra.service.file;
2 2  
3   -import cn.hutool.core.io.resource.ResourceUtil;
4 3 import cn.iocoder.yudao.adminserver.BaseDbUnitTest;
5 4 import cn.iocoder.yudao.adminserver.modules.infra.controller.file.vo.InfFilePageReqVO;
6 5 import cn.iocoder.yudao.coreservice.modules.infra.dal.dataobject.file.InfFileDO;
7 6 import cn.iocoder.yudao.coreservice.modules.infra.dal.mysql.file.InfFileCoreMapper;
  7 +import cn.iocoder.yudao.coreservice.modules.infra.framework.file.config.FileProperties;
8 8 import cn.iocoder.yudao.coreservice.modules.infra.service.file.impl.InfFileCoreServiceImpl;
9 9 import cn.iocoder.yudao.framework.common.pojo.PageResult;
10   -import cn.iocoder.yudao.coreservice.modules.infra.framework.file.config.FileProperties;
11 10 import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
12 11 import org.junit.jupiter.api.Test;
13 12 import org.springframework.boot.test.mock.mockito.MockBean;
... ... @@ -15,14 +14,10 @@ import org.springframework.context.annotation.Import;
15 14  
16 15 import javax.annotation.Resource;
17 16  
18   -import static cn.iocoder.yudao.coreservice.modules.system.enums.SysErrorCodeConstants.FILE_NOT_EXISTS;
  17 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime;
19 18 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
20   -import static cn.iocoder.yudao.adminserver.modules.system.enums.SysErrorCodeConstants.FILE_PATH_EXISTS;
21   -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
22 19 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
23   -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomString;
24   -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime;
25   -import static org.junit.jupiter.api.Assertions.*;
  20 +import static org.junit.jupiter.api.Assertions.assertEquals;
26 21  
27 22 @Import({InfFileCoreServiceImpl.class, FileProperties.class})
28 23 public class InfFileServiceTest extends BaseDbUnitTest {
... ... @@ -37,59 +32,6 @@ public class InfFileServiceTest extends BaseDbUnitTest {
37 32 private InfFileCoreMapper fileMapper;
38 33  
39 34 @Test
40   - public void testCreateFile_success() {
41   - // 准备参数
42   - String path = randomString();
43   - byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
44   -
45   - // 调用
46   - String url = fileService.createFile(path, content);
47   - // 断言
48   - assertEquals(fileProperties.getBasePath() + path, url);
49   - // 校验数据
50   - InfFileDO file = fileMapper.selectById(path);
51   - assertEquals(path, file.getId());
52   - assertEquals("jpg", file.getType());
53   - assertArrayEquals(content, file.getContent());
54   - }
55   -
56   - @Test
57   - public void testCreateFile_exists() {
58   - // mock 数据
59   - InfFileDO dbFile = randomPojo(InfFileDO.class);
60   - fileMapper.insert(dbFile);
61   - // 准备参数
62   - String path = dbFile.getId(); // 模拟已存在
63   - byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
64   -
65   - // 调用,并断言异常
66   - assertServiceException(() -> fileService.createFile(path, content), FILE_PATH_EXISTS);
67   - }
68   -
69   - @Test
70   - public void testDeleteFile_success() {
71   - // mock 数据
72   - InfFileDO dbFile = randomPojo(InfFileDO.class);
73   - fileMapper.insert(dbFile);// @Sql: 先插入出一条存在的数据
74   - // 准备参数
75   - String id = dbFile.getId();
76   -
77   - // 调用
78   - fileService.deleteFile(id);
79   - // 校验数据不存在了
80   - assertNull(fileMapper.selectById(id));
81   - }
82   -
83   - @Test
84   - public void testDeleteFile_notExists() {
85   - // 准备参数
86   - String id = randomString();
87   -
88   - // 调用, 并断言异常
89   - assertServiceException(() -> fileService.deleteFile(id), FILE_NOT_EXISTS);
90   - }
91   -
92   - @Test
93 35 public void testGetFilePage() {
94 36 // mock 数据
95 37 InfFileDO dbFile = randomPojo(InfFileDO.class, o -> { // 等会查询到
... ...
yudao-core-service/pom.xml
... ... @@ -3,9 +3,9 @@
3 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5 5 <parent>
6   - <artifactId>yudao</artifactId>
7 6 <groupId>cn.iocoder.boot</groupId>
8   - <version>1.2.0-snapshot</version>
  7 + <artifactId>yudao</artifactId>
  8 + <version>${revision}</version>
9 9 </parent>
10 10 <modelVersion>4.0.0</modelVersion>
11 11  
... ...
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/enums/SysErrorCodeConstants.java
... ... @@ -17,4 +17,5 @@ public interface SysErrorCodeConstants {
17 17 // ========= 文件相关 1006001000=================
18 18 ErrorCode FILE_PATH_EXISTS = new ErrorCode(1006001000, "文件路径已存在");
19 19 ErrorCode FILE_NOT_EXISTS = new ErrorCode(1006001002, "文件不存在");
  20 +
20 21 }
... ...
yudao-core-service/src/test/java/cn/iocoder/yudao/coreservice/modules/infra/service/file/InfFileCoreServiceTest.java 0 → 100644
  1 +package cn.iocoder.yudao.coreservice.modules.infra.service.file;
  2 +
  3 +import cn.hutool.core.io.resource.ResourceUtil;
  4 +import cn.iocoder.yudao.coreservice.BaseDbUnitTest;
  5 +import cn.iocoder.yudao.coreservice.modules.infra.dal.dataobject.file.InfFileDO;
  6 +import cn.iocoder.yudao.coreservice.modules.infra.dal.mysql.file.InfFileCoreMapper;
  7 +import cn.iocoder.yudao.coreservice.modules.infra.framework.file.config.FileProperties;
  8 +import cn.iocoder.yudao.coreservice.modules.infra.service.file.impl.InfFileCoreServiceImpl;
  9 +import org.junit.jupiter.api.Test;
  10 +import org.springframework.boot.test.mock.mockito.MockBean;
  11 +import org.springframework.context.annotation.Import;
  12 +
  13 +import javax.annotation.Resource;
  14 +
  15 +import static cn.iocoder.yudao.coreservice.modules.system.enums.SysErrorCodeConstants.FILE_NOT_EXISTS;
  16 +import static cn.iocoder.yudao.coreservice.modules.system.enums.SysErrorCodeConstants.FILE_PATH_EXISTS;
  17 +import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
  18 +import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
  19 +import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomString;
  20 +import static org.junit.jupiter.api.Assertions.*;
  21 +
  22 +@Import({InfFileCoreServiceImpl.class, FileProperties.class})
  23 +public class InfFileCoreServiceTest extends BaseDbUnitTest {
  24 +
  25 + @Resource
  26 + private InfFileCoreService fileCoreService;
  27 +
  28 + @MockBean
  29 + private FileProperties fileProperties;
  30 +
  31 + @Resource
  32 + private InfFileCoreMapper fileMapper;
  33 +
  34 + @Test
  35 + public void testCreateFile_success() {
  36 + // 准备参数
  37 + String path = randomString();
  38 + byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
  39 +
  40 + // 调用
  41 + String url = fileCoreService.createFile(path, content);
  42 + // 断言
  43 + assertEquals(fileProperties.getBasePath() + path, url);
  44 + // 校验数据
  45 + InfFileDO file = fileMapper.selectById(path);
  46 + assertEquals(path, file.getId());
  47 + assertEquals("jpg", file.getType());
  48 + assertArrayEquals(content, file.getContent());
  49 + }
  50 +
  51 + @Test
  52 + public void testCreateFile_exists() {
  53 + // mock 数据
  54 + InfFileDO dbFile = randomPojo(InfFileDO.class);
  55 + fileMapper.insert(dbFile);
  56 + // 准备参数
  57 + String path = dbFile.getId(); // 模拟已存在
  58 + byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
  59 +
  60 + // 调用,并断言异常
  61 + assertServiceException(() -> fileCoreService.createFile(path, content), FILE_PATH_EXISTS);
  62 + }
  63 +
  64 + @Test
  65 + public void testDeleteFile_success() {
  66 + // mock 数据
  67 + InfFileDO dbFile = randomPojo(InfFileDO.class);
  68 + fileMapper.insert(dbFile);// @Sql: 先插入出一条存在的数据
  69 + // 准备参数
  70 + String id = dbFile.getId();
  71 +
  72 + // 调用
  73 + fileCoreService.deleteFile(id);
  74 + // 校验数据不存在了
  75 + assertNull(fileMapper.selectById(id));
  76 + }
  77 +
  78 + @Test
  79 + public void testDeleteFile_notExists() {
  80 + // 准备参数
  81 + String id = randomString();
  82 +
  83 + // 调用, 并断言异常
  84 + assertServiceException(() -> fileCoreService.deleteFile(id), FILE_NOT_EXISTS);
  85 + }
  86 +
  87 +}
... ...
yudao-admin-server/src/test/resources/file/erweima.jpg renamed to yudao-core-service/src/test/resources/file/erweima.jpg

18 KB

yudao-core-service/src/test/resources/sql/clean.sql
1 1 -- inf 开头的 DB
2 2 DELETE FROM "inf_api_access_log";
  3 +DELETE FROM "inf_file";
3 4 DELETE FROM "inf_api_error_log";
4 5  
5 6 -- sys 开头的 DB
... ...
yudao-core-service/src/test/resources/sql/create_tables.sql
1 1 -- inf 开头的 DB
2 2  
  3 +CREATE TABLE IF NOT EXISTS "inf_file" (
  4 + "id" varchar(188) NOT NULL,
  5 + "type" varchar(63) DEFAULT NULL,
  6 + "content" blob NOT NULL,
  7 + "creator" varchar(64) DEFAULT '',
  8 + "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  9 + "updater" varchar(64) DEFAULT '',
  10 + "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  11 + "deleted" bit NOT NULL DEFAULT FALSE,
  12 + PRIMARY KEY ("id")
  13 +) COMMENT '文件表';
  14 +
3 15 -- sys 开头的 DB
4 16  
5 17 CREATE TABLE IF NOT EXISTS `sys_user_session` (
... ...