|
5 | 5 |
|
6 | 6 | package io.opentelemetry.instrumentation.jdbc.internal; |
7 | 7 |
|
8 | | -import static io.opentelemetry.instrumentation.jdbc.internal.JdbcConnectionUrlParser.MYSQL; |
9 | 8 | import static io.opentelemetry.instrumentation.jdbc.internal.JdbcConnectionUrlParser.parse; |
10 | 9 | import static io.opentelemetry.instrumentation.jdbc.internal.dbinfo.DbInfo.DEFAULT; |
11 | 10 | import static org.assertj.core.api.Assertions.assertThat; |
12 | | -import static org.assertj.core.api.Assertions.assertThatCode; |
13 | 11 | import static org.junit.jupiter.params.provider.Arguments.arguments; |
14 | 12 |
|
15 | 13 | import io.opentelemetry.instrumentation.jdbc.internal.dbinfo.DbInfo; |
@@ -150,6 +148,27 @@ private static Stream<Arguments> mySqlArguments() { |
150 | 148 | .setHost("mdb.host") |
151 | 149 | .setPort(3306) |
152 | 150 | .setDb("mdbdb") |
| 151 | + .build(), |
| 152 | + arg("jdbc:mysql:loadbalance://localhost") |
| 153 | + .setShortUrl("mysql:loadbalance://localhost:3306") |
| 154 | + .setSystem("mysql") |
| 155 | + .setSubtype("loadbalance") |
| 156 | + .setHost("localhost") |
| 157 | + .setPort(3306) |
| 158 | + .build(), |
| 159 | + arg("jdbc:mysql:loadbalance://host:3306") // with port but no slash |
| 160 | + .setShortUrl("mysql:loadbalance://host:3306") |
| 161 | + .setSystem("mysql") |
| 162 | + .setSubtype("loadbalance") |
| 163 | + .setHost("host") |
| 164 | + .setPort(3306) |
| 165 | + .build(), |
| 166 | + arg("jdbc:mysql:failover://[::1]:3306") // IPv6 without slash |
| 167 | + .setShortUrl("mysql:failover://::1:3306") |
| 168 | + .setSystem("mysql") |
| 169 | + .setSubtype("failover") |
| 170 | + .setHost("::1") |
| 171 | + .setPort(3306) |
153 | 172 | .build()); |
154 | 173 | } |
155 | 174 |
|
@@ -332,6 +351,27 @@ private static Stream<Arguments> mariaDbArguments() { |
332 | 351 | .setHost("localhost") |
333 | 352 | .setPort(33) |
334 | 353 | .setDb("mdbdb") |
| 354 | + .build(), |
| 355 | + arg("jdbc:mariadb:loadbalance://localhost") |
| 356 | + .setShortUrl("mariadb:loadbalance://localhost:3306") |
| 357 | + .setSystem("mariadb") |
| 358 | + .setSubtype("loadbalance") |
| 359 | + .setHost("localhost") |
| 360 | + .setPort(3306) |
| 361 | + .build(), |
| 362 | + arg("jdbc:mariadb:loadbalance://host:3306") // with port but no slash |
| 363 | + .setShortUrl("mariadb:loadbalance://host:3306") |
| 364 | + .setSystem("mariadb") |
| 365 | + .setSubtype("loadbalance") |
| 366 | + .setHost("host") |
| 367 | + .setPort(3306) |
| 368 | + .build(), |
| 369 | + arg("jdbc:mariadb:failover://[::1]:3306") // IPv6 without slash |
| 370 | + .setShortUrl("mariadb:failover://::1:3306") |
| 371 | + .setSystem("mariadb") |
| 372 | + .setSubtype("failover") |
| 373 | + .setHost("::1") |
| 374 | + .setPort(3306) |
335 | 375 | .build()); |
336 | 376 | } |
337 | 377 |
|
@@ -1377,16 +1417,4 @@ static Stream<Arguments> args(ParseTestArgument... testArguments) { |
1377 | 1417 | } |
1378 | 1418 | return list.stream(); |
1379 | 1419 | } |
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 | | - } |
1392 | 1420 | } |
0 commit comments