test: job 租户单元测试
This commit is contained in:
parent
467170d3de
commit
b54c5eaa45
|
@ -52,8 +52,8 @@
|
||||||
|
|
||||||
<!-- Test 测试相关 -->
|
<!-- Test 测试相关 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>cn.iocoder.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-test</artifactId>
|
<artifactId>yudao-spring-boot-starter-test</artifactId>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
package cn.iocoder.yudao.framework.tenant.core.job;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.tenant.core.service.TenantFrameworkService;
|
||||||
|
import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest;
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
import org.mockito.Spy;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证 job 租户逻辑
|
||||||
|
* {@link TenantJobHandlerDecorator}
|
||||||
|
*
|
||||||
|
* @author gaibu
|
||||||
|
*/
|
||||||
|
public class TenantJobTest extends BaseMockitoUnitTest {
|
||||||
|
@Spy
|
||||||
|
TenantFrameworkService tenantFrameworkService;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test() throws Exception {
|
||||||
|
// 准备测试租户 id
|
||||||
|
List<Long> tenantIds = Lists.newArrayList(1L, 2L, 3L);
|
||||||
|
// mock 数据
|
||||||
|
Mockito.doReturn(tenantIds).when(tenantFrameworkService).getTenantIds();
|
||||||
|
// 准备测试任务
|
||||||
|
TestJob testJob = new TestJob();
|
||||||
|
// 创建任务装饰器
|
||||||
|
TenantJobHandlerDecorator tenantJobHandlerDecorator = new TenantJobHandlerDecorator(tenantFrameworkService, testJob);
|
||||||
|
// 执行任务
|
||||||
|
tenantJobHandlerDecorator.execute(null);
|
||||||
|
// 断言返回值
|
||||||
|
assertEquals(testJob.getTenantIds(), tenantIds);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
package cn.iocoder.yudao.framework.tenant.core.job;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler;
|
||||||
|
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.concurrent.CopyOnWriteArrayList;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@TenantJob // 标记多租户
|
||||||
|
public class TestJob implements JobHandler {
|
||||||
|
private final List<Long> tenantIds = new CopyOnWriteArrayList<>();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String execute(String param) throws Exception {
|
||||||
|
tenantIds.add(TenantContextHolder.getTenantId());
|
||||||
|
return "success";
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Long> getTenantIds() {
|
||||||
|
CollUtil.sort(tenantIds, Long::compareTo);
|
||||||
|
return tenantIds;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue