Class ConfigOverrideUtils


  • public final class ConfigOverrideUtils
    extends java.lang.Object
    Config override handling utils.
    Since:
    30.04.2020
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static io.dropwizard.testing.ConfigOverride[] convert​(java.lang.String prefix, java.lang.String... props)  
      static java.lang.String createPrefix​(org.junit.jupiter.api.extension.ExtensionContext context)
      Unique prefix is important because config overrides works through system properties and without unique prefix it would be impossible to use parallel tests.
      static io.dropwizard.testing.ConfigOverride[] merge​(io.dropwizard.testing.ConfigOverride[] base, io.dropwizard.testing.ConfigOverride... addition)
      Adds config override for existing overrides array.
      static java.lang.String[] mergeRaw​(java.lang.String[] base, java.lang.String... addition)
      Merges config override arrays.
      static io.dropwizard.testing.ConfigOverride[] prepareExtensionOverrides​(io.dropwizard.testing.ConfigOverride[] overrides, org.junit.jupiter.api.extension.ExtensionContext context)
      Process config overrides set by junit extensions.
      static <T extends io.dropwizard.testing.ConfigOverride & ConfigurablePrefix>
      io.dropwizard.testing.ConfigOverride[]
      prepareOverrides​(java.lang.String prefix, java.util.List<T> values)
      Process provided custom config override objects by setting context prefix.
      • Methods inherited from class java.lang.Object

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

      • createPrefix

        public static java.lang.String createPrefix​(org.junit.jupiter.api.extension.ExtensionContext context)
        Unique prefix is important because config overrides works through system properties and without unique prefix it would be impossible to use parallel tests.

        Because extension might be used per-method, prefix must follow current test hierarchy (counting nested tests and executed test method).

        Parameters:
        context - test context
        Returns:
        unique properties prefix to use for this test
      • convert

        public static io.dropwizard.testing.ConfigOverride[] convert​(java.lang.String prefix,
                                                                     java.lang.String... props)
        Parameters:
        prefix - prefix
        props - overriding properties in "key: value" format
        Returns:
        parsed configuration override objects
      • mergeRaw

        public static java.lang.String[] mergeRaw​(java.lang.String[] base,
                                                  java.lang.String... addition)
        Merges config override arrays.
        Parameters:
        base - existing overrides (may be null)
        addition - additional overrides (may be empty)
        Returns:
        merged overrides
      • merge

        public static io.dropwizard.testing.ConfigOverride[] merge​(io.dropwizard.testing.ConfigOverride[] base,
                                                                   io.dropwizard.testing.ConfigOverride... addition)
        Adds config override for existing overrides array.
        Parameters:
        base - existing overrides (may be null)
        addition - additional overrides (may be empty)
        Returns:
        merged overrides
      • prepareOverrides

        public static <T extends io.dropwizard.testing.ConfigOverride & ConfigurablePrefix> io.dropwizard.testing.ConfigOverride[] prepareOverrides​(java.lang.String prefix,
                                                                                                                                                    java.util.List<T> values)
        Process provided custom config override objects by setting context prefix.
        Type Parameters:
        T - composite helper type
        Parameters:
        prefix - test specific prefix
        values - objects to process
        Returns:
        array of processed objects or null if nothing registered
      • prepareExtensionOverrides

        public static io.dropwizard.testing.ConfigOverride[] prepareExtensionOverrides​(io.dropwizard.testing.ConfigOverride[] overrides,
                                                                                       org.junit.jupiter.api.extension.ExtensionContext context)
        Process config overrides set by junit extensions.
        Parameters:
        overrides - array of all configured config overrides
        context - extension contest to resolve storage from
        Returns:
        same array