Skip to content

Commit 84f84ab

Browse files
committed
Added test that host with underscore accepted but properly causes UnknownHostException
1 parent 1ce6ce5 commit 84f84ab

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

client-v2/src/test/java/com/clickhouse/client/ClientTests.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.clickhouse.client.api.ClientException;
66
import com.clickhouse.client.api.ClientFaultCause;
77
import com.clickhouse.client.api.ClientMisconfigurationException;
8+
import com.clickhouse.client.api.ConnectionInitiationException;
89
import com.clickhouse.client.api.ConnectionReuseStrategy;
910
import com.clickhouse.client.api.ServerException;
1011
import com.clickhouse.client.api.enums.Protocol;
@@ -30,6 +31,7 @@
3031

3132
import java.io.ByteArrayInputStream;
3233
import java.net.ConnectException;
34+
import java.net.UnknownHostException;
3335
import java.util.ArrayList;
3436
import java.util.Arrays;
3537
import java.util.Collections;
@@ -569,6 +571,21 @@ public void testQueryIdGenerator() throws Exception {
569571
Assert.assertEquals(actualIds, new ArrayList<>(queryIds));
570572
}
571573

574+
@Test(groups = {"integration"})
575+
public void testHostnameWithUnderscore() throws Exception {
576+
577+
try (Client client = new Client.Builder().addEndpoint("http://localhost_db:8123")
578+
.setUsername("default")
579+
.build()) {
580+
client.queryAll("SELECT 1");
581+
fail("Exception expected");
582+
} catch (ClientException e) {
583+
Assert.assertTrue(e.getCause() instanceof ConnectionInitiationException);
584+
ConnectionInitiationException ce = (ConnectionInitiationException) e.getCause();
585+
Assert.assertTrue(ce.getCause() instanceof UnknownHostException);
586+
}
587+
}
588+
572589
public boolean isVersionMatch(String versionExpression, Client client) {
573590
List<GenericRecord> serverVersion = client.queryAll("SELECT version()");
574591
return ClickHouseVersion.of(serverVersion.get(0).getString(1)).check(versionExpression);

0 commit comments

Comments
 (0)