package org.activiti.spring.test.components.jobexecutor; import java.util.List; import org.activiti.engine.RuntimeService; import org.activiti.engine.TaskService; import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; import org.activiti.spring.impl.test.SpringActivitiTestCase; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /** * @author Pablo Ganga */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:org/activiti/spring/test/components/SpringjobExecutorTest-context.xml") public class SpringJobExecutorTest extends SpringActivitiTestCase{ @Autowired RuntimeService runtimeService; @Autowired TaskService taskService; @Test public void testHappyJobExecutorPath()throws Exception { ProcessInstance instance = runtimeService.startProcessInstanceByKey("process1"); assertNotNull(instance); waitForTasksToExpire(); List<Task> activeTasks = taskService.createTaskQuery().processInstanceId(instance.getId()).list(); assertTrue(activeTasks.size() == 0); } @Test public void testRollbackJobExecutorPath()throws Exception { ProcessInstance instance = runtimeService.startProcessInstanceByKey("errorProcess1"); assertNotNull(instance); waitForTasksToExpire(); List<Task> activeTasks = taskService.createTaskQuery().processInstanceId(instance.getId()).list(); assertTrue(activeTasks.size() == 1); } private void waitForTasksToExpire()throws Exception { Thread.sleep(2000L); } }