From f8a0569a599082ca196bf2a00123299eb92b8174 Mon Sep 17 00:00:00 2001 From: mohamedtoukhy03 Date: Sat, 12 Sep 2026 12:59:26 +0300 Subject: [PATCH] feat(questdb): Append URL parameters in QuestDBContainer.getJdbcUrl() --- .../containers/QuestDBContainer.java | 14 ++++++++++- .../junit/questdb/SimpleQuestDBTest.java | 24 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/modules/questdb/src/main/java/org/testcontainers/containers/QuestDBContainer.java b/modules/questdb/src/main/java/org/testcontainers/containers/QuestDBContainer.java index 86a8854e498..82495b1ebad 100644 --- a/modules/questdb/src/main/java/org/testcontainers/containers/QuestDBContainer.java +++ b/modules/questdb/src/main/java/org/testcontainers/containers/QuestDBContainer.java @@ -58,9 +58,21 @@ public String getDriverClassName() { return "org.postgresql.Driver"; } + @Override + public String getDatabaseName() { + return getDefaultDatabaseName(); + } + @Override public String getJdbcUrl() { - return String.format("jdbc:postgresql://%s:%d/%s", getHost(), getMappedPort(8812), getDefaultDatabaseName()); + String additionalUrlParams = constructUrlParameters("?", "&"); + return String.format( + "jdbc:postgresql://%s:%d/%s%s", + getHost(), + getMappedPort(POSTGRES_PORT), + getDatabaseName(), + additionalUrlParams + ); } @Override diff --git a/modules/questdb/src/test/java/org/testcontainers/junit/questdb/SimpleQuestDBTest.java b/modules/questdb/src/test/java/org/testcontainers/junit/questdb/SimpleQuestDBTest.java index 6b0ff6e3107..d649cc7de57 100644 --- a/modules/questdb/src/test/java/org/testcontainers/junit/questdb/SimpleQuestDBTest.java +++ b/modules/questdb/src/test/java/org/testcontainers/junit/questdb/SimpleQuestDBTest.java @@ -39,6 +39,30 @@ void testSimple() throws SQLException { } } + @Test + void testWithAdditionalUrlParamInJdbcUrl() { + try ( + QuestDBContainer questdb = new QuestDBContainer(QuestDBTestImages.QUESTDB_IMAGE) + .withUrlParam("sslmode", "disable") + .withUrlParam("binaryTransfer", "true") + ) { + questdb.start(); + String jdbcUrl = questdb.getJdbcUrl(); + assertThat(jdbcUrl) + .contains("?") + .contains("&") + .contains("sslmode=disable") + .contains("binaryTransfer=true"); + } + } + + @Test + void testDatabaseName() { + try (QuestDBContainer questdb = new QuestDBContainer(QuestDBTestImages.QUESTDB_IMAGE)) { + assertThat(questdb.getDatabaseName()).isEqualTo("qdb"); + } + } + @Test void testRest() throws IOException { try (QuestDBContainer questdb = new QuestDBContainer(QuestDBTestImages.QUESTDB_IMAGE)) {