Class ProcessEngineExtension
- java.lang.Object
 - 
- org.camunda.bpm.engine.test.junit5.ProcessEngineExtension
 
 
- 
- All Implemented Interfaces:
 ProcessEngineServices,org.junit.jupiter.api.extension.AfterAllCallback,org.junit.jupiter.api.extension.AfterTestExecutionCallback,org.junit.jupiter.api.extension.BeforeTestExecutionCallback,org.junit.jupiter.api.extension.Extension,org.junit.jupiter.api.extension.ParameterResolver,org.junit.jupiter.api.extension.TestInstancePostProcessor,org.junit.jupiter.api.extension.TestWatcher
public class ProcessEngineExtension extends java.lang.Object implements org.junit.jupiter.api.extension.TestWatcher, org.junit.jupiter.api.extension.TestInstancePostProcessor, org.junit.jupiter.api.extension.BeforeTestExecutionCallback, org.junit.jupiter.api.extension.AfterTestExecutionCallback, org.junit.jupiter.api.extension.AfterAllCallback, org.junit.jupiter.api.extension.ParameterResolver, ProcessEngineServices
Junit 5 Extension to create and inject aProcessEngineinto the test class.If you provide a
camunda.cfg.xmlfile on the classpath. This file is used to configure the process engine.
Usage:@ExtendWith(ProcessEngineExtension.class)public class YourTest { // provide a property where the extension can inject the process engine public ProcessEngine processEngine; ... }If you want to choose the
Usage:camunda.cfg.xmlfile that is used in the test programmatically, you can register the extension directly and use the builder pattern to configure it.
Usage with configuration:@RegisterExtensionProcessEngineExtension extension = ProcessEngineExtension.builder() .configurationResource("myConfigurationFile.xml") .build();}You can declare a deployment with the
Deploymentannotation. This base class will make sure that this deployment gets deployed before the setUp andcascade deletedafter the tearDown.If you need the history service for your tests then you can specify the required history level of the test method or class, using the
RequiredHistoryLevelannotation. If the current history level of the process engine is lower than the specified one then the test is skipped. 
- 
- 
Field Summary
Fields Modifier and Type Field Description protected java.util.List<java.lang.String>additionalDeploymentsprotected AuthorizationServiceauthorizationServiceprotected CaseServicecaseServiceprotected java.lang.StringconfigurationResourceprotected DecisionServicedecisionServiceprotected java.lang.StringdeploymentIdprotected booleanensureCleanAfterTestprotected ExternalTaskServiceexternalTaskServiceprotected FilterServicefilterServiceprotected FormServiceformServiceprotected HistoryServicehistoryServiceprotected IdentityServiceidentityServiceprotected static org.slf4j.LoggerLOGprotected ManagementServicemanagementServiceprotected ProcessEngineprocessEngineprotected ProcessEngineConfigurationImplprocessEngineConfigurationprotected RepositoryServicerepositoryServiceprotected RuntimeServiceruntimeServiceprotected TaskServicetaskService 
- 
Constructor Summary
Constructors Constructor Description ProcessEngineExtension() 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterAll(org.junit.jupiter.api.extension.ExtensionContext context)voidafterTestExecution(org.junit.jupiter.api.extension.ExtensionContext context)voidbeforeTestExecution(org.junit.jupiter.api.extension.ExtensionContext context)ProcessEngineExtensionbuild()static ProcessEngineExtensionbuilder()protected voidclearServiceReferences()ProcessEngineExtensionconfigurationResource(java.lang.String configurationResource)ProcessEngineExtensionensureCleanAfterTest(boolean ensureCleanAfterTest)AuthorizationServicegetAuthorizationService()Returns the process engine'sAuthorizationService.CaseServicegetCaseService()Returns the engine'sCaseService.java.lang.StringgetConfigurationResource()DecisionServicegetDecisionService()Returns the engine'sDecisionService.java.lang.StringgetDeploymentId()ExternalTaskServicegetExternalTaskService()Returns the engine'sExternalTaskService.FilterServicegetFilterService()Returns the engine'sFilterService.FormServicegetFormService()Returns the process engine'sFormService.HistoryServicegetHistoryService()Returns the process engine'sHistoryService.IdentityServicegetIdentityService()Returns the process engine'sIdentityService.ManagementServicegetManagementService()Returns the process engine'sManagementService.ProcessEnginegetProcessEngine()ProcessEngineConfigurationImplgetProcessEngineConfiguration()RepositoryServicegetRepositoryService()Returns the process engine'sRepositoryService.RuntimeServicegetRuntimeService()Returns the process engine'sRuntimeService.TaskServicegetTaskService()Returns the process engine'sTaskService.protected java.util.function.Supplier<java.lang.IllegalStateException>illegalStateException(java.lang.String msg)protected voidinitializeProcessEngine()protected voidinitializeServices()protected voidinject(java.lang.Object instance, java.lang.reflect.Field field)booleanisEnsureCleanAfterTest()ProcessEngineExtensionmanageDeployment(Deployment deployment)voidpostProcessTestInstance(java.lang.Object testInstance, org.junit.jupiter.api.extension.ExtensionContext context)java.lang.ObjectresolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)voidsetAuthorizationService(AuthorizationService authorizationService)voidsetCaseService(CaseService caseService)voidsetConfigurationResource(java.lang.String configurationResource)voidsetCurrentTime(java.util.Date currentTime)voidsetDecisionService(DecisionService decisionService)voidsetEnsureCleanAfterTest(boolean ensureCleanAfterTest)voidsetExternalTaskService(ExternalTaskService externalTaskService)voidsetFilterService(FilterService filterService)voidsetFormService(FormService formService)voidsetHistoryService(HistoryService historyService)voidsetIdentityService(IdentityService identityService)voidsetManagementService(ManagementService managementService)voidsetProcessEngine(ProcessEngine processEngine)voidsetProcessEngineConfiguration(ProcessEngineConfigurationImpl processEngineConfiguration)voidsetRepositoryService(RepositoryService repositoryService)voidsetRuntimeService(RuntimeService runtimeService)voidsetTaskService(TaskService taskService)booleansupportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)ProcessEngineExtensionuseProcessEngine(ProcessEngine engine) 
 - 
 
