Browse Source

多模块重构 13:迁移集成测试~

YunaiV 3 years ago
parent
commit
61672e0180
21 changed files with 287 additions and 119 deletions
  1. 2 0
      yudao-framework/yudao-spring-boot-starter-job/pom.xml
  2. 10 10
      yudao-module-system/yudao-module-system-impl/src/test-integration/java/cn/iocoder/yudao/module/system/job/SchedulerManagerTest.java
  3. 13 14
      yudao-module-system/yudao-module-system-impl/src/test-integration/java/cn/iocoder/yudao/module/system/mq/RedisStreamTest.java
  4. 4 0
      yudao-module-system/yudao-module-system-impl/src/test-integration/java/cn/iocoder/yudao/module/system/service/package-info.java
  5. 10 14
      yudao-module-system/yudao-module-system-impl/src/test-integration/java/cn/iocoder/yudao/module/system/service/sms/SmsServiceIntegrationTest.java
  6. 38 0
      yudao-module-system/yudao-module-system-impl/src/test-integration/java/cn/iocoder/yudao/module/system/test/BaseDbAndRedisIntegrationTest.java
  7. 23 0
      yudao-module-system/yudao-module-system-impl/src/test-integration/java/cn/iocoder/yudao/module/system/test/BaseRedisIntegrationTest.java
  8. 0 0
      yudao-module-system/yudao-module-system-impl/src/test-integration/resources/application-integration-test.yaml
  9. 23 0
      yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/dal/mysql/codegen/SchemaColumnMapperTest.java
  10. 4 0
      yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/dal/mysql/package-info.java
  11. 4 0
      yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/dal/package-info.java
  12. 34 0
      yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/service/codegen/CodegenEngineTest.java
  13. 4 4
      yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/service/codegen/CodegenSQLParserTest.java
  14. 4 5
      yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/service/codegen/CodegenServiceImplTest.java
  15. 4 0
      yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/service/package-info.java
  16. 1 1
      yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/test/BaseDbAndRedisIntegrationTest.java
  17. 1 1
      yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/test/BaseRedisIntegrationTest.java
  18. 108 0
      yudao-module-tool/yudao-module-tool-impl/src/test-integration/resources/application-integration-test.yaml
  19. 0 24
      yudao-server/src/test-integration/java/cn/iocoder/yudao/adminserver/modules/tool/dal/mysql/codegen/ToolInformationSchemaColumnMapperTest.java
  20. 0 12
      yudao-server/src/test-integration/java/cn/iocoder/yudao/adminserver/modules/tool/dal/mysql/codegen/ToolInformationSchemaTableMapperTest.java
  21. 0 34
      yudao-server/src/test-integration/java/cn/iocoder/yudao/adminserver/modules/tool/service/codegen/ToolCodegenEngineTest.java

+ 2 - 0
yudao-framework/yudao-spring-boot-starter-job/pom.xml

@@ -35,6 +35,8 @@
             <groupId>jakarta.validation</groupId>
             <artifactId>jakarta.validation-api</artifactId>
         </dependency>
+
+
     </dependencies>
 
 </project>

+ 10 - 10
yudao-server/src/test-integration/java/cn/iocoder/yudao/adminserver/framework/quartz/core/SchedulerManagerTest.java → yudao-module-system/yudao-module-system-impl/src/test-integration/java/cn/iocoder/yudao/module/system/job/SchedulerManagerTest.java

@@ -1,52 +1,52 @@
-package cn.iocoder.yudao.server.framework.quartz.core;
+package cn.iocoder.yudao.module.system.job;
 
 import cn.hutool.core.util.StrUtil;
-import cn.iocoder.yudao.server.BaseDbUnitTest;
-import cn.iocoder.yudao.module.system.job.auth.SysUserSessionTimeoutJob;
 import cn.iocoder.yudao.framework.quartz.core.scheduler.SchedulerManager;
+import cn.iocoder.yudao.module.system.job.auth.UserSessionTimeoutJob;
+import cn.iocoder.yudao.module.system.test.BaseDbUnitTest;
 import org.junit.jupiter.api.Test;
 import org.quartz.SchedulerException;
 
 import javax.annotation.Resource;
 
-class SchedulerManagerTest extends BaseDbUnitTest {
+public class SchedulerManagerTest extends BaseDbUnitTest {
 
     @Resource
     private SchedulerManager schedulerManager;
 
     @Test
     public void testAddJob() throws SchedulerException {
-        String jobHandlerName = StrUtil.lowerFirst(SysUserSessionTimeoutJob.class.getSimpleName());
+        String jobHandlerName = StrUtil.lowerFirst(UserSessionTimeoutJob.class.getSimpleName());
         schedulerManager.addJob(1L, jobHandlerName, "test", "0/10 * * * * ? *", 0, 0);
     }
 
     @Test
     public void testUpdateJob() throws SchedulerException {
-        String jobHandlerName = StrUtil.lowerFirst(SysUserSessionTimeoutJob.class.getSimpleName());
+        String jobHandlerName = StrUtil.lowerFirst(UserSessionTimeoutJob.class.getSimpleName());
         schedulerManager.updateJob(jobHandlerName, "hahaha", "0/20 * * * * ? *", 0, 0);
     }
 
     @Test
     public void testDeleteJob() throws SchedulerException {
-        String jobHandlerName = StrUtil.lowerFirst(SysUserSessionTimeoutJob.class.getSimpleName());
+        String jobHandlerName = StrUtil.lowerFirst(UserSessionTimeoutJob.class.getSimpleName());
         schedulerManager.deleteJob(jobHandlerName);
     }
 
     @Test
     public void testPauseJob() throws SchedulerException {
-        String jobHandlerName = StrUtil.lowerFirst(SysUserSessionTimeoutJob.class.getSimpleName());
+        String jobHandlerName = StrUtil.lowerFirst(UserSessionTimeoutJob.class.getSimpleName());
         schedulerManager.pauseJob(jobHandlerName);
     }
 
     @Test
     public void testResumeJob() throws SchedulerException {
-        String jobHandlerName = StrUtil.lowerFirst(SysUserSessionTimeoutJob.class.getSimpleName());
+        String jobHandlerName = StrUtil.lowerFirst(UserSessionTimeoutJob.class.getSimpleName());
         schedulerManager.resumeJob(jobHandlerName);
     }
 
     @Test
     public void testTriggerJob() throws SchedulerException {
-        String jobHandlerName = StrUtil.lowerFirst(SysUserSessionTimeoutJob.class.getSimpleName());
+        String jobHandlerName = StrUtil.lowerFirst(UserSessionTimeoutJob.class.getSimpleName());
         schedulerManager.triggerJob(1L, jobHandlerName, "niubi!!!");
     }
 

+ 13 - 14
yudao-server/src/test-integration/java/cn/iocoder/yudao/adminserver/framework/redis/core/stream/RedisStreamTest.java → yudao-module-system/yudao-module-system-impl/src/test-integration/java/cn/iocoder/yudao/module/system/mq/RedisStreamTest.java

@@ -1,24 +1,23 @@
-package cn.iocoder.yudao.server.framework.redis.core.stream;
+package cn.iocoder.yudao.module.system.mq;
 
 import cn.hutool.core.thread.ThreadUtil;
-import cn.iocoder.yudao.server.BaseRedisIntegrationTest;
-import cn.iocoder.yudao.module.system.mq.consumer.mail.SysMailSendConsumer;
-import cn.iocoder.yudao.module.system.mq.consumer.sms.SysSmsSendConsumer;
-import cn.iocoder.yudao.module.system.mq.message.mail.SysMailSendMessage;
-import cn.iocoder.yudao.module.system.mq.message.sms.SysSmsSendMessage;
-import cn.iocoder.yudao.framework.mq.core.util.RedisMessageUtils;
+import cn.iocoder.yudao.framework.mq.core.RedisMQTemplate;
+import cn.iocoder.yudao.module.system.mq.consumer.mail.MailSendConsumer;
+import cn.iocoder.yudao.module.system.mq.consumer.sms.SmsSendConsumer;
+import cn.iocoder.yudao.module.system.mq.message.mail.MailSendMessage;
+import cn.iocoder.yudao.module.system.mq.message.sms.SmsSendMessage;
+import cn.iocoder.yudao.module.system.test.BaseRedisIntegrationTest;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.springframework.context.annotation.Import;
 import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.core.StringRedisTemplate;
 
 import javax.annotation.Resource;
 import java.util.concurrent.TimeUnit;
 
 public class RedisStreamTest  {
 
-    @Import({SysSmsSendConsumer.class, SysMailSendConsumer.class})
+    @Import({SmsSendConsumer.class, MailSendConsumer.class})
     @Disabled
     public static class ConsumerTest extends BaseRedisIntegrationTest {
 
@@ -33,7 +32,7 @@ public class RedisStreamTest  {
     public static class ProducerTest extends BaseRedisIntegrationTest {
 
         @Resource
-        private StringRedisTemplate stringRedisTemplate;
+        private RedisMQTemplate redisMQTemplate;
 
         @Resource
         private RedisTemplate<String, Object> redisTemplate;
@@ -42,20 +41,20 @@ public class RedisStreamTest  {
         public void testProducer01() {
             for (int i = 0; i < 100; i++) {
                 // 创建消息
-                SysSmsSendMessage message = new SysSmsSendMessage();
+                SmsSendMessage message = new SmsSendMessage();
                 message.setMobile("15601691300").setApiTemplateId("test:" + i);
                 // 发送消息
-                RedisMessageUtils.sendStreamMessage(stringRedisTemplate, message);
+                redisMQTemplate.send(message);
             }
         }
 
         @Test
         public void testProducer02() {
             // 创建消息
-            SysMailSendMessage message = new SysMailSendMessage();
+            MailSendMessage message = new MailSendMessage();
             message.setAddress("fangfang@mihayou.com").setTemplateCode("test");
             // 发送消息
-            RedisMessageUtils.sendStreamMessage(stringRedisTemplate, message);
+            redisMQTemplate.send(message);
         }
 
     }

+ 4 - 0
yudao-module-system/yudao-module-system-impl/src/test-integration/java/cn/iocoder/yudao/module/system/service/package-info.java

@@ -0,0 +1,4 @@
+/**
+ * 占位
+ */
+package cn.iocoder.yudao.module.system.service;

+ 10 - 14
yudao-server/src/test-integration/java/cn/iocoder/yudao/adminserver/modules/system/service/sms/SysSmsServiceIntegrationTest.java → yudao-module-system/yudao-module-system-impl/src/test-integration/java/cn/iocoder/yudao/module/system/service/sms/SmsServiceIntegrationTest.java

@@ -2,16 +2,12 @@ package cn.iocoder.yudao.module.system.service.sms;
 
 import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.thread.ThreadUtil;
-import cn.iocoder.yudao.server.BaseDbAndRedisIntegrationTest;
-import cn.iocoder.yudao.module.system.mq.consumer.sms.SysSmsSendConsumer;
-import cn.iocoder.yudao.module.system.mq.producer.sms.SysSmsProducer;
-import cn.iocoder.yudao.module.system.service.sms.impl.SysSmsChannelServiceImpl;
-import cn.iocoder.yudao.module.system.service.sms.impl.SysSmsLogServiceImpl;
-import cn.iocoder.yudao.module.system.service.sms.impl.SysSmsTemplateServiceImpl;
-import cn.iocoder.yudao.module.system.service.user.SysUserService;
-import cn.iocoder.yudao.module.system.service.sms.impl.SysSmsCoreServiceImpl;
 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
 import cn.iocoder.yudao.framework.sms.config.YudaoSmsAutoConfiguration;
+import cn.iocoder.yudao.module.system.test.BaseDbAndRedisIntegrationTest;
+import cn.iocoder.yudao.module.system.mq.consumer.sms.SmsSendConsumer;
+import cn.iocoder.yudao.module.system.mq.producer.sms.SmsProducer;
+import cn.iocoder.yudao.module.system.service.user.AdminUserService;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.context.annotation.Import;
@@ -22,17 +18,17 @@ import java.util.concurrent.TimeUnit;
 
 // TODO @芋艿:需要迁移
 @Import({YudaoSmsAutoConfiguration.class,
-        SysSmsChannelServiceImpl.class, SysSmsCoreServiceImpl.class, SysSmsTemplateServiceImpl.class, SysSmsLogServiceImpl.class,
-        SysSmsProducer.class, SysSmsSendConsumer.class})
-public class SysSmsServiceIntegrationTest extends BaseDbAndRedisIntegrationTest {
+        SmsChannelServiceImpl.class, SmsSendServiceImpl.class, SmsTemplateServiceImpl.class, SmsLogServiceImpl.class,
+        SmsProducer.class, SmsSendConsumer.class})
+public class SmsServiceIntegrationTest extends BaseDbAndRedisIntegrationTest {
 
     @Resource
-    private SysSmsCoreServiceImpl smsService;
+    private SmsSendServiceImpl smsService;
     @Resource
-    private SysSmsChannelServiceImpl smsChannelService;
+    private SmsChannelServiceImpl smsChannelService;
 
     @MockBean
-    private SysUserService userService;
+    private AdminUserService userService;
 
     @Test
     public void testSendSingleSms_yunpianSuccess() {

+ 38 - 0
yudao-module-system/yudao-module-system-impl/src/test-integration/java/cn/iocoder/yudao/module/system/test/BaseDbAndRedisIntegrationTest.java

@@ -0,0 +1,38 @@
+package cn.iocoder.yudao.module.system.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 {
+    }
+
+}

+ 23 - 0
yudao-module-system/yudao-module-system-impl/src/test-integration/java/cn/iocoder/yudao/module/system/test/BaseRedisIntegrationTest.java

@@ -0,0 +1,23 @@
+package cn.iocoder.yudao.module.system.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
yudao-server/src/test-integration/resources/application-integration-test.yaml → yudao-module-system/yudao-module-system-impl/src/test-integration/resources/application-integration-test.yaml


+ 23 - 0
yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/dal/mysql/codegen/SchemaColumnMapperTest.java

@@ -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);
+    }
+
+}

+ 4 - 0
yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/dal/mysql/package-info.java

@@ -0,0 +1,4 @@
+/**
+ * 占位
+ */
+package cn.iocoder.yudao.module.tool.dal.mysql;

+ 4 - 0
yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/dal/package-info.java

@@ -0,0 +1,4 @@
+/**
+ * 占位
+ */
+package cn.iocoder.yudao.module.tool.dal;

+ 34 - 0
yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/service/codegen/CodegenEngineTest.java

@@ -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"));
+    }
+
+}

+ 4 - 4
yudao-server/src/test-integration/java/cn/iocoder/yudao/adminserver/modules/tool/service/codegen/ToolCodegenSQLParserTest.java → yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/service/codegen/CodegenSQLParserTest.java

@@ -1,10 +1,10 @@
 package cn.iocoder.yudao.module.tool.service.codegen;
 
-import cn.iocoder.yudao.server.BaseDbUnitTest;
-import cn.iocoder.yudao.module.tool.service.codegen.impl.ToolCodegenSQLParser;
+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 ToolCodegenSQLParserTest extends BaseDbUnitTest {
+public class CodegenSQLParserTest extends BaseDbUnitTest {
 
     @Test
     public void testParse() {
@@ -22,7 +22,7 @@ public class ToolCodegenSQLParserTest extends BaseDbUnitTest {
                 "  `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='字典类型表';";
-        ToolCodegenSQLParser.parse(sql);
+        CodegenSQLParser.parse(sql);
         // TODO 芋艿:后续完善断言
     }
 

+ 4 - 5
yudao-server/src/test-integration/java/cn/iocoder/yudao/adminserver/modules/tool/service/codegen/ToolCodegenServiceImplTest.java → yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/service/codegen/CodegenServiceImplTest.java

@@ -1,19 +1,18 @@
 package cn.iocoder.yudao.module.tool.service.codegen;
 
-import cn.iocoder.yudao.server.BaseDbUnitTest;
-import cn.iocoder.yudao.module.tool.service.codegen.impl.ToolCodegenServiceImpl;
+import cn.iocoder.yudao.module.tool.test.BaseDbUnitTest;
 import org.junit.jupiter.api.Test;
 
 import javax.annotation.Resource;
 
-class ToolCodegenServiceImplTest extends BaseDbUnitTest {
+class CodegenServiceImplTest extends BaseDbUnitTest {
 
     @Resource
-    private ToolCodegenServiceImpl toolCodegenService;
+    private CodegenServiceImpl codegenService;
 
     @Test
     public void tetCreateCodegenTable() {
-        toolCodegenService.createCodegen("tool_test_demo");
+        codegenService.createCodegen(0L, "tool_test_demo");
 //        toolCodegenService.createCodegenTable("tool_codegen_table");
 //        toolCodegenService.createCodegen("tool_codegen_column");
     }

+ 4 - 0
yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/service/package-info.java

@@ -0,0 +1,4 @@
+/**
+ * 占位
+ */
+package cn.iocoder.yudao.module.tool.service;

+ 1 - 1
yudao-server/src/test-integration/java/cn/iocoder/yudao/adminserver/BaseDbAndRedisIntegrationTest.java → yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/test/BaseDbAndRedisIntegrationTest.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.server;
+package cn.iocoder.yudao.module.tool.test;
 
 import cn.iocoder.yudao.framework.datasource.config.YudaoDataSourceAutoConfiguration;
 import cn.iocoder.yudao.framework.mybatis.config.YudaoMybatisAutoConfiguration;

+ 1 - 1
yudao-server/src/test-integration/java/cn/iocoder/yudao/adminserver/BaseRedisIntegrationTest.java → yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/test/BaseRedisIntegrationTest.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.server;
+package cn.iocoder.yudao.module.tool.test;
 
 import cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration;
 import org.redisson.spring.starter.RedissonAutoConfiguration;

+ 108 - 0
yudao-module-tool/yudao-module-tool-impl/src/test-integration/resources/application-integration-test.yaml

@@ -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 的请求

+ 0 - 24
yudao-server/src/test-integration/java/cn/iocoder/yudao/adminserver/modules/tool/dal/mysql/codegen/ToolInformationSchemaColumnMapperTest.java

@@ -1,24 +0,0 @@
-package cn.iocoder.yudao.module.tool.dal.mysql.codegen;
-
-import cn.iocoder.yudao.server.BaseDbUnitTest;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.ToolSchemaColumnDO;
-import org.junit.jupiter.api.Test;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class ToolInformationSchemaColumnMapperTest extends BaseDbUnitTest {
-
-    @Resource
-    private ToolSchemaColumnMapper toolInformationSchemaColumnMapper;
-
-    @Test
-    public void testSelectListByTableName() {
-        List<ToolSchemaColumnDO> columns = toolInformationSchemaColumnMapper
-                .selectListByTableName("", "inf_config");
-        assertTrue(columns.size() > 0);
-    }
-
-}

+ 0 - 12
yudao-server/src/test-integration/java/cn/iocoder/yudao/adminserver/modules/tool/dal/mysql/codegen/ToolInformationSchemaTableMapperTest.java

@@ -1,12 +0,0 @@
-package cn.iocoder.yudao.module.tool.dal.mysql.codegen;
-
-import cn.iocoder.yudao.server.BaseDbUnitTest;
-
-import javax.annotation.Resource;
-
-class ToolInformationSchemaTableMapperTest extends BaseDbUnitTest {
-
-    @Resource
-    private ToolSchemaTableMapper toolInformationSchemaTableMapper;
-
-}

+ 0 - 34
yudao-server/src/test-integration/java/cn/iocoder/yudao/adminserver/modules/tool/service/codegen/ToolCodegenEngineTest.java

@@ -1,34 +0,0 @@
-package cn.iocoder.yudao.module.tool.service.codegen;
-
-import cn.iocoder.yudao.server.BaseDbUnitTest;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.ToolCodegenColumnDO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.ToolCodegenTableDO;
-import cn.iocoder.yudao.module.tool.dal.mysql.codegen.ToolCodegenColumnMapper;
-import cn.iocoder.yudao.module.tool.dal.mysql.codegen.ToolCodegenTableMapper;
-import cn.iocoder.yudao.module.tool.service.codegen.impl.ToolCodegenEngine;
-import org.junit.jupiter.api.Test;
-
-import javax.annotation.Resource;
-import java.util.List;
-import java.util.Map;
-
-public class ToolCodegenEngineTest extends BaseDbUnitTest {
-
-    @Resource
-    private ToolCodegenTableMapper codegenTableMapper;
-    @Resource
-    private ToolCodegenColumnMapper codegenColumnMapper;
-
-    @Resource
-    private ToolCodegenEngine codegenEngine;
-
-    @Test
-    public void testExecute() {
-        ToolCodegenTableDO table = codegenTableMapper.selectById(20);
-        List<ToolCodegenColumnDO> 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"));
-    }
-
-}