完成上架相关优化、oss迁移
This commit is contained in:
+6
-1
@@ -25,6 +25,7 @@ import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.InOrder;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
|
||||
@@ -33,6 +34,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.isNull;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.inOrder;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
@@ -83,7 +85,10 @@ class TaskHeartbeatServiceTest {
|
||||
|
||||
assertTrue(result.isAlive());
|
||||
assertEquals(PublishTaskService.MODULE_TYPE, result.getModuleType());
|
||||
verify(fileTaskMapper).update(isNull(), any(LambdaUpdateWrapper.class));
|
||||
InOrder routingBeforeUpdate = inOrder(publishTaskService, fileTaskMapper);
|
||||
routingBeforeUpdate.verify(publishTaskService)
|
||||
.ensureTaskOwnedByCurrentInstance(task, "publish task heartbeat");
|
||||
routingBeforeUpdate.verify(fileTaskMapper).update(isNull(), any(LambdaUpdateWrapper.class));
|
||||
verify(publishTaskService).touchHeartbeat(taskId, request);
|
||||
}
|
||||
}
|
||||
|
||||
+17
-1
@@ -93,13 +93,14 @@ class TaskResultFileJobWorkerTest {
|
||||
job.setTaskId(taskId);
|
||||
job.setResultId(resultId);
|
||||
job.setModuleType(PublishTaskService.MODULE_TYPE);
|
||||
job.setScopeKey("publish:20141");
|
||||
job.setScopeKey("task:20141:owner:instance-a");
|
||||
|
||||
FileResultEntity result = new FileResultEntity();
|
||||
result.setResultFileUrl("result/publish/20141.xlsx");
|
||||
TaskDistributedLockService.LockHandle lock = mock(TaskDistributedLockService.LockHandle.class);
|
||||
|
||||
when(taskFileJobService.markRunning(jobId)).thenReturn(true);
|
||||
when(instanceMetadata.getInstanceId()).thenReturn("instance-a");
|
||||
when(taskDistributedLockService.acquire(
|
||||
PublishTaskService.MODULE_TYPE,
|
||||
taskId,
|
||||
@@ -112,4 +113,19 @@ class TaskResultFileJobWorkerTest {
|
||||
verify(taskFileJobService).markSuccess(job, "result/publish/20141.xlsx");
|
||||
verifyNoInteractions(taskResultPayloadService);
|
||||
}
|
||||
|
||||
@Test
|
||||
void publishFileJobOwnedByAnotherInstanceIsNotClaimed() {
|
||||
TaskFileJobEntity job = new TaskFileJobEntity();
|
||||
job.setId(13642L);
|
||||
job.setTaskId(20142L);
|
||||
job.setResultId(22930L);
|
||||
job.setModuleType(PublishTaskService.MODULE_TYPE);
|
||||
job.setScopeKey("task:20142:owner:instance-b");
|
||||
when(instanceMetadata.getInstanceId()).thenReturn("instance-a");
|
||||
|
||||
worker.process(job);
|
||||
|
||||
verifyNoInteractions(taskFileJobService, taskDistributedLockService, publishTaskService);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user