- 
- 
Field Detail
- 
LOG
protected static final org.slf4j.Logger LOG
 
- 
processEngine
protected ProcessEngine processEngine
 
- 
processEngineConfiguration
protected ProcessEngineConfigurationImpl processEngineConfiguration
 
- 
repositoryService
protected RepositoryService repositoryService
 
- 
runtimeService
protected RuntimeService runtimeService
 
- 
taskService
protected TaskService taskService
 
- 
historyService
protected HistoryService historyService
 
- 
identityService
protected IdentityService identityService
 
- 
managementService
protected ManagementService managementService
 
- 
formService
protected FormService formService
 
- 
filterService
protected FilterService filterService
 
- 
authorizationService
protected AuthorizationService authorizationService
 
- 
caseService
protected CaseService caseService
 
- 
externalTaskService
protected ExternalTaskService externalTaskService
 
- 
decisionService
protected DecisionService decisionService
 
- 
configurationResource
protected java.lang.String configurationResource
 
- 
deploymentId
protected java.lang.String deploymentId
 
- 
ensureCleanAfterTest
protected boolean ensureCleanAfterTest
 
- 
additionalDeployments
protected java.util.List<java.lang.String> additionalDeployments
 
 - 
 
- 
Method Detail
- 
initializeProcessEngine
protected void initializeProcessEngine()
 
- 
initializeServices
protected void initializeServices()
 
- 
clearServiceReferences
protected void clearServiceReferences()
 
- 
supportsParameter
public boolean supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws org.junit.jupiter.api.extension.ParameterResolutionException- Specified by:
 supportsParameterin interfaceorg.junit.jupiter.api.extension.ParameterResolver- Throws:
 org.junit.jupiter.api.extension.ParameterResolutionException
 
- 
resolveParameter
public java.lang.Object resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws org.junit.jupiter.api.extension.ParameterResolutionException- Specified by:
 resolveParameterin interfaceorg.junit.jupiter.api.extension.ParameterResolver- Throws:
 org.junit.jupiter.api.extension.ParameterResolutionException
 
- 
beforeTestExecution
public void beforeTestExecution(org.junit.jupiter.api.extension.ExtensionContext context)
- Specified by:
 beforeTestExecutionin interfaceorg.junit.jupiter.api.extension.BeforeTestExecutionCallback
 
- 
afterTestExecution
public void afterTestExecution(org.junit.jupiter.api.extension.ExtensionContext context)
- Specified by:
 afterTestExecutionin interfaceorg.junit.jupiter.api.extension.AfterTestExecutionCallback
 
- 
afterAll
public void afterAll(org.junit.jupiter.api.extension.ExtensionContext context) throws java.lang.Exception- Specified by:
 afterAllin interfaceorg.junit.jupiter.api.extension.AfterAllCallback- Throws:
 java.lang.Exception
 
- 
postProcessTestInstance
public void postProcessTestInstance(java.lang.Object testInstance, org.junit.jupiter.api.extension.ExtensionContext context)- Specified by:
 postProcessTestInstancein interfaceorg.junit.jupiter.api.extension.TestInstancePostProcessor
 
- 
builder
public static ProcessEngineExtension builder()
 
- 
configurationResource
public ProcessEngineExtension configurationResource(java.lang.String configurationResource)
 
- 
useProcessEngine
public ProcessEngineExtension useProcessEngine(ProcessEngine engine)
 
- 
ensureCleanAfterTest
public ProcessEngineExtension ensureCleanAfterTest(boolean ensureCleanAfterTest)
 
- 
manageDeployment
public ProcessEngineExtension manageDeployment(Deployment deployment)
 
- 
build
public ProcessEngineExtension build()
 
- 
illegalStateException
protected java.util.function.Supplier<java.lang.IllegalStateException> illegalStateException(java.lang.String msg)
 
- 
inject
protected void inject(java.lang.Object instance, java.lang.reflect.Field field) 
- 
setCurrentTime
public void setCurrentTime(java.util.Date currentTime)
 
- 
getProcessEngine
public ProcessEngine getProcessEngine()
 
