提交 41e46878 编写于 作者: M meyerd

ACT-1074 make sure job is due in testcase

上级 f4900fd9
package org.activiti.engine.test.db;
import java.util.Date;
import org.activiti.engine.impl.cmd.AcquireJobsCmd;
import org.activiti.engine.impl.interceptor.Command;
import org.activiti.engine.impl.interceptor.CommandContext;
import org.activiti.engine.impl.jobexecutor.AcquiredJobs;
import org.activiti.engine.impl.test.PluggableActivitiTestCase;
import org.activiti.engine.impl.util.ClockUtil;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.runtime.Job;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.test.Deployment;
......@@ -20,8 +26,12 @@ public class ProcessInstanceSuspensionTest extends PluggableActivitiTestCase {
ProcessInstance pi = runtimeService.startProcessInstanceByKey(pd.getKey());
// now there is one job:
assertNotNull(managementService.createJobQuery()
.singleResult());
// now there is one job:
Job job = managementService.createJobQuery()
.singleResult();
assertNotNull(job);
makeSureJobDue(job);
// the acquirejobs command sees the job:
AcquiredJobs acquiredJobs = executeAcquireJobsCommand();
......@@ -32,7 +42,7 @@ public class ProcessInstanceSuspensionTest extends PluggableActivitiTestCase {
// now, the acquirejobs command does not see the job:
acquiredJobs = executeAcquireJobsCommand();
assertEquals(0, acquiredJobs.size());
assertEquals(0, acquiredJobs.size());
}
@Deployment(resources={"org/activiti/engine/test/db/oneJobProcess.bpmn20.xml"})
......@@ -41,9 +51,12 @@ public class ProcessInstanceSuspensionTest extends PluggableActivitiTestCase {
ProcessDefinition pd = repositoryService.createProcessDefinitionQuery().singleResult();
runtimeService.startProcessInstanceByKey(pd.getKey());
// now there is one job:
assertNotNull(managementService.createJobQuery()
.singleResult());
Job job = managementService.createJobQuery()
.singleResult();
assertNotNull(job);
makeSureJobDue(job);
// the acquirejobs command sees the job:
AcquiredJobs acquiredJobs = executeAcquireJobsCommand();
assertEquals(1, acquiredJobs.size());
......@@ -56,6 +69,20 @@ public class ProcessInstanceSuspensionTest extends PluggableActivitiTestCase {
assertEquals(0, acquiredJobs.size());
}
protected void makeSureJobDue(final Job job) {
processEngineConfiguration.getCommandExecutorTxRequired()
.execute(new Command<Void>() {
public Void execute(CommandContext commandContext) {
Date currentTime = ClockUtil.getCurrentTime();
commandContext.getJobManager()
.findJobById(job.getId())
.setDuedate(new Date(currentTime.getTime() - 10000));
return null;
}
});
}
private AcquiredJobs executeAcquireJobsCommand() {
return processEngineConfiguration.getCommandExecutorTxRequired()
.execute(new AcquireJobsCmd(processEngineConfiguration.getJobExecutor()));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册