Class FlowableAppRule
- All Implemented Interfaces:
org.junit.rules.TestRule
public class FlowableAppRule
extends java.lang.Object
implements org.junit.rules.TestRule
Usage:
public class YourTest {
@Rule
public FlowableAppRule flowableRule = new FlowableAppRule();
...
}
The AppEngine and the services will be made available to the test class through the getters of the FlowableAppRule. The appEngine will be initialized by default with the flowable.cfg.xml
resource on the classpath. To specify a different configuration file, pass the resource location in the appropriate constructor. App engines will be cached
statically. Right before the first time the setUp is called for a given configuration resource, the app engine will be constructed.
You can declare a deployment with the AppDeployment annotation. This base class will make sure that this deployment gets deployed before the setUp and
cascade deleted after the tearDown.
The FlowableRule also lets you set the current time used by the process engine. This can be handy to control the exact time that is used by the engine in
order to verify e.g. due dates of timers. Or start, end and duration times in the history service. In the tearDown, the internal clock will automatically be reset to use the current system
time rather then the time that was set during a test method.
- Author:
- Tom Baeyens
-
Field Summary
Fields Modifier and Type Field Description protected AppEngineappEngineprotected AppEngineConfigurationappEngineConfigurationprotected org.flowable.app.api.AppManagementServiceappManagementServiceprotected org.flowable.app.api.AppRepositoryServiceappRepositoryServiceprotected java.lang.StringconfigurationResourceprotected java.lang.StringdeploymentId -
Constructor Summary
Constructors Constructor Description FlowableAppRule()FlowableAppRule(AppEngine appEngine)FlowableAppRule(java.lang.String configurationResource) -
Method Summary
Modifier and Type Method Description org.junit.runners.model.Statementapply(org.junit.runners.model.Statement base, org.junit.runner.Description description)Implementation based onTestWatcher.protected voidconfigureAppEngine()protected voidfailed(java.lang.Throwable e, org.junit.runner.Description description)Invoked when a test failsprotected voidfinished(org.junit.runner.Description description)AppEnginegetAppEngine()org.flowable.app.api.AppManagementServicegetAppManagementService()org.flowable.app.api.AppRepositoryServicegetAppRepositoryService()java.lang.StringgetConfigurationResource()protected voidinitializeAppEngine()protected voidinitializeServices()voidsetAppEngine(AppEngine appEngine)voidsetConfigurationResource(java.lang.String configurationResource)voidsetCurrentTime(java.util.Date currentTime)protected voidskipped(org.junit.internal.AssumptionViolatedException e, org.junit.runner.Description description)Invoked when a test is skipped due to a failed assumption.protected voidstarting(org.junit.runner.Description description)protected voidsucceeded(org.junit.runner.Description description)Invoked when a test succeeds
-
Field Details
-
configurationResource
protected java.lang.String configurationResource -
deploymentId
protected java.lang.String deploymentId -
appEngineConfiguration
-
appEngine
-
appRepositoryService
protected org.flowable.app.api.AppRepositoryService appRepositoryService -
appManagementService
protected org.flowable.app.api.AppManagementService appManagementService
-
-
Constructor Details
-
FlowableAppRule
public FlowableAppRule() -
FlowableAppRule
public FlowableAppRule(java.lang.String configurationResource) -
FlowableAppRule
-
-
Method Details
-
apply
public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description description)Implementation based onTestWatcher.- Specified by:
applyin interfaceorg.junit.rules.TestRule
-
succeeded
protected void succeeded(org.junit.runner.Description description)Invoked when a test succeeds -
failed
protected void failed(java.lang.Throwable e, org.junit.runner.Description description)Invoked when a test fails -
skipped
protected void skipped(org.junit.internal.AssumptionViolatedException e, org.junit.runner.Description description)Invoked when a test is skipped due to a failed assumption. -
starting
protected void starting(org.junit.runner.Description description) -
initializeAppEngine
protected void initializeAppEngine() -
initializeServices
protected void initializeServices() -
configureAppEngine
protected void configureAppEngine() -
finished
protected void finished(org.junit.runner.Description description) -
setCurrentTime
public void setCurrentTime(java.util.Date currentTime) -
getConfigurationResource
public java.lang.String getConfigurationResource() -
setConfigurationResource
public void setConfigurationResource(java.lang.String configurationResource) -
getAppEngine
-
setAppEngine
-
getAppRepositoryService
public org.flowable.app.api.AppRepositoryService getAppRepositoryService() -
getAppManagementService
public org.flowable.app.api.AppManagementService getAppManagementService()
-