- 
setProcessEngine
public void setProcessEngine(ProcessEngine processEngine)
 
- 
getConfigurationResource
public java.lang.String getConfigurationResource()
 
- 
getProcessEngineConfiguration
public ProcessEngineConfigurationImpl getProcessEngineConfiguration()
 
- 
getRepositoryService
public RepositoryService getRepositoryService()
Description copied from interface:ProcessEngineServicesReturns the process engine'sRepositoryService.- Specified by:
 getRepositoryServicein interfaceProcessEngineServices- Returns:
 - the 
RepositoryServiceobject. 
 
- 
setRepositoryService
public void setRepositoryService(RepositoryService repositoryService)
 
- 
getRuntimeService
public RuntimeService getRuntimeService()
Description copied from interface:ProcessEngineServicesReturns the process engine'sRuntimeService.- Specified by:
 getRuntimeServicein interfaceProcessEngineServices- Returns:
 - the 
RuntimeServiceobject. 
 
- 
setRuntimeService
public void setRuntimeService(RuntimeService runtimeService)
 
- 
getTaskService
public TaskService getTaskService()
Description copied from interface:ProcessEngineServicesReturns the process engine'sTaskService.- Specified by:
 getTaskServicein interfaceProcessEngineServices- Returns:
 - the 
TaskServiceobject. 
 
- 
setTaskService
public void setTaskService(TaskService taskService)
 
- 
getHistoryService
public HistoryService getHistoryService()
Description copied from interface:ProcessEngineServicesReturns the process engine'sHistoryService.- Specified by:
 getHistoryServicein interfaceProcessEngineServices- Returns:
 - the 
HistoryServiceobject. 
 
- 
setHistoryService
public void setHistoryService(HistoryService historyService)
 
- 
getIdentityService
public IdentityService getIdentityService()
Description copied from interface:ProcessEngineServicesReturns the process engine'sIdentityService.- Specified by:
 getIdentityServicein interfaceProcessEngineServices- Returns:
 - the 
IdentityServiceobject. 
 
- 
setIdentityService
public void setIdentityService(IdentityService identityService)
 
- 
getManagementService
public ManagementService getManagementService()
Description copied from interface:ProcessEngineServicesReturns the process engine'sManagementService.- Specified by:
 getManagementServicein interfaceProcessEngineServices- Returns:
 - the 
ManagementServiceobject. 
 
- 
setManagementService
public void setManagementService(ManagementService managementService)
 
- 
getFormService
public FormService getFormService()
Description copied from interface:ProcessEngineServicesReturns the process engine'sFormService.- Specified by:
 getFormServicein interfaceProcessEngineServices- Returns:
 - the 
FormServiceobject. 
 
- 
setFormService
public void setFormService(FormService formService)
 
- 
getFilterService
public FilterService getFilterService()
Description copied from interface:ProcessEngineServicesReturns the engine'sFilterService.- Specified by:
 getFilterServicein interfaceProcessEngineServices- Returns:
 - the 
FilterServiceobject. 
 
- 
setFilterService
public void setFilterService(FilterService filterService)
 
- 
getAuthorizationService
public AuthorizationService getAuthorizationService()
Description copied from interface:ProcessEngineServicesReturns the process engine'sAuthorizationService.- Specified by:
 getAuthorizationServicein interfaceProcessEngineServices- Returns:
 - the 
AuthorizationServiceobject. 
 
- 
setAuthorizationService
public void setAuthorizationService(AuthorizationService authorizationService)
 
- 
getCaseService
public CaseService getCaseService()
Description copied from interface:ProcessEngineServicesReturns the engine'sCaseService.- Specified by:
 getCaseServicein interfaceProcessEngineServices- Returns:
 - the 
CaseServiceobject. 
 
- 
setCaseService
public void setCaseService(CaseService caseService)
 
- 
getExternalTaskService
public ExternalTaskService getExternalTaskService()
Description copied from interface:ProcessEngineServicesReturns the engine'sExternalTaskService.- Specified by:
 getExternalTaskServicein interfaceProcessEngineServices- Returns:
 - the 
ExternalTaskServiceobject. 
 
- 
setExternalTaskService
public void setExternalTaskService(ExternalTaskService externalTaskService)
 
- 
getDecisionService
public DecisionService getDecisionService()
Description copied from interface:ProcessEngineServicesReturns the engine'sDecisionService.- Specified by:
 getDecisionServicein interfaceProcessEngineServices- Returns:
 - the 
DecisionServiceobject. 
 
- 
setDecisionService
public void setDecisionService(DecisionService decisionService)
 
- 
setProcessEngineConfiguration
public void setProcessEngineConfiguration(ProcessEngineConfigurationImpl processEngineConfiguration)
 
- 
setConfigurationResource
public void setConfigurationResource(java.lang.String configurationResource)
 
- 
getDeploymentId
public java.lang.String getDeploymentId()
 
- 
isEnsureCleanAfterTest
public boolean isEnsureCleanAfterTest()
 
- 
setEnsureCleanAfterTest
public void setEnsureCleanAfterTest(boolean ensureCleanAfterTest)
 
 - 
 
 -