public class ComposeContainer extends FailureDetectingExternalResource implements Startable
Modifier and Type | Class and Description |
---|---|
static class |
ComposeContainer.RemoveImages |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
COMPOSE_EXECUTABLE |
Constructor and Description |
---|
ComposeContainer(java.io.File... composeFiles) |
ComposeContainer(java.util.List<java.io.File> composeFiles) |
ComposeContainer(java.lang.String identifier,
java.io.File... composeFiles) |
ComposeContainer(java.lang.String identifier,
java.util.List<java.io.File> composeFiles) |
Modifier and Type | Method and Description |
---|---|
org.junit.runners.model.Statement |
apply(org.junit.runners.model.Statement base,
org.junit.runner.Description description)
Deprecated.
|
protected void |
failed(java.lang.Throwable e,
org.junit.runner.Description description)
Deprecated.
|
void |
finished(org.junit.runner.Description description)
Deprecated.
|
java.util.Optional<ContainerState> |
getContainerByServiceName(java.lang.String serviceName) |
java.lang.String |
getServiceHost(java.lang.String serviceName,
java.lang.Integer servicePort)
Get the host (e.g.
|
java.lang.Integer |
getServicePort(java.lang.String serviceName,
java.lang.Integer servicePort)
Get the port that an exposed service can be found at, from the host machine
(i.e.
|
void |
start() |
void |
starting(org.junit.runner.Description description)
Deprecated.
|
void |
stop() |
protected void |
succeeded(org.junit.runner.Description description)
Deprecated.
|
ComposeContainer |
waitingFor(java.lang.String serviceName,
@NonNull WaitStrategy waitStrategy)
Specify the
WaitStrategy to use to determine if the container is ready. |
ComposeContainer |
withBuild(boolean build)
Whether to always build images before starting containers.
|
ComposeContainer |
withEnv(java.util.Map<java.lang.String,java.lang.String> env) |
ComposeContainer |
withEnv(java.lang.String key,
java.lang.String value) |
ComposeContainer |
withExposedService(java.lang.String serviceName,
int servicePort) |
ComposeContainer |
withExposedService(java.lang.String serviceName,
int instance,
int servicePort) |
ComposeContainer |
withExposedService(java.lang.String serviceName,
int instance,
int servicePort,
WaitStrategy waitStrategy) |
ComposeContainer |
withExposedService(java.lang.String serviceName,
int servicePort,
@NonNull WaitStrategy waitStrategy) |
ComposeContainer |
withLocalCompose(boolean localCompose)
Use a local Docker Compose binary instead of a container.
|
ComposeContainer |
withLogConsumer(java.lang.String serviceName,
java.util.function.Consumer<OutputFrame> consumer)
Attach an output consumer at container startup, enabling stdout and stderr to be followed, waited on, etc.
|
ComposeContainer |
withOptions(java.lang.String... options)
Adds options to the docker command, e.g.
|
ComposeContainer |
withPull(boolean pull)
Whether to pull images first.
|
ComposeContainer |
withRemoveImages(ComposeContainer.RemoveImages removeImages)
Remove images after containers shutdown.
|
ComposeContainer |
withRemoveVolumes(boolean removeVolumes)
Remove volumes after containers shut down.
|
ComposeContainer |
withScaledService(java.lang.String serviceBaseName,
int numInstances) |
ComposeContainer |
withServices(java.lang.String... services) |
ComposeContainer |
withStartupTimeout(java.time.Duration startupTimeout)
Set the maximum startup timeout all the waits set are bounded to.
|
ComposeContainer |
withTailChildContainers(boolean tailChildContainers)
Whether to tail child container logs.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
close, getDependencies
public ComposeContainer(java.io.File... composeFiles)
public ComposeContainer(java.util.List<java.io.File> composeFiles)
public ComposeContainer(java.lang.String identifier, java.io.File... composeFiles)
public ComposeContainer(java.lang.String identifier, java.util.List<java.io.File> composeFiles)
@Deprecated public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description description)
apply
in interface org.junit.rules.TestRule
apply
in class FailureDetectingExternalResource
@Deprecated public void starting(org.junit.runner.Description description)
starting
in class FailureDetectingExternalResource
@Deprecated protected void succeeded(org.junit.runner.Description description)
succeeded
in class FailureDetectingExternalResource
@Deprecated protected void failed(java.lang.Throwable e, org.junit.runner.Description description)
failed
in class FailureDetectingExternalResource
@Deprecated public void finished(org.junit.runner.Description description)
finished
in class FailureDetectingExternalResource
public ComposeContainer withServices(@NonNull java.lang.String... services)
public ComposeContainer withExposedService(java.lang.String serviceName, int servicePort)
public ComposeContainer withExposedService(java.lang.String serviceName, int instance, int servicePort)
public ComposeContainer withExposedService(java.lang.String serviceName, int instance, int servicePort, WaitStrategy waitStrategy)
public ComposeContainer withExposedService(java.lang.String serviceName, int servicePort, @NonNull @NonNull WaitStrategy waitStrategy)
public ComposeContainer waitingFor(java.lang.String serviceName, @NonNull @NonNull WaitStrategy waitStrategy)
WaitStrategy
to use to determine if the container is ready.serviceName
- the name of the service to wait forwaitStrategy
- the WaitStrategy to useWait.defaultWaitStrategy()
public java.lang.String getServiceHost(java.lang.String serviceName, java.lang.Integer servicePort)
The service must have been declared using ComposeContainer#withExposedService.
serviceName
- the name of the service as set in the docker-compose.yml file.servicePort
- the port exposed by the service container.public java.lang.Integer getServicePort(java.lang.String serviceName, java.lang.Integer servicePort)
The service must have been declared using ComposeContainer#withExposedService.
serviceName
- the name of the service as set in the docker-compose.yml file.servicePort
- the port exposed by the service container.public ComposeContainer withScaledService(java.lang.String serviceBaseName, int numInstances)
public ComposeContainer withEnv(java.lang.String key, java.lang.String value)
public ComposeContainer withEnv(java.util.Map<java.lang.String,java.lang.String> env)
public ComposeContainer withLocalCompose(boolean localCompose)
public ComposeContainer withPull(boolean pull)
public ComposeContainer withTailChildContainers(boolean tailChildContainers)
public ComposeContainer withLogConsumer(java.lang.String serviceName, java.util.function.Consumer<OutputFrame> consumer)
More than one consumer may be registered.
serviceName
- the name of the service as set in the docker-compose.yml fileconsumer
- consumer that output frames should be sent topublic ComposeContainer withBuild(boolean build)
public ComposeContainer withOptions(java.lang.String... options)
public ComposeContainer withRemoveImages(ComposeContainer.RemoveImages removeImages)
public ComposeContainer withRemoveVolumes(boolean removeVolumes)
removeVolumes
- whether volumes are to be removed.public ComposeContainer withStartupTimeout(java.time.Duration startupTimeout)
public java.util.Optional<ContainerState> getContainerByServiceName(java.lang.String serviceName)