Package software.xdev.tci.safestart
Class SafeNamedContainerStarter<C extends org.testcontainers.containers.GenericContainer<?>>
java.lang.Object
software.xdev.tci.safestart.SafeNamedContainerStarter<C>
- All Implemented Interfaces:
Runnable
public class SafeNamedContainerStarter<C extends org.testcontainers.containers.GenericContainer<?>>
extends Object
implements Runnable
It's not possible to start a container with e.g. the same name, port bindings, etc. with
startupAttempts >
1, which is the default in a few containers (e.g. MariaDB or Selenium-Browsers).
SafeNamedContainerStarter addresses these problems by
- ensuring that after every started container has a unique name (addresses the name problem)
- removing previously failed started containers (addresses the port and other problems)
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionSafeNamedContainerStarter(String baseContainerName, C container) SafeNamedContainerStarter(String baseContainerName, C container, Consumer<C> starter) -
Method Summary
Modifier and TypeMethodDescriptionvoidrun()voidstart()protected voidtryCleanupContainerAfterStartFail(List<String> containerNames) withAttachRandomUUID(boolean attachRandomUUID)
-
Field Details
-
LOG
protected static final org.slf4j.Logger LOG -
baseContainerName
-
containerNames
-
container
-
starter
-
attachRandomUUID
protected boolean attachRandomUUID
-
-
Constructor Details
-
SafeNamedContainerStarter
-
SafeNamedContainerStarter
-
-
Method Details