Class MongoDbReplicaSet
java.lang.Object
io.debezium.testing.testcontainers.MongoDbReplicaSet
- All Implemented Interfaces:
MongoDbDeployment,AutoCloseable,org.testcontainers.lifecycle.Startable
A MongoDB replica set.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final booleanprivate final booleanprivate final org.testcontainers.utility.DockerImageNameprivate static final org.slf4j.Loggerprivate final intprivate final List<MongoDbContainer>private final Stringprivate final org.testcontainers.containers.Networkprivate final Supplier<MongoDbContainer.Builder>private final PortResolverprivate final Stringprivate final Stringprivate boolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidstatic MongoDbReplicaSet.Builderprivate voidvoidcreateUser(String username, String password, String database, String... rolePairs) Creates new user in the RS via primary;org.testcontainers.containers.Container.ExecResultexecMongoScript(org.testcontainers.utility.MountableFile file, String containerPath) Upload and executes mongodb javascript file against current primary SeeMongoDbContainer.execMongoScriptInContainer(MountableFile, String)private Optional<MongoDbContainer>findMember(org.testcontainers.shaded.com.fasterxml.jackson.databind.JsonNode memberStatus) getAuthConnectionString(String username, String password, String authSource) private StringgetConnectionString(boolean useAuth, String username, String password, String authSource) Set<org.testcontainers.lifecycle.Startable>Returns the replica set member containers.getName()private org.testcontainers.shaded.com.fasterxml.jackson.databind.JsonNodeprivate voidvoidstatic MongoDbReplicaSet.Builderstatic MongoDbReplicaSet.Buildervoidstart()voidstepDown()voidstop()private static <T> Stream<T>toString()withStartupTimeout(Duration startupTimeout) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.testcontainers.lifecycle.Startable
close
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
name
-
memberCount
private final int memberCount -
configServer
private final boolean configServer -
network
private final org.testcontainers.containers.Network network -
portResolver
-
members
-
imageName
private final org.testcontainers.utility.DockerImageName imageName -
authEnabled
private final boolean authEnabled -
rootUser
-
rootPassword
-
nodeSupplier
-
started
private boolean started
-
-
Constructor Details
-
MongoDbReplicaSet
-
-
Method Details
-
replicaSet
-
shardReplicaSet
-
configServerReplicaSet
-
getName
-
getDependencies
- Specified by:
getDependenciesin interfaceorg.testcontainers.lifecycle.Startable
-
getConnectionString
- Specified by:
getConnectionStringin interfaceMongoDbDeployment- Returns:
- the standard connection string
to the replica set, comprised of only the
mongodhosts.
-
getNoAuthConnectionString
- Specified by:
getNoAuthConnectionStringin interfaceMongoDbDeployment
-
getAuthConnectionString
- Specified by:
getAuthConnectionStringin interfaceMongoDbDeployment
-
getConnectionString
-
getMembers
Returns the replica set member containers.- Returns:
- the replica set members
-
start
public void start()- Specified by:
startin interfaceorg.testcontainers.lifecycle.Startable
-
stop
public void stop()- Specified by:
stopin interfaceorg.testcontainers.lifecycle.Startable
-
initializeReplicaSet
private void initializeReplicaSet() -
createRootUser
private void createRootUser() -
createUser
Creates new user in the RS via primary;- Parameters:
username- namepassword- passworddatabase- auth databaserolePairs- either role name or "role:database" pair
-
execMongoScript
public org.testcontainers.containers.Container.ExecResult execMongoScript(org.testcontainers.utility.MountableFile file, String containerPath) Upload and executes mongodb javascript file against current primary SeeMongoDbContainer.execMongoScriptInContainer(MountableFile, String) -
awaitReplicaPrimary
public void awaitReplicaPrimary() -
stepDown
public void stepDown() -
killPrimary
public void killPrimary() -
tryPrimary
-
findMember
private Optional<MongoDbContainer> findMember(org.testcontainers.shaded.com.fasterxml.jackson.databind.JsonNode memberStatus) -
getStatus
private org.testcontainers.shaded.com.fasterxml.jackson.databind.JsonNode getStatus() -
getHostNames
-
withStartupTimeout
-
toString
-
stream
-