mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 02:08:43 +08:00 
			
		
		
		
	test: job 租户单元测试
This commit is contained in:
		| @@ -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; | ||||||
|  |     } | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user
	 gaibu
					gaibu