Class FlowableCmmnRule

java.lang.Object
org.flowable.cmmn.engine.test.FlowableCmmnRule
All Implemented Interfaces:
org.junit.rules.TestRule

public class FlowableCmmnRule extends Object implements org.junit.rules.TestRule
Convenience for CmmnEngine and services initialization in the form of a JUnit rule.

Usage:

 public class YourTest {
 
   @Rule
   public FlowableCmmnRule flowableRule = new FlowableCmmnRule();
   
   ...
 }
 

The CmmnEngine and the services will be made available to the test class through the getters of the FlowableCmmnRule. The cmmnEngine 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. Cmmn engines will be cached statically. Right before the first time the setUp is called for a given configuration resource, the cmmn engine will be constructed.

You can declare a deployment with the CmmnDeployment 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. 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.

  • Field Details

  • Constructor Details

    • FlowableCmmnRule

      public FlowableCmmnRule()
    • FlowableCmmnRule

      public FlowableCmmnRule(String configurationResource)
    • FlowableCmmnRule

      public FlowableCmmnRule(CmmnEngine cmmnEngine)
  • Method Details

    • apply

      public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description description)
      Implementation based on TestWatcher.
      Specified by:
      apply in interface org.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)
    • initializeCmmnEngine

      protected void initializeCmmnEngine()
    • initializeServices

      protected void initializeServices()
    • configureProcessEngine

      protected void configureProcessEngine()
    • 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)
    • getCmmnEngine

      public CmmnEngine getCmmnEngine()
    • setCmmnEngine

      public void setCmmnEngine(CmmnEngine cmmnEngine)
    • getCmmnEngineConfiguration

      public CmmnEngineConfiguration getCmmnEngineConfiguration()
    • getCmmnRepositoryService

      public CmmnRepositoryService getCmmnRepositoryService()
    • getCmmnRuntimeService

      public CmmnRuntimeService getCmmnRuntimeService()
    • getCmmnTaskService

      public CmmnTaskService getCmmnTaskService()
    • getCmmnHistoryService

      public CmmnHistoryService getCmmnHistoryService()
    • getCmmnManagementService

      public CmmnManagementService getCmmnManagementService()