mirror of
				https://github.com/YunaiV/ruoyi-vue-pro.git
				synced 2025-10-31 10:37:41 +08:00 
			
		
		
		
	| @ -52,8 +52,8 @@ | ||||
|  | ||||
|         <!-- Test 测试相关 --> | ||||
|         <dependency> | ||||
|             <groupId>org.springframework.boot</groupId> | ||||
|             <artifactId>spring-boot-starter-test</artifactId> | ||||
|             <groupId>cn.iocoder.boot</groupId> | ||||
|             <artifactId>yudao-spring-boot-starter-test</artifactId> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
|  | ||||
|  | ||||
| @ -0,0 +1,42 @@ | ||||
| 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.Mock; | ||||
| import org.mockito.Mockito; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import static org.junit.jupiter.api.Assertions.assertEquals; | ||||
|  | ||||
| /** | ||||
|  * 验证 job 租户逻辑 | ||||
|  * {@link TenantJobHandlerDecorator} | ||||
|  * | ||||
|  * @author gaibu | ||||
|  */ | ||||
| public class TenantJobTest extends BaseMockitoUnitTest { | ||||
|  | ||||
|     @Mock | ||||
|     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,27 @@ | ||||
| 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
	 芋道源码
					芋道源码