Class TestParametersSupport

  • All Implemented Interfaces:
    org.junit.jupiter.api.extension.Extension, org.junit.jupiter.api.extension.ParameterResolver
    Direct Known Subclasses:
    GuiceyExtensionsSupport

    public abstract class TestParametersSupport
    extends java.lang.Object
    implements org.junit.jupiter.api.extension.ParameterResolver
    Base class for junit 5 extensions. Supports direct injection of test parameters:
    • Application or exact application class
    • ObjectMapper
    • ClientSupport application web client helper
    • Any existing guice binding (possibly with qualifier annotation or generified)
    • Jit annotated parameter will be obtained from guice context (assume JIT binding)
    Overall, it provides everything DropwizardTestSupport provides plus guice-managed beans.
    Since:
    29.04.2020
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract ClientSupport getClient​(org.junit.jupiter.api.extension.ExtensionContext extensionContext)  
      protected abstract java.util.Optional<com.google.inject.Injector> getInjector​(org.junit.jupiter.api.extension.ExtensionContext extensionContext)  
      protected abstract io.dropwizard.testing.DropwizardTestSupport<?> getSupport​(org.junit.jupiter.api.extension.ExtensionContext extensionContext)  
      java.lang.Object resolveParameter​(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)  
      boolean supportsParameter​(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TestParametersSupport

        public TestParametersSupport()
    • Method Detail

      • supportsParameter

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

        public java.lang.Object resolveParameter​(org.junit.jupiter.api.extension.ParameterContext parameterContext,
                                                 org.junit.jupiter.api.extension.ExtensionContext extensionContext)
                                          throws org.junit.jupiter.api.extension.ParameterResolutionException
        Specified by:
        resolveParameter in interface org.junit.jupiter.api.extension.ParameterResolver
        Throws:
        org.junit.jupiter.api.extension.ParameterResolutionException
      • getSupport

        protected abstract io.dropwizard.testing.DropwizardTestSupport<?> getSupport​(org.junit.jupiter.api.extension.ExtensionContext extensionContext)
        Parameters:
        extensionContext - junit extension context
        Returns:
        dropwizard test support object assigned to test instance or null
      • getClient

        protected abstract ClientSupport getClient​(org.junit.jupiter.api.extension.ExtensionContext extensionContext)
        Parameters:
        extensionContext - junit extension context
        Returns:
        client factory object assigned to test instance (never null)
      • getInjector

        protected abstract java.util.Optional<com.google.inject.Injector> getInjector​(org.junit.jupiter.api.extension.ExtensionContext extensionContext)
        Parameters:
        extensionContext - junit extension context
        Returns:
        application injector or null