|
5 | 5 |
|
6 | 6 | package io.opentelemetry.instrumentation.jdbc.internal; |
7 | 7 |
|
| 8 | +import static io.opentelemetry.instrumentation.jdbc.internal.JdbcConnectionUrlParser.MYSQL; |
8 | 9 | import static io.opentelemetry.instrumentation.jdbc.internal.JdbcConnectionUrlParser.parse; |
| 10 | +import static io.opentelemetry.instrumentation.jdbc.internal.dbinfo.DbInfo.DEFAULT; |
9 | 11 | import static org.assertj.core.api.Assertions.assertThat; |
| 12 | +import static org.assertj.core.api.Assertions.assertThatCode; |
10 | 13 | import static org.junit.jupiter.params.provider.Arguments.arguments; |
11 | 14 |
|
12 | 15 | import io.opentelemetry.instrumentation.jdbc.internal.dbinfo.DbInfo; |
@@ -40,12 +43,12 @@ private static Properties stdProps() { |
40 | 43 | @ParameterizedTest |
41 | 44 | @ValueSource(strings = {"", "jdbc:", "jdbc::", "bogus:string"}) |
42 | 45 | void testInvalidUrlReturnsDefault(String url) { |
43 | | - assertThat(JdbcConnectionUrlParser.parse(url, null)).isEqualTo(DbInfo.DEFAULT); |
| 46 | + assertThat(JdbcConnectionUrlParser.parse(url, null)).isEqualTo(DEFAULT); |
44 | 47 | } |
45 | 48 |
|
46 | 49 | @Test |
47 | 50 | void testNullUrlReturnsDefault() { |
48 | | - assertThat(JdbcConnectionUrlParser.parse(null, null)).isEqualTo(DbInfo.DEFAULT); |
| 51 | + assertThat(JdbcConnectionUrlParser.parse(null, null)).isEqualTo(DEFAULT); |
49 | 52 | } |
50 | 53 |
|
51 | 54 | private static Stream<Arguments> mySqlArguments() { |
@@ -1374,4 +1377,16 @@ static Stream<Arguments> args(ParseTestArgument... testArguments) { |
1374 | 1377 | } |
1375 | 1378 | return list.stream(); |
1376 | 1379 | } |
| 1380 | + |
| 1381 | + @ParameterizedTest |
| 1382 | + @ValueSource( |
| 1383 | + strings = { |
| 1384 | + "mysql:loadbalance://string_without_slash", |
| 1385 | + "mysql:loadbalance://host:3306", // with port but no slash |
| 1386 | + "mariadb:failover://[::1]:3306" // IPv6 without slash |
| 1387 | + }) |
| 1388 | + void testMySQLUrlsWithoutSlashDoNotThrowException(String url) { |
| 1389 | + assertThatCode(() -> MYSQL.doParse(url, DEFAULT.toBuilder().system("mysql"))) |
| 1390 | + .doesNotThrowAnyException(); |
| 1391 | + } |
1377 | 1392 | } |
0 commit comments