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
AppDeploymentannotation. This base class will make sure that this deployment gets deployed before the setUp andcascade deletedafter 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 AppManagementServiceappManagementServiceprotected AppRepositoryServiceappRepositoryServiceprotected StringconfigurationResourceprotected StringdeploymentId
-
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.Statementapply(org.junit.runners.model.Statement base, org.junit.runner.Description description)Implementation based onTestWatcher.protected voidconfigureAppEngine()protected voidfailed(Throwable e, org.junit.runner.Description description)Invoked when a test failsprotected voidfinished(org.junit.runner.Description description)AppEnginegetAppEngine()AppManagementServicegetAppManagementService()AppRepositoryServicegetAppRepositoryService()StringgetConfigurationResource()protected voidinitializeAppEngine()protected voidinitializeServices()voidsetAppEngine(AppEngine appEngine)voidsetConfigurationResource(String configurationResource)voidsetCurrentTime(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 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:
applyin 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()
-
-