Skip to content

Commit cd76965

Browse files
committed
test: add clickhouse test
1 parent 7b38198 commit cd76965

File tree

3 files changed

+48
-26
lines changed

3 files changed

+48
-26
lines changed

modules/clickhouse/src/test/java/org/testcontainers/ClickhouseTestImages.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,6 @@
44

55
public interface ClickhouseTestImages {
66
DockerImageName CLICKHOUSE_IMAGE = DockerImageName.parse("clickhouse/clickhouse-server:21.9.2-alpine");
7+
8+
DockerImageName CLICKHOUSE_24_12_IMAGE = DockerImageName.parse("clickhouse/clickhouse-server:24.12-alpine");
79
}

modules/clickhouse/src/test/java/org/testcontainers/clickhouse/ClickHouseContainerTest.java

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,56 +2,60 @@
22

33
import com.zaxxer.hikari.pool.PoolInitializationException;
44
import org.junit.Test;
5-
import org.junit.function.ThrowingRunnable;
5+
import org.testcontainers.ClickhouseTestImages;
66
import org.testcontainers.db.AbstractContainerDatabaseTest;
7+
import org.testcontainers.utility.DockerImageName;
78

8-
import javax.sql.DataSource;
99
import java.sql.ResultSet;
1010
import java.sql.SQLException;
11+
import java.util.Arrays;
1112

1213
import static org.assertj.core.api.Assertions.assertThat;
13-
import static org.junit.Assert.assertEquals;
1414
import static org.junit.Assert.assertThrows;
1515
import static org.junit.Assert.assertTrue;
1616

1717
public class ClickHouseContainerTest extends AbstractContainerDatabaseTest {
1818

1919
@Test
2020
public void testSimple() throws SQLException {
21-
try (ClickHouseContainer clickhouse = new ClickHouseContainer("clickhouse/clickhouse-server:21.9.2-alpine")) {
22-
clickhouse.start();
21+
for (DockerImageName image : Arrays.asList(ClickhouseTestImages.CLICKHOUSE_IMAGE, ClickhouseTestImages.CLICKHOUSE_24_12_IMAGE)) {
22+
try (ClickHouseContainer clickhouse = new ClickHouseContainer(image)) {
23+
clickhouse.start();
2324

24-
ResultSet resultSet = performQuery(clickhouse, "SELECT 1");
25+
ResultSet resultSet = performQuery(clickhouse, "SELECT 1");
2526

26-
int resultSetInt = resultSet.getInt(1);
27-
assertThat(resultSetInt).isEqualTo(1);
27+
int resultSetInt = resultSet.getInt(1);
28+
assertThat(resultSetInt).isEqualTo(1);
29+
}
2830
}
2931
}
3032

3133
@Test
3234
public void customCredentialsWithUrlParams() throws SQLException {
33-
try (
34-
ClickHouseContainer clickhouse = new ClickHouseContainer("clickhouse/clickhouse-server:21.9.2-alpine")
35-
.withUsername("test")
36-
.withPassword("test")
37-
.withDatabaseName("test")
38-
.withUrlParam("max_result_rows", "5")
39-
) {
40-
clickhouse.start();
35+
for (DockerImageName image : Arrays.asList(ClickhouseTestImages.CLICKHOUSE_IMAGE, ClickhouseTestImages.CLICKHOUSE_24_12_IMAGE)) {
36+
try (
37+
ClickHouseContainer clickhouse = new ClickHouseContainer(image)
38+
.withUsername("test")
39+
.withPassword("test")
40+
.withDatabaseName("test")
41+
.withUrlParam("max_result_rows", "5")
42+
) {
43+
clickhouse.start();
4144

42-
ResultSet resultSet = performQuery(
43-
clickhouse,
44-
"SELECT value FROM system.settings where name='max_result_rows'"
45-
);
45+
ResultSet resultSet = performQuery(
46+
clickhouse,
47+
"SELECT value FROM system.settings where name='max_result_rows'"
48+
);
4649

47-
int resultSetInt = resultSet.getInt(1);
48-
assertThat(resultSetInt).isEqualTo(5);
50+
int resultSetInt = resultSet.getInt(1);
51+
assertThat(resultSetInt).isEqualTo(5);
52+
}
4953
}
5054
}
5155

5256
@Test
53-
public void testNewAuth() throws SQLException {
54-
try (ClickHouseContainer clickhouse = new ClickHouseContainer("clickhouse/clickhouse-server:24.12-alpine")
57+
public void testNewAuth() {
58+
try (ClickHouseContainer clickhouse = new ClickHouseContainer(ClickhouseTestImages.CLICKHOUSE_24_12_IMAGE)
5559
.withUsername("default").withPassword("")) {
5660
clickhouse.start();
5761

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,38 @@
11
package org.testcontainers.clickhouse;
22

33
import io.r2dbc.spi.ConnectionFactoryOptions;
4+
import org.junit.runner.RunWith;
5+
import org.junit.runners.Parameterized;
6+
import org.testcontainers.ClickhouseTestImages;
47
import org.testcontainers.r2dbc.AbstractR2DBCDatabaseContainerTest;
8+
import org.testcontainers.utility.DockerImageName;
59

10+
@RunWith(Parameterized.class)
611
public class ClickHouseR2DBCDatabaseContainerTest extends AbstractR2DBCDatabaseContainerTest<ClickHouseContainer> {
712

13+
@Parameterized.Parameters(name = "{0}")
14+
public static DockerImageName[] params() {
15+
return new DockerImageName[]{
16+
ClickhouseTestImages.CLICKHOUSE_IMAGE,
17+
ClickhouseTestImages.CLICKHOUSE_24_12_IMAGE
18+
};
19+
}
20+
21+
@Parameterized.Parameter
22+
public DockerImageName image;
23+
824
@Override
925
protected ConnectionFactoryOptions getOptions(ClickHouseContainer container) {
1026
return ClickHouseR2DBCDatabaseContainer.getOptions(container);
1127
}
1228

1329
@Override
1430
protected String createR2DBCUrl() {
15-
return "r2dbc:tc:clickhouse:///db?TC_IMAGE_TAG=21.9.2-alpine";
31+
return "r2dbc:tc:clickhouse:///db?TC_IMAGE_TAG=" + image.getVersionPart();
1632
}
1733

1834
@Override
1935
protected ClickHouseContainer createContainer() {
20-
return new ClickHouseContainer("clickhouse/clickhouse-server:21.9.2-alpine");
36+
return new ClickHouseContainer(image);
2137
}
2238
}

0 commit comments

Comments
 (0)