Package io.dropwizard.testing.junit5
Class DropwizardAppExtension<C extends Configuration>
- java.lang.Object
-
- io.dropwizard.testing.junit5.DropwizardAppExtension<C>
-
- Type Parameters:
C
- the configuration type
- All Implemented Interfaces:
DropwizardExtension
public class DropwizardAppExtension<C extends Configuration> extends Object implements DropwizardExtension
An extension for starting and stopping your application at the start and end of a test class.By default, the
Application
will be constructed using reflection to invoke the nullary constructor. If your application does not provide a public nullary constructor, you will need to override thenewApplication()
method to provide your application instance(s).Using DropwizardAppExtension at the suite level can speed up test runs, as the application is only started and stopped once for the entire suite:
public class MySuite { public static final DropwizardAppExtension<MyConfig> DROPWIZARD = new DropwizardAppExtension<>(...); }
If the same instance of DropwizardAppExtension is reused at the suite- and class-level, then the application will be started and stopped once, regardless of whether the entire suite or a single test is executed.
@ExtendWith(DropwizardExtensionsSupport.class) public class FooTest { public static final DropwizardAppExtension<MyConfig> DROPWIZARD = MySuite.DROPWIZARD; public void testFoo() { ... } } @ExtendWith(DropwizardExtensionsSupport.class) public class BarTest { public static final DropwizardAppExtension<MyConfig> DROPWIZARD = MySuite.DROPWIZARD; public void testBar() { ... } }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DropwizardAppExtension.ServiceListener<T extends Configuration>
-
Constructor Summary
Constructors Constructor Description DropwizardAppExtension(DropwizardTestSupport<C> testSupport)
DropwizardAppExtension(Class<? extends Application<C>> applicationClass)
DropwizardAppExtension(Class<? extends Application<C>> applicationClass, C configuration)
Alternate constructor that allows specifying exact Configuration object to use, instead of reading a resource and binding it as Configuration object.DropwizardAppExtension(Class<? extends Application<C>> applicationClass, C configuration, Function<Application<C>,Command> commandInstantiator)
Alternate constructor that allows specifying the command the Dropwizard application is started with.DropwizardAppExtension(Class<? extends Application<C>> applicationClass, String configPath, ConfigOverride... configOverrides)
DropwizardAppExtension(Class<? extends Application<C>> applicationClass, String configPath, Optional<String> customPropertyPrefix, ConfigOverride... configOverrides)
DropwizardAppExtension(Class<? extends Application<C>> applicationClass, String configPath, Optional<String> customPropertyPrefix, Function<Application<C>,Command> commandInstantiator, ConfigOverride... configOverrides)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DropwizardAppExtension<C>
addListener(DropwizardAppExtension.ServiceListener<C> listener)
void
after()
Executed after test method or class.void
before()
Executed before test method or class.javax.ws.rs.client.Client
client()
Returns a new HTTP JerseyClient
for performing HTTP requests against the tested Dropwizard server.protected org.glassfish.jersey.client.JerseyClientBuilder
clientBuilder()
int
getAdminPort()
<A extends Application<C>>
AgetApplication()
C
getConfiguration()
Environment
getEnvironment()
int
getLocalPort()
com.fasterxml.jackson.databind.ObjectMapper
getObjectMapper()
int
getPort(int connectorIndex)
DropwizardTestSupport<C>
getTestSupport()
DropwizardAppExtension<C>
manage(io.dropwizard.lifecycle.Managed managed)
Application<C>
newApplication()
-
-
-
Constructor Detail
-
DropwizardAppExtension
public DropwizardAppExtension(Class<? extends Application<C>> applicationClass)
-
DropwizardAppExtension
public DropwizardAppExtension(Class<? extends Application<C>> applicationClass, @Nullable String configPath, ConfigOverride... configOverrides)
-
DropwizardAppExtension
public DropwizardAppExtension(Class<? extends Application<C>> applicationClass, @Nullable String configPath, Optional<String> customPropertyPrefix, ConfigOverride... configOverrides)
-
DropwizardAppExtension
public DropwizardAppExtension(Class<? extends Application<C>> applicationClass, @Nullable String configPath, Optional<String> customPropertyPrefix, Function<Application<C>,Command> commandInstantiator, ConfigOverride... configOverrides)
-
DropwizardAppExtension
public DropwizardAppExtension(Class<? extends Application<C>> applicationClass, C configuration)
Alternate constructor that allows specifying exact Configuration object to use, instead of reading a resource and binding it as Configuration object.- Since:
- 0.9
-
DropwizardAppExtension
public DropwizardAppExtension(Class<? extends Application<C>> applicationClass, C configuration, Function<Application<C>,Command> commandInstantiator)
Alternate constructor that allows specifying the command the Dropwizard application is started with.- Since:
- 1.1.0
-
DropwizardAppExtension
public DropwizardAppExtension(DropwizardTestSupport<C> testSupport)
-
-
Method Detail
-
addListener
public DropwizardAppExtension<C> addListener(DropwizardAppExtension.ServiceListener<C> listener)
-
manage
public DropwizardAppExtension<C> manage(io.dropwizard.lifecycle.Managed managed)
-
before
public void before()
Description copied from interface:DropwizardExtension
Executed before test method or class.- Specified by:
before
in interfaceDropwizardExtension
-
after
public void after()
Description copied from interface:DropwizardExtension
Executed after test method or class.- Specified by:
after
in interfaceDropwizardExtension
-
getConfiguration
public C getConfiguration()
-
getLocalPort
public int getLocalPort()
-
getPort
public int getPort(int connectorIndex)
-
getAdminPort
public int getAdminPort()
-
newApplication
public Application<C> newApplication()
-
getApplication
public <A extends Application<C>> A getApplication()
-
getEnvironment
public Environment getEnvironment()
-
getObjectMapper
public com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()
-
getTestSupport
public DropwizardTestSupport<C> getTestSupport()
-
client
public javax.ws.rs.client.Client client()
Returns a new HTTP JerseyClient
for performing HTTP requests against the tested Dropwizard server. The client can be reused across different tests and automatically closed along with the server. The client can be augmented by overriding theclientBuilder()
method.- Returns:
- a new
Client
managed by the extension.
-
clientBuilder
protected org.glassfish.jersey.client.JerseyClientBuilder clientBuilder()
-
-