DBZ-6306 Use connection string configuration in ConnectorConfiguration#forMongoDbContainer

This commit is contained in:
ani-sha 2023-04-04 19:15:12 +05:30 committed by Jakub Cechacek
parent 6a54b04da1
commit 434833e179

View File

@ -8,7 +8,6 @@
import java.util.List; import java.util.List;
import org.testcontainers.containers.JdbcDatabaseContainer; import org.testcontainers.containers.JdbcDatabaseContainer;
import org.testcontainers.containers.MongoDBContainer;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
@ -39,12 +38,11 @@ static ConnectorConfiguration from(JsonNode configNode) {
private static final String CONNECTOR = "connector.class"; private static final String CONNECTOR = "connector.class";
private static final String HOSTNAME = "database.hostname"; private static final String HOSTNAME = "database.hostname";
private static final String HOSTS = "mongodb.hosts"; private static final String CONNECTION_STRING = "mongodb.connection.string";
private static final String PORT = "database.port"; private static final String PORT = "database.port";
private static final String USER = "database.user"; private static final String USER = "database.user";
private static final String PASSWORD = "database.password"; private static final String PASSWORD = "database.password";
private static final String DBNAME = "database.dbname"; private static final String DBNAME = "database.dbname";
private static final String AUTO_DISCOVER_MEMBERS = "mongodb.members.auto.discover";
public static ConnectorConfiguration forJdbcContainer(JdbcDatabaseContainer<?> jdbcDatabaseContainer) { public static ConnectorConfiguration forJdbcContainer(JdbcDatabaseContainer<?> jdbcDatabaseContainer) {
ConnectorConfiguration configuration = new ConnectorConfiguration(); ConnectorConfiguration configuration = new ConnectorConfiguration();
@ -68,14 +66,10 @@ public static ConnectorConfiguration forJdbcContainer(JdbcDatabaseContainer<?> j
return configuration; return configuration;
} }
public static ConnectorConfiguration forMongoDbContainer(MongoDBContainer mongoDbContainer) { public static ConnectorConfiguration forMongoDbContainer(MongoDbContainer mongoDbContainer) {
final List<Integer> exposedPorts = mongoDbContainer.getExposedPorts();
ConnectorConfiguration configuration = new ConnectorConfiguration(); ConnectorConfiguration configuration = new ConnectorConfiguration();
configuration.with(CONNECTOR, "io.debezium.connector.mongodb.MongoDbConnector") configuration.with(CONNECTOR, "io.debezium.connector.mongodb.MongoDbConnector")
.with(HOSTS, "rs0/" + mongoDbContainer.getContainerInfo().getConfig().getHostName() .with(CONNECTION_STRING, "mongodb://" + mongoDbContainer.getNamedAddress());
+ ":" + exposedPorts.get(0))
.with(AUTO_DISCOVER_MEMBERS, false);
return configuration; return configuration;
} }