package org.activiti.test.spring.boot; import java.util.List; import org.activiti.engine.ProcessEngine; import org.activiti.engine.RepositoryService; import org.activiti.engine.repository.ProcessDefinition; import org.activiti.spring.boot.DataSourceProcessEngineAutoConfiguration; import org.junit.Assert; import org.junit.Test; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.context.annotation.AnnotationConfigApplicationContext; /** * @author Josh Long */ public class ProcessEngineAutoConfigurationTest { @Test public void processEngineWithBasicDataSource() throws Exception { AnnotationConfigApplicationContext context = this.context( DataSourceAutoConfiguration.class, DataSourceProcessEngineAutoConfiguration.DataSourceProcessEngineConfiguration.class); Assert.assertNotNull("the processEngine should not be null!", context.getBean(ProcessEngine.class)); } @Test public void launchProcessDefinition() throws Exception { AnnotationConfigApplicationContext applicationContext = this.context( DataSourceAutoConfiguration.class, DataSourceProcessEngineAutoConfiguration.DataSourceProcessEngineConfiguration.class); RepositoryService repositoryService = applicationContext.getBean(RepositoryService.class); Assert.assertNotNull("we should have a default repositoryService included", repositoryService); Assert.assertEquals(2, repositoryService.createProcessDefinitionQuery().count()); List<ProcessDefinition> processDefinitionList = repositoryService.createProcessDefinitionQuery() .processDefinitionKey("waiter") .list(); Assert.assertNotNull(processDefinitionList); Assert.assertTrue(!processDefinitionList.isEmpty()); ProcessDefinition processDefinition = processDefinitionList.iterator().next(); Assert.assertEquals("waiter", processDefinition.getKey()); } private AnnotationConfigApplicationContext context(Class<?>... clzz) { AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext(); annotationConfigApplicationContext.register(clzz); annotationConfigApplicationContext.refresh(); return annotationConfigApplicationContext; } }