|
6 | 6 | package io.opentelemetry.instrumentation.jdbc.internal;
|
7 | 7 |
|
8 | 8 | import static io.opentelemetry.instrumentation.jdbc.internal.JdbcConnectionUrlParser.parse;
|
| 9 | +import static io.opentelemetry.instrumentation.jdbc.internal.dbinfo.DbInfo.DEFAULT; |
9 | 10 | import static org.assertj.core.api.Assertions.assertThat;
|
10 | 11 | import static org.junit.jupiter.params.provider.Arguments.arguments;
|
11 | 12 |
|
@@ -40,12 +41,12 @@ private static Properties stdProps() {
|
40 | 41 | @ParameterizedTest
|
41 | 42 | @ValueSource(strings = {"", "jdbc:", "jdbc::", "bogus:string"})
|
42 | 43 | void testInvalidUrlReturnsDefault(String url) {
|
43 |
| - assertThat(JdbcConnectionUrlParser.parse(url, null)).isEqualTo(DbInfo.DEFAULT); |
| 44 | + assertThat(JdbcConnectionUrlParser.parse(url, null)).isEqualTo(DEFAULT); |
44 | 45 | }
|
45 | 46 |
|
46 | 47 | @Test
|
47 | 48 | void testNullUrlReturnsDefault() {
|
48 |
| - assertThat(JdbcConnectionUrlParser.parse(null, null)).isEqualTo(DbInfo.DEFAULT); |
| 49 | + assertThat(JdbcConnectionUrlParser.parse(null, null)).isEqualTo(DEFAULT); |
49 | 50 | }
|
50 | 51 |
|
51 | 52 | private static Stream<Arguments> mySqlArguments() {
|
@@ -147,6 +148,27 @@ private static Stream<Arguments> mySqlArguments() {
|
147 | 148 | .setHost("mdb.host")
|
148 | 149 | .setPort(3306)
|
149 | 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) |
150 | 172 | .build());
|
151 | 173 | }
|
152 | 174 |
|
@@ -329,6 +351,27 @@ private static Stream<Arguments> mariaDbArguments() {
|
329 | 351 | .setHost("localhost")
|
330 | 352 | .setPort(33)
|
331 | 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) |
332 | 375 | .build());
|
333 | 376 | }
|
334 | 377 |
|
|
0 commit comments