Class ConfigOverrideUtils
- java.lang.Object
-
- ru.vyarus.dropwizard.guice.test.util.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.
-
-
-
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
- prefixprops
- 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 prefixvalues
- 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 overridescontext
- extension contest to resolve storage from- Returns:
- same array
-
-