Class InternalFlowableFormExtension

  • All Implemented Interfaces:
    org.junit.jupiter.api.extension.AfterAllCallback, org.junit.jupiter.api.extension.AfterEachCallback, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.Extension, org.junit.jupiter.api.extension.ParameterResolver

    public abstract class InternalFlowableFormExtension
    extends Object
    implements org.junit.jupiter.api.extension.AfterEachCallback, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.AfterAllCallback, org.junit.jupiter.api.extension.ParameterResolver
    Base internal extension for JUnit Jupiter. This is a basis for other internal extensions. It allows:
    • Performs a deployment before each test when a test method is annotated with FormDeploymentAnnotation
    • Validates the history data after each test
    • Delete history jobs and deployment after each test
    • Assert and ensure a clean db after each test or after all tests (depending on the TestInstance.Lifecycle.
    • Support for injecting the FormEngine, FormDeploymentAnnotation into test methods and lifecycle methods within tests.
    Author:
    Filip Hrisafov
    • Constructor Detail

      • InternalFlowableFormExtension

        public InternalFlowableFormExtension()
    • Method Detail

      • beforeEach

        public void beforeEach​(org.junit.jupiter.api.extension.ExtensionContext context)
        Specified by:
        beforeEach in interface org.junit.jupiter.api.extension.BeforeEachCallback
      • afterEach

        public void afterEach​(org.junit.jupiter.api.extension.ExtensionContext context)
                       throws Exception
        Specified by:
        afterEach in interface org.junit.jupiter.api.extension.AfterEachCallback
        Throws:
        Exception
      • afterAll

        public void afterAll​(org.junit.jupiter.api.extension.ExtensionContext context)
                      throws Exception
        Specified by:
        afterAll in interface org.junit.jupiter.api.extension.AfterAllCallback
        Throws:
        Exception
      • doFinally

        protected void doFinally​(org.junit.jupiter.api.extension.ExtensionContext context,
                                 org.junit.jupiter.api.TestInstance.Lifecycle lifecycleForClean)
      • cleanTestAndAssertAndEnsureCleanDb

        protected void cleanTestAndAssertAndEnsureCleanDb​(org.junit.jupiter.api.extension.ExtensionContext context,
                                                          FormEngine formEngine)
      • assertAndEnsureCleanDb

        protected void assertAndEnsureCleanDb​(FormEngine formEngine,
                                              org.junit.jupiter.api.extension.ExtensionContext context,
                                              EnsureCleanDb ensureCleanDb)
        Each test is assumed to clean up all DB content it entered. After a test method executed, this method scans all tables to see if the DB is completely clean. It throws AssertionFailed in case the DB is not clean. If the DB is not clean, it is cleaned by performing a create a drop.
      • supportsParameter

        public boolean supportsParameter​(org.junit.jupiter.api.extension.ParameterContext parameterContext,
                                         org.junit.jupiter.api.extension.ExtensionContext context)
        Specified by:
        supportsParameter in interface org.junit.jupiter.api.extension.ParameterResolver
      • resolveParameter

        public Object resolveParameter​(org.junit.jupiter.api.extension.ParameterContext parameterContext,
                                       org.junit.jupiter.api.extension.ExtensionContext context)
        Specified by:
        resolveParameter in interface org.junit.jupiter.api.extension.ParameterResolver
      • getFormEngine

        protected abstract FormEngine getFormEngine​(org.junit.jupiter.api.extension.ExtensionContext context)
      • getStore

        protected abstract org.junit.jupiter.api.extension.ExtensionContext.Store getStore​(org.junit.jupiter.api.extension.ExtensionContext context)