diff --git a/docs/modules/databases/r2dbc.md b/docs/modules/databases/r2dbc.md index 055d4ad7b0f..5aded5431ca 100644 --- a/docs/modules/databases/r2dbc.md +++ b/docs/modules/databases/r2dbc.md @@ -35,7 +35,7 @@ So that the URL becomes: #### Using ClickHouse -`r2dbc:tc:clickhouse:///databasename?TC_IMAGE_TAG=21.9.2-alpine` +`r2dbc:tc:clickhouse:///databasename?TC_IMAGE_TAG=21.11.11-alpine` #### Using MySQL diff --git a/modules/clickhouse/build.gradle b/modules/clickhouse/build.gradle index 4bec350d6ef..97b8d00d92c 100644 --- a/modules/clickhouse/build.gradle +++ b/modules/clickhouse/build.gradle @@ -5,12 +5,14 @@ dependencies { api project(':jdbc') compileOnly project(':r2dbc') - compileOnly(group: 'com.clickhouse', name: 'clickhouse-r2dbc', version: '0.7.0', classifier: 'http') + compileOnly(group: 'com.clickhouse', name: 'clickhouse-r2dbc', version: '0.7.2', classifier: 'http') testImplementation project(':jdbc-test') - testRuntimeOnly(group: 'com.clickhouse', name: 'clickhouse-jdbc', version: '0.7.0', classifier: 'http') + testRuntimeOnly(group: 'com.clickhouse', name: 'clickhouse-jdbc', version: '0.7.2', classifier: 'http') + testRuntimeOnly(group: 'com.clickhouse', name: 'jdbc-v2', version: '0.7.2', classifier: 'http') + testImplementation 'org.apache.httpcomponents.client5:httpclient5:5.4.2' testImplementation 'org.assertj:assertj-core:3.26.3' testImplementation testFixtures(project(':r2dbc')) - testRuntimeOnly(group: 'com.clickhouse', name: 'clickhouse-r2dbc', version: '0.7.0', classifier: 'http') + testRuntimeOnly(group: 'com.clickhouse', name: 'clickhouse-r2dbc', version: '0.7.2', classifier: 'http') } diff --git a/modules/clickhouse/src/main/java/org/testcontainers/clickhouse/ClickHouseContainer.java b/modules/clickhouse/src/main/java/org/testcontainers/clickhouse/ClickHouseContainer.java index 78610454728..d3256124de1 100644 --- a/modules/clickhouse/src/main/java/org/testcontainers/clickhouse/ClickHouseContainer.java +++ b/modules/clickhouse/src/main/java/org/testcontainers/clickhouse/ClickHouseContainer.java @@ -29,7 +29,9 @@ public class ClickHouseContainer extends JdbcDatabaseContainer getLivenessCheckPortNumbers() { @Override public String getDriverClassName() { - return DRIVER_CLASS_NAME; + try { + Class.forName(DRIVER_CLASS_NAME); + return DRIVER_CLASS_NAME; + } catch (ClassNotFoundException e) { + return LEGACY_V1_DRIVER_CLASS_NAME; + } } @Override diff --git a/modules/clickhouse/src/test/java/org/testcontainers/ClickhouseTestImages.java b/modules/clickhouse/src/test/java/org/testcontainers/ClickhouseTestImages.java index 76a8ac87c94..eff4e19f70b 100644 --- a/modules/clickhouse/src/test/java/org/testcontainers/ClickhouseTestImages.java +++ b/modules/clickhouse/src/test/java/org/testcontainers/ClickhouseTestImages.java @@ -3,7 +3,7 @@ import org.testcontainers.utility.DockerImageName; public interface ClickhouseTestImages { - DockerImageName CLICKHOUSE_IMAGE = DockerImageName.parse("clickhouse/clickhouse-server:21.9.2-alpine"); + DockerImageName CLICKHOUSE_IMAGE = DockerImageName.parse("clickhouse/clickhouse-server:21.11.11-alpine"); DockerImageName CLICKHOUSE_24_12_IMAGE = DockerImageName.parse("clickhouse/clickhouse-server:24.12-alpine"); } diff --git a/modules/clickhouse/src/test/java/org/testcontainers/clickhouse/ClickHouseContainerTest.java b/modules/clickhouse/src/test/java/org/testcontainers/clickhouse/ClickHouseContainerTest.java index 85fe361233f..d5389b610c4 100644 --- a/modules/clickhouse/src/test/java/org/testcontainers/clickhouse/ClickHouseContainerTest.java +++ b/modules/clickhouse/src/test/java/org/testcontainers/clickhouse/ClickHouseContainerTest.java @@ -13,7 +13,7 @@ public class ClickHouseContainerTest extends AbstractContainerDatabaseTest { @Test public void testSimple() throws SQLException { - try (ClickHouseContainer clickhouse = new ClickHouseContainer("clickhouse/clickhouse-server:21.9.2-alpine")) { + try (ClickHouseContainer clickhouse = new ClickHouseContainer("clickhouse/clickhouse-server:21.11-alpine")) { clickhouse.start(); ResultSet resultSet = performQuery(clickhouse, "SELECT 1"); @@ -26,11 +26,12 @@ public void testSimple() throws SQLException { @Test public void customCredentialsWithUrlParams() throws SQLException { try ( - ClickHouseContainer clickhouse = new ClickHouseContainer("clickhouse/clickhouse-server:21.9.2-alpine") + ClickHouseContainer clickhouse = new ClickHouseContainer("clickhouse/clickhouse-server:21.11.2-alpine") .withUsername("default") .withPassword("") .withDatabaseName("test") - .withUrlParam("max_result_rows", "5") + // The new driver uses the prefix `clickhouse_setting_` for session settings + .withUrlParam("clickhouse_setting_max_result_rows", "5") ) { clickhouse.start(); diff --git a/modules/clickhouse/src/test/java/org/testcontainers/clickhouse/ClickHouseR2DBCDatabaseContainerTest.java b/modules/clickhouse/src/test/java/org/testcontainers/clickhouse/ClickHouseR2DBCDatabaseContainerTest.java index a0333e44f5c..000fff8983a 100644 --- a/modules/clickhouse/src/test/java/org/testcontainers/clickhouse/ClickHouseR2DBCDatabaseContainerTest.java +++ b/modules/clickhouse/src/test/java/org/testcontainers/clickhouse/ClickHouseR2DBCDatabaseContainerTest.java @@ -12,11 +12,11 @@ protected ConnectionFactoryOptions getOptions(ClickHouseContainer container) { @Override protected String createR2DBCUrl() { - return "r2dbc:tc:clickhouse:///db?TC_IMAGE_TAG=21.9.2-alpine"; + return "r2dbc:tc:clickhouse:///db?TC_IMAGE_TAG=21.11.11-alpine"; } @Override protected ClickHouseContainer createContainer() { - return new ClickHouseContainer("clickhouse/clickhouse-server:21.9.2-alpine"); + return new ClickHouseContainer("clickhouse/clickhouse-server:21.11.11-alpine"); } }