3131import com .clickhouse .client .http .config .HttpConnectionProvider ;
3232import com .clickhouse .data .ClickHouseDataType ;
3333import com .clickhouse .data .ClickHouseFormat ;
34+ import com .clickhouse .data .ClickHouseVersion ;
3435import com .fasterxml .jackson .databind .JsonNode ;
3536import com .fasterxml .jackson .databind .MappingIterator ;
3637import 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