Skip to content

Commit 76d0e7c

Browse files
committed
added server version check for roles feature
1 parent 8e10e18 commit 76d0e7c

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

client-v2/src/test/java/com/clickhouse/client/query/QueryTests.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import com.clickhouse.client.http.config.HttpConnectionProvider;
3232
import com.clickhouse.data.ClickHouseDataType;
3333
import com.clickhouse.data.ClickHouseFormat;
34+
import com.clickhouse.data.ClickHouseVersion;
3435
import com.fasterxml.jackson.databind.JsonNode;
3536
import com.fasterxml.jackson.databind.MappingIterator;
3637
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -1588,6 +1589,12 @@ private static Object[][] sessionRoles() {
15881589

15891590
@Test(groups = {"integration"}, dataProvider = "sessionRoles", dataProviderClass = QueryTests.class)
15901591
public void testOperationCustomRoles(String[] roles) throws Exception {
1592+
List<GenericRecord> serverVersion = client.queryAll("SELECT version()");
1593+
if (ClickHouseVersion.of(serverVersion.get(0).getString(1)).check("(,24.3]")) {
1594+
System.out.println("Test is skipped: feature is supported since 24.4");
1595+
return;
1596+
}
1597+
15911598
final String password = UUID.randomUUID().toString();
15921599
final String rolesList = "\"" + Strings.join("\",\"", roles) + "\"";
15931600
try (CommandResponse resp = client.execute("DROP ROLE IF EXISTS " + rolesList).get()) {
@@ -1601,6 +1608,7 @@ public void testOperationCustomRoles(String[] roles) throws Exception {
16011608
try (CommandResponse resp = client.execute("GRANT " + rolesList + " TO some_user").get()) {
16021609
}
16031610

1611+
16041612
try (Client userClient = newClient().setUsername("some_user").setPassword(password).build()) {
16051613
QuerySettings settings = new QuerySettings().setDBRoles(Arrays.asList(roles));
16061614
List<GenericRecord> resp = userClient.queryAll("SELECT currentRoles()", settings);
@@ -1619,6 +1627,12 @@ private static Object[][] clientSessionRoles() {
16191627
}
16201628
@Test(groups = {"integration"}, dataProvider = "clientSessionRoles", dataProviderClass = QueryTests.class)
16211629
public void testClientCustomRoles(String[] roles) throws Exception {
1630+
List<GenericRecord> serverVersion = client.queryAll("SELECT version()");
1631+
if (ClickHouseVersion.of(serverVersion.get(0).getString(1)).check("(,24.3]")) {
1632+
System.out.println("Test is skipped: feature is supported since 24.4");
1633+
return;
1634+
}
1635+
16221636
final String password = UUID.randomUUID().toString();
16231637
final String rolesList = "\"" + Strings.join("\",\"", roles) + "\"";
16241638
try (CommandResponse resp = client.execute("DROP ROLE IF EXISTS " + rolesList).get()) {

0 commit comments

Comments
 (0)