Commit b54c5eaa45e96ceebcaa1b3466c635781fd488e0

Authored by gaibu
1 parent 467170d3

test: job 租户单元测试

yudao-framework/yudao-spring-boot-starter-biz-tenant/pom.xml
... ... @@ -52,8 +52,8 @@
52 52  
53 53 <!-- Test 测试相关 -->
54 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 57 <scope>test</scope>
58 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.Mockito;
  8 +import org.mockito.Spy;
  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 + @Spy
  22 + TenantFrameworkService tenantFrameworkService;
  23 +
  24 + @Test
  25 + public void test() throws Exception {
  26 + // 准备测试租户 id
  27 + List<Long> tenantIds = Lists.newArrayList(1L, 2L, 3L);
  28 + // mock 数据
  29 + Mockito.doReturn(tenantIds).when(tenantFrameworkService).getTenantIds();
  30 + // 准备测试任务
  31 + TestJob testJob = new TestJob();
  32 + // 创建任务装饰器
  33 + TenantJobHandlerDecorator tenantJobHandlerDecorator = new TenantJobHandlerDecorator(tenantFrameworkService, testJob);
  34 + // 执行任务
  35 + tenantJobHandlerDecorator.execute(null);
  36 + // 断言返回值
  37 + assertEquals(testJob.getTenantIds(), tenantIds);
  38 + }
  39 +}
... ...
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 + private final List<Long> tenantIds = new CopyOnWriteArrayList<>();
  15 +
  16 + @Override
  17 + public String execute(String param) throws Exception {
  18 + tenantIds.add(TenantContextHolder.getTenantId());
  19 + return "success";
  20 + }
  21 +
  22 + public List<Long> getTenantIds() {
  23 + CollUtil.sort(tenantIds, Long::compareTo);
  24 + return tenantIds;
  25 + }
  26 +}
... ...