|
5 | 5 | import com.clickhouse.client.api.ClientException; |
6 | 6 | import com.clickhouse.client.api.ClientFaultCause; |
7 | 7 | import com.clickhouse.client.api.ClientMisconfigurationException; |
| 8 | +import com.clickhouse.client.api.ConnectionInitiationException; |
8 | 9 | import com.clickhouse.client.api.ConnectionReuseStrategy; |
9 | 10 | import com.clickhouse.client.api.ServerException; |
10 | 11 | import com.clickhouse.client.api.enums.Protocol; |
|
30 | 31 |
|
31 | 32 | import java.io.ByteArrayInputStream; |
32 | 33 | import java.net.ConnectException; |
| 34 | +import java.net.UnknownHostException; |
33 | 35 | import java.util.ArrayList; |
34 | 36 | import java.util.Arrays; |
35 | 37 | import java.util.Collections; |
@@ -569,6 +571,21 @@ public void testQueryIdGenerator() throws Exception { |
569 | 571 | Assert.assertEquals(actualIds, new ArrayList<>(queryIds)); |
570 | 572 | } |
571 | 573 |
|
| 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 | + |
572 | 589 | public boolean isVersionMatch(String versionExpression, Client client) { |
573 | 590 | List<GenericRecord> serverVersion = client.queryAll("SELECT version()"); |
574 | 591 | return ClickHouseVersion.of(serverVersion.get(0).getString(1)).check(versionExpression); |
|
0 commit comments