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 AppEngine
appEngine
protected AppEngineConfiguration
appEngineConfiguration
protected org.flowable.app.api.AppManagementService
appManagementService
protected org.flowable.app.api.AppRepositoryService
appRepositoryService
protected java.lang.String
configurationResource
protected java.lang.String
deploymentId
-
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.Statement
apply(org.junit.runners.model.Statement base, org.junit.runner.Description description)
Implementation based onTestWatcher
.protected void
configureAppEngine()
protected void
failed(java.lang.Throwable e, org.junit.runner.Description description)
Invoked when a test failsprotected void
finished(org.junit.runner.Description description)
AppEngine
getAppEngine()
org.flowable.app.api.AppManagementService
getAppManagementService()
org.flowable.app.api.AppRepositoryService
getAppRepositoryService()
java.lang.String
getConfigurationResource()
protected void
initializeAppEngine()
protected void
initializeServices()
void
setAppEngine(AppEngine appEngine)
void
setConfigurationResource(java.lang.String configurationResource)
void
setCurrentTime(java.util.Date currentTime)
protected void
skipped(org.junit.internal.AssumptionViolatedException e, org.junit.runner.Description description)
Invoked when a test is skipped due to a failed assumption.protected void
starting(org.junit.runner.Description description)
protected void
succeeded(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:
apply
in 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()
-