All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.dropwizard.testing.ConfigOverride Maven / Gradle / Ivy

There is a newer version: 5.0.0-alpha.2
Show newest version
package io.dropwizard.testing;

import java.util.function.Supplier;

/**
 * An override for a field in dropwizard configuration intended for use with
 * {@link io.dropwizard.testing.junit5.DropwizardAppExtension}.
 * 

* Given a configuration file containing *

 * ---
 * server:
 *   applicationConnectors:
 *     - type: http
 *       port: 8000
 *   adminConnectors:
 *     - type: http
 *       port: 8001
 *
 * logging:
 *   loggers:
 *     com.example.foo: INFO
 * 
*
    *
  • ConfigOverride.config("debug", "true") will add a top level * field named "debug" mapped to the string "true".
  • *
  • ConfigOverride.config("server.applicationConnectors[0].type", * "https") will change the sole application connector to have type * "https" instead of type "http". *
  • ConfigOverride.config("logging.loggers.com\\.example\\.bar", * "DEBUG") will add a logger with the name "com.example.bar" configured * for debug logging.
  • *
  • ConfigOverride.randomPorts() will change the ports of the * default applicationConnectors and adminConnectors to 0 so the tests start * with random ports.
  • *
*/ public abstract class ConfigOverride { static final String DEFAULT_PREFIX = "dw."; public static ConfigOverride config(String key, String value) { return new ConfigOverrideValue(DEFAULT_PREFIX, key, () -> value); } public static ConfigOverride config(String propertyPrefix, String key, String value) { return new ConfigOverrideValue(propertyPrefix, key, () -> value); } public static ConfigOverride config(String key, Supplier value) { return new ConfigOverrideValue(DEFAULT_PREFIX, key, value); } public static ConfigOverride config(String propertyPrefix, String key, Supplier value) { return new ConfigOverrideValue(propertyPrefix, key, value); } public static ConfigOverride randomPorts() { return new ConfigOverrideRandomPorts(DEFAULT_PREFIX); } public static ConfigOverride randomPorts(String propertyPrefix) { return new ConfigOverrideRandomPorts(propertyPrefix); } public abstract void addToSystemProperties(); public abstract void removeFromSystemProperties(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy