Class FlowableAppRule
- java.lang.Object
-
- com.flowable.app.engine.test.FlowableAppRule
-
- All Implemented Interfaces:
org.junit.rules.TestRule
public class FlowableAppRule extends Object implements org.junit.rules.TestRule
Convenience for AppEngine and services initialization in the form of a JUnit rule.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 andcascade 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 AppManagementService
appManagementService
protected AppRepositoryService
appRepositoryService
protected String
configurationResource
protected String
deploymentId
-
Constructor Summary
Constructors Constructor Description FlowableAppRule()
FlowableAppRule(AppEngine appEngine)
FlowableAppRule(String configurationResource)
-
Method Summary
All Methods Instance Methods Concrete Methods 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(Throwable e, org.junit.runner.Description description)
Invoked when a test failsprotected void
finished(org.junit.runner.Description description)
AppEngine
getAppEngine()
AppManagementService
getAppManagementService()
AppRepositoryService
getAppRepositoryService()
String
getConfigurationResource()
protected void
initializeAppEngine()
protected void
initializeServices()
void
setAppEngine(AppEngine appEngine)
void
setConfigurationResource(String configurationResource)
void
setCurrentTime(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 Detail
-
configurationResource
protected String configurationResource
-
deploymentId
protected String deploymentId
-
appEngineConfiguration
protected AppEngineConfiguration appEngineConfiguration
-
appEngine
protected AppEngine appEngine
-
appRepositoryService
protected AppRepositoryService appRepositoryService
-
appManagementService
protected AppManagementService appManagementService
-
-
Method Detail
-
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(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(Date currentTime)
-
getConfigurationResource
public String getConfigurationResource()
-
setConfigurationResource
public void setConfigurationResource(String configurationResource)
-
getAppEngine
public AppEngine getAppEngine()
-
setAppEngine
public void setAppEngine(AppEngine appEngine)
-
getAppRepositoryService
public AppRepositoryService getAppRepositoryService()
-
getAppManagementService
public AppManagementService getAppManagementService()
-
-