diff --git a/modules/clickhouse/src/main/java/org/testcontainers/containers/ClickHouseContainer.java b/modules/clickhouse/src/main/java/org/testcontainers/containers/ClickHouseContainer.java index 16bbeef6c81..4e87c77ee5b 100644 --- a/modules/clickhouse/src/main/java/org/testcontainers/containers/ClickHouseContainer.java +++ b/modules/clickhouse/src/main/java/org/testcontainers/containers/ClickHouseContainer.java @@ -1,13 +1,13 @@ package org.testcontainers.containers; -import com.google.common.collect.Sets; import org.testcontainers.containers.wait.strategy.HttpWaitStrategy; import org.testcontainers.utility.DockerImageName; import java.time.Duration; +import java.util.HashSet; import java.util.Set; -public class ClickHouseContainer extends JdbcDatabaseContainer { +public class ClickHouseContainer extends JdbcDatabaseContainer { public static final String NAME = "clickhouse"; @@ -53,23 +53,27 @@ public ClickHouseContainer(final DockerImageName dockerImageName) { super(dockerImageName); dockerImageName.assertCompatibleWith(DEFAULT_IMAGE_NAME, CLICKHOUSE_IMAGE_NAME); - withExposedPorts(HTTP_PORT, NATIVE_PORT); - waitingFor( + addExposedPorts(HTTP_PORT, NATIVE_PORT); + this.waitStrategy = new HttpWaitStrategy() .forStatusCode(200) - .forResponsePredicate(responseBody -> "Ok.".equals(responseBody)) - .withStartupTimeout(Duration.ofMinutes(1)) - ); + .forResponsePredicate("Ok."::equals) + .withStartupTimeout(Duration.ofMinutes(1)); } @Override public Set getLivenessCheckPortNumbers() { - return Sets.newHashSet(HTTP_PORT); + return new HashSet<>(getMappedPort(HTTP_PORT)); } @Override public String getDriverClassName() { - return DRIVER_CLASS_NAME; + try { + Class.forName(DRIVER_CLASS_NAME); + return DRIVER_CLASS_NAME; + } catch (ClassNotFoundException e) { + return "com.clickhouse.jdbc.ClickHouseDriver"; + } } @Override