Class TestDropwizardAppExtension.Builder<C extends io.dropwizard.core.Configuration>
- Type Parameters:
C- configuration type (resolved automatically by application class)
- Enclosing class:
- TestDropwizardAppExtension
TestDropwizardAppExtension.forApp(Class)).-
Field Summary
Fields inherited from class ru.vyarus.dropwizard.guice.test.jupiter.ext.conf.ExtensionBuilder
cfg -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionSame asTestDropwizardApp.config().create()Creates extension.Shortcut forrandomPorts(boolean).randomPorts(boolean randomPorts) Same asTestDropwizardApp.randomPorts().restMapping(String mapping) Same asTestDropwizardApp.restMapping().setup(Class<? extends TestEnvironmentSetup>... support) Environment support object is the simplest way to prepare additional objects for test (like database) and apply configuration overrides.setup(TestEnvironmentSetup... support) Environment support objects is the simplest mechanism to prepare additional objects for test (like database) and apply configuration overrides.Methods inherited from class ru.vyarus.dropwizard.guice.test.jupiter.ext.conf.ExtensionBuilder
apacheClient, clientFactory, config, configModifiers, configModifiers, configOverride, configOverride, configOverrideByExtension, configOverrideByExtension, configOverrides, configOverrides, debug, disableDefaultExtensions, hooks, hooks, injectOnce, reuseApplication, with
-
Constructor Details
-
Builder
Create builder.- Parameters:
app- application class
-
-
Method Details
-
config
Same asTestDropwizardApp.config().- Parameters:
configPath- configuration file path- Returns:
- builder instance for chained calls
-
randomPorts
Same asTestDropwizardApp.randomPorts().- Parameters:
randomPorts- true to use random ports- Returns:
- builder instance for chained calls
-
randomPorts
Shortcut forrandomPorts(boolean).- Returns:
- builder instance for chained calls
-
restMapping
Same asTestDropwizardApp.restMapping().- Parameters:
mapping- rest mapping path- Returns:
- builder instance for chained calls
-
setup
@SafeVarargs public final TestDropwizardAppExtension.Builder<C> setup(Class<? extends TestEnvironmentSetup>... support) Environment support object is the simplest way to prepare additional objects for test (like database) and apply configuration overrides. Provided classes would be instantiated with the default constructor.To avoid confusion with guicey hooks: setup object required to prepare test environment before test (and apply required configurations) whereas hooks is a general mechanism for application customization (not only in tests).
Anonymous implementation could be simply declared as field:
@EnableSetup static TestEnvironmentSetup ext = ext -> ext.configOverrides("foo:1"). Non-static fields may be used only when extension is registered with non-static field (static fields would be also counted in this case). All annotated fields will be detected automatically and objects registered. Fields declared in base test classes are also counted.- Parameters:
support- support object classes- Returns:
- builder instance for chained calls
-
setup
Environment support objects is the simplest mechanism to prepare additional objects for test (like database) and apply configuration overrides.To avoid confusion with guicey hooks: setup object required to prepare test environment before test (and apply required configurations) whereas hooks is a general mechanism for application customization (not only in tests).
Anonymous implementation could be simply declared as field:
@EnableSetup static TestEnvironmentSetup ext = ext -> ext.configOverrides("foo:1"). Non-static fields may be used only when extension is registered with non-static field (static fields would be also counted in this case). All annotated fields will be detected automatically and objects registered. Fields declared in base test classes are also counted.- Parameters:
support- support object instances- Returns:
- builder instance for chained calls
-
create
Creates extension.Note that extension must be assigned to static field! Extension instance does not provide additional methods so use field and parameter injections as with annotation extension declaration.
- Returns:
- extension instance
-