Commit bb0110656b1ff798799be60900fbf54fe549a0c7

Authored by 芋道源码
Committed by Gitee
2 parents 3e0d7d87 348a0ff0

!440 test: job 租户单元测试

Merge pull request !440 from 与或非/test/tenant-job
yudao-framework/yudao-spring-boot-starter-biz-tenant/pom.xml
@@ -52,8 +52,8 @@ @@ -52,8 +52,8 @@
52 52
53 <!-- Test 测试相关 --> 53 <!-- Test 测试相关 -->
54 <dependency> 54 <dependency>
55 - <groupId>org.springframework.boot</groupId>  
56 - <artifactId>spring-boot-starter-test</artifactId> 55 + <groupId>cn.iocoder.boot</groupId>
  56 + <artifactId>yudao-spring-boot-starter-test</artifactId>
57 <scope>test</scope> 57 <scope>test</scope>
58 </dependency> 58 </dependency>
59 59
yudao-framework/yudao-spring-boot-starter-biz-tenant/src/test/java/cn/iocoder/yudao/framework/tenant/core/job/TenantJobTest.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.tenant.core.job;
  2 +
  3 +import cn.iocoder.yudao.framework.tenant.core.service.TenantFrameworkService;
  4 +import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest;
  5 +import com.google.common.collect.Lists;
  6 +import org.junit.jupiter.api.Test;
  7 +import org.mockito.Mock;
  8 +import org.mockito.Mockito;
  9 +
  10 +import java.util.List;
  11 +
  12 +import static org.junit.jupiter.api.Assertions.assertEquals;
  13 +
  14 +/**
  15 + * 验证 job 租户逻辑
  16 + * {@link TenantJobHandlerDecorator}
  17 + *
  18 + * @author gaibu
  19 + */
  20 +public class TenantJobTest extends BaseMockitoUnitTest {
  21 +
  22 + @Mock
  23 + TenantFrameworkService tenantFrameworkService;
  24 +
  25 + @Test
  26 + public void test() throws Exception {
  27 + // 准备测试租户 id
  28 + List<Long> tenantIds = Lists.newArrayList(1L, 2L, 3L);
  29 + // mock 数据
  30 + Mockito.doReturn(tenantIds).when(tenantFrameworkService).getTenantIds();
  31 + // 准备测试任务
  32 + TestJob testJob = new TestJob();
  33 + // 创建任务装饰器
  34 + TenantJobHandlerDecorator tenantJobHandlerDecorator = new TenantJobHandlerDecorator(tenantFrameworkService, testJob);
  35 +
  36 + // 执行任务
  37 + tenantJobHandlerDecorator.execute(null);
  38 +
  39 + // 断言返回值
  40 + assertEquals(testJob.getTenantIds(), tenantIds);
  41 + }
  42 +}
yudao-framework/yudao-spring-boot-starter-biz-tenant/src/test/java/cn/iocoder/yudao/framework/tenant/core/job/TestJob.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.tenant.core.job;
  2 +
  3 +import cn.hutool.core.collection.CollUtil;
  4 +import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler;
  5 +import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
  6 +import org.springframework.stereotype.Component;
  7 +
  8 +import java.util.List;
  9 +import java.util.concurrent.CopyOnWriteArrayList;
  10 +
  11 +@Component
  12 +@TenantJob // 标记多租户
  13 +public class TestJob implements JobHandler {
  14 +
  15 + private final List<Long> tenantIds = new CopyOnWriteArrayList<>();
  16 +
  17 + @Override
  18 + public String execute(String param) throws Exception {
  19 + tenantIds.add(TenantContextHolder.getTenantId());
  20 + return "success";
  21 + }
  22 +
  23 + public List<Long> getTenantIds() {
  24 + CollUtil.sort(tenantIds, Long::compareTo);
  25 + return tenantIds;
  26 + }
  27 +}