mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 10:18:42 +08:00 
			
		
		
		
	多模块重构 13:迁移集成测试~
This commit is contained in:
		| @@ -0,0 +1,23 @@ | ||||
| package cn.iocoder.yudao.module.tool.dal.mysql.codegen; | ||||
|  | ||||
| import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaColumnDO; | ||||
| import cn.iocoder.yudao.module.tool.test.BaseDbUnitTest; | ||||
| import org.junit.jupiter.api.Test; | ||||
|  | ||||
| import javax.annotation.Resource; | ||||
| import java.util.List; | ||||
|  | ||||
| import static org.junit.jupiter.api.Assertions.assertTrue; | ||||
|  | ||||
| public class SchemaColumnMapperTest extends BaseDbUnitTest { | ||||
|  | ||||
|     @Resource | ||||
|     private SchemaColumnMapper schemaColumnMapper; | ||||
|  | ||||
|     @Test | ||||
|     public void testSelectListByTableName() { | ||||
|         List<SchemaColumnDO> columns = schemaColumnMapper.selectListByTableName("", "inf_config"); | ||||
|         assertTrue(columns.size() > 0); | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,4 @@ | ||||
| /** | ||||
|  * 占位 | ||||
|  */ | ||||
| package cn.iocoder.yudao.module.tool.dal.mysql; | ||||
| @@ -0,0 +1,4 @@ | ||||
| /** | ||||
|  * 占位 | ||||
|  */ | ||||
| package cn.iocoder.yudao.module.tool.dal; | ||||
| @@ -0,0 +1,34 @@ | ||||
| package cn.iocoder.yudao.module.tool.service.codegen; | ||||
|  | ||||
| import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenColumnDO; | ||||
| import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenTableDO; | ||||
| import cn.iocoder.yudao.module.tool.dal.mysql.codegen.CodegenColumnMapper; | ||||
| import cn.iocoder.yudao.module.tool.dal.mysql.codegen.CodegenTableMapper; | ||||
| import cn.iocoder.yudao.module.tool.service.codegen.inner.CodegenEngine; | ||||
| import cn.iocoder.yudao.module.tool.test.BaseDbUnitTest; | ||||
| import org.junit.jupiter.api.Test; | ||||
|  | ||||
| import javax.annotation.Resource; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
|  | ||||
| public class CodegenEngineTest extends BaseDbUnitTest { | ||||
|  | ||||
|     @Resource | ||||
|     private CodegenTableMapper codegenTableMapper; | ||||
|     @Resource | ||||
|     private CodegenColumnMapper codegenColumnMapper; | ||||
|  | ||||
|     @Resource | ||||
|     private CodegenEngine codegenEngine; | ||||
|  | ||||
|     @Test | ||||
|     public void testExecute() { | ||||
|         CodegenTableDO table = codegenTableMapper.selectById(20); | ||||
|         List<CodegenColumnDO> columns = codegenColumnMapper.selectListByTableId(table.getId()); | ||||
|         Map<String, String> result = codegenEngine.execute(table, columns); | ||||
|         result.forEach((s, s2) -> System.out.println(s2)); | ||||
| //        System.out.println(result.get("vue/views/system/test/index.vue")); | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,29 @@ | ||||
| package cn.iocoder.yudao.module.tool.service.codegen; | ||||
|  | ||||
| import cn.iocoder.yudao.module.tool.service.codegen.inner.CodegenSQLParser; | ||||
| import cn.iocoder.yudao.module.tool.test.BaseDbUnitTest; | ||||
| import org.junit.jupiter.api.Test; | ||||
|  | ||||
| public class CodegenSQLParserTest extends BaseDbUnitTest { | ||||
|  | ||||
|     @Test | ||||
|     public void testParse() { | ||||
|         String sql = "CREATE TABLE `tool_test_demo` (\n" + | ||||
|                 "  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',\n" + | ||||
|                 "  `name` varchar(100) NOT NULL DEFAULT '' COMMENT '名字',\n" + | ||||
|                 "  `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态',\n" + | ||||
|                 "  `type` tinyint(4) NOT NULL COMMENT '类型',\n" + | ||||
|                 "  `category` tinyint(4) NOT NULL COMMENT '分类',\n" + | ||||
|                 "  `remark` varchar(500) DEFAULT NULL COMMENT '备注',\n" + | ||||
|                 "  `create_by` varchar(64) DEFAULT '' COMMENT '创建者',\n" + | ||||
|                 "  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',\n" + | ||||
|                 "  `update_by` varchar(64) DEFAULT '' COMMENT '更新者',\n" + | ||||
|                 "  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',\n" + | ||||
|                 "  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',\n" + | ||||
|                 "  PRIMARY KEY (`id`) USING BTREE\n" + | ||||
|                 ") ENGINE=InnoDB AUTO_INCREMENT=108 DEFAULT CHARSET=utf8mb4 COMMENT='字典类型表';"; | ||||
|         CodegenSQLParser.parse(sql); | ||||
|         // TODO 芋艿:后续完善断言 | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,20 @@ | ||||
| package cn.iocoder.yudao.module.tool.service.codegen; | ||||
|  | ||||
| import cn.iocoder.yudao.module.tool.test.BaseDbUnitTest; | ||||
| import org.junit.jupiter.api.Test; | ||||
|  | ||||
| import javax.annotation.Resource; | ||||
|  | ||||
| class CodegenServiceImplTest extends BaseDbUnitTest { | ||||
|  | ||||
|     @Resource | ||||
|     private CodegenServiceImpl codegenService; | ||||
|  | ||||
|     @Test | ||||
|     public void tetCreateCodegenTable() { | ||||
|         codegenService.createCodegen(0L, "tool_test_demo"); | ||||
| //        toolCodegenService.createCodegenTable("tool_codegen_table"); | ||||
| //        toolCodegenService.createCodegen("tool_codegen_column"); | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,4 @@ | ||||
| /** | ||||
|  * 占位 | ||||
|  */ | ||||
| package cn.iocoder.yudao.module.tool.service; | ||||
| @@ -0,0 +1,38 @@ | ||||
| package cn.iocoder.yudao.module.tool.test; | ||||
|  | ||||
| import cn.iocoder.yudao.framework.datasource.config.YudaoDataSourceAutoConfiguration; | ||||
| import cn.iocoder.yudao.framework.mybatis.config.YudaoMybatisAutoConfiguration; | ||||
| import cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration; | ||||
| import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration; | ||||
| import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration; | ||||
| import org.redisson.spring.starter.RedissonAutoConfiguration; | ||||
| import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; | ||||
| import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; | ||||
| import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration; | ||||
| import org.springframework.boot.test.context.SpringBootTest; | ||||
| import org.springframework.context.annotation.Import; | ||||
| import org.springframework.test.context.ActiveProfiles; | ||||
|  | ||||
| @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = BaseDbAndRedisIntegrationTest.Application.class) | ||||
| @ActiveProfiles("integration-test") // 设置使用 application-integration-test 配置文件 | ||||
| public class BaseDbAndRedisIntegrationTest { | ||||
|  | ||||
|     @Import({ | ||||
|             // DB 配置类 | ||||
|             DynamicDataSourceAutoConfiguration.class, // Dynamic Datasource 配置类 | ||||
|             YudaoDataSourceAutoConfiguration.class, // 自己的 DB 配置类 | ||||
|             DataSourceAutoConfiguration.class, // Spring DB 自动配置类 | ||||
|             DataSourceTransactionManagerAutoConfiguration.class, // Spring 事务自动配置类 | ||||
|             // MyBatis 配置类 | ||||
|             YudaoMybatisAutoConfiguration.class, // 自己的 MyBatis 配置类 | ||||
|             MybatisPlusAutoConfiguration.class, // MyBatis 的自动配置类 | ||||
|  | ||||
|             // Redis 配置类 | ||||
|             RedisAutoConfiguration.class, // Spring Redis 自动配置类 | ||||
|             YudaoRedisAutoConfiguration.class, // 自己的 Redis 配置类 | ||||
|             RedissonAutoConfiguration.class, // Redisson 自动高配置类 | ||||
|     }) | ||||
|     public static class Application { | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,23 @@ | ||||
| package cn.iocoder.yudao.module.tool.test; | ||||
|  | ||||
| import cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration; | ||||
| import org.redisson.spring.starter.RedissonAutoConfiguration; | ||||
| import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; | ||||
| import org.springframework.boot.test.context.SpringBootTest; | ||||
| import org.springframework.context.annotation.Import; | ||||
| import org.springframework.test.context.ActiveProfiles; | ||||
|  | ||||
| @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = BaseRedisIntegrationTest.Application.class) | ||||
| @ActiveProfiles("integration-test") // 设置使用 application-integration-test 配置文件 | ||||
| public class BaseRedisIntegrationTest { | ||||
|  | ||||
|     @Import({ | ||||
|             // Redis 配置类 | ||||
|             RedisAutoConfiguration.class, // Spring Redis 自动配置类 | ||||
|             YudaoRedisAutoConfiguration.class, // 自己的 Redis 配置类 | ||||
|             RedissonAutoConfiguration.class, // Redisson 自动高配置类 | ||||
|     }) | ||||
|     public static class Application { | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,108 @@ | ||||
| spring: | ||||
|   main: | ||||
|     lazy-initialization: true # 开启懒加载,加快速度 | ||||
|     banner-mode: off # 单元测试,禁用 Banner | ||||
|  | ||||
| --- #################### 数据库相关配置 #################### | ||||
|  | ||||
| spring: | ||||
|   # 数据源配置项 | ||||
|   autoconfigure: | ||||
|     exclude: | ||||
|       - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源 | ||||
|   datasource: | ||||
|     druid: # Druid 【监控】相关的全局配置 | ||||
|       web-stat-filter: | ||||
|         enabled: true | ||||
|       stat-view-servlet: | ||||
|         enabled: true | ||||
|         allow: # 设置白名单,不填则允许所有访问 | ||||
|         url-pattern: /druid/* | ||||
|         login-username: # 控制台管理用户名和密码 | ||||
|         login-password: | ||||
|       filter: | ||||
|         stat: | ||||
|           enabled: true | ||||
|           log-slow-sql: true # 慢 SQL 记录 | ||||
|           slow-sql-millis: 100 | ||||
|           merge-sql: true | ||||
|         wall: | ||||
|           config: | ||||
|             multi-statement-allow: true | ||||
|     dynamic: # 多数据源配置 | ||||
|       druid: # Druid 【连接池】相关的全局配置 | ||||
|         initial-size: 5 # 初始连接数 | ||||
|         min-idle: 10 # 最小连接池数量 | ||||
|         max-active: 20 # 最大连接池数量 | ||||
|         max-wait: 600000 # 配置获取连接等待超时的时间,单位:毫秒 | ||||
|         time-between-eviction-runs-millis: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位:毫秒 | ||||
|         min-evictable-idle-time-millis: 300000 # 配置一个连接在池中最小生存的时间,单位:毫秒 | ||||
|         max-evictable-idle-time-millis: 900000 # 配置一个连接在池中最大生存的时间,单位:毫秒 | ||||
|         validation-query: SELECT 1 FROM DUAL # 配置检测连接是否有效 | ||||
|         test-while-idle: true | ||||
|         test-on-borrow: false | ||||
|         test-on-return: false | ||||
|       primary: master | ||||
|       datasource: | ||||
|         master: | ||||
|           name: ruoyi-vue-pro | ||||
|           url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT | ||||
|           driver-class-name: com.mysql.jdbc.Driver | ||||
|           username: root | ||||
|           password: 123456 | ||||
|         slave: # 模拟从库,可根据自己需要修改 | ||||
|           name: ruoyi-vue-pro | ||||
|           url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT | ||||
|           driver-class-name: com.mysql.jdbc.Driver | ||||
|           username: root | ||||
|           password: 123456 | ||||
|  | ||||
|   # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 | ||||
|   redis: | ||||
|     host: 127.0.0.1 # 地址 | ||||
|     port: 6379 # 端口 | ||||
|     database: 0 # 数据库索引 | ||||
|  | ||||
| mybatis: | ||||
|   lazy-initialization: true # 单元测试,设置 MyBatis Mapper 延迟加载,加速每个单元测试 | ||||
|  | ||||
| --- #################### 定时任务相关配置 #################### | ||||
|  | ||||
| --- #################### 配置中心相关配置 #################### | ||||
|  | ||||
| --- #################### 服务保障相关配置 #################### | ||||
|  | ||||
| # Lock4j 配置项(单元测试,禁用 Lock4j) | ||||
|  | ||||
| # Resilience4j 配置项 | ||||
| resilience4j: | ||||
|   ratelimiter: | ||||
|     instances: | ||||
|       backendA: | ||||
|         limit-for-period: 1 # 每个周期内,允许的请求数。默认为 50 | ||||
|         limit-refresh-period: 60s # 每个周期的时长,单位:微秒。默认为 500 | ||||
|         timeout-duration: 1s # 被限流时,阻塞等待的时长,单位:微秒。默认为 5s | ||||
|         register-health-indicator: true # 是否注册到健康监测 | ||||
|  | ||||
| --- #################### 监控相关配置 #################### | ||||
|  | ||||
| --- #################### 芋道相关配置 #################### | ||||
|  | ||||
| # 芋道配置项,设置当前项目所有自定义的配置 | ||||
| yudao: | ||||
|   security: | ||||
|     token-header: Authorization | ||||
|     token-secret: abcdefghijklmnopqrstuvwxyz | ||||
|     token-timeout: 1d | ||||
|     session-timeout: 30m | ||||
|     mock-enable: true | ||||
|     mock-secret: test | ||||
|   swagger: | ||||
|     enable: false # 单元测试,禁用 Swagger | ||||
|   file: | ||||
|     base-path: http://127.0.0.1:${server.port}/${yudao.web.api-prefix}/file/get/ | ||||
|   xss: | ||||
|     enable: false | ||||
|     exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系 | ||||
|       - ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求 | ||||
|       - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求 | ||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV