Skip to content

Commit e12c86c

Browse files
committed
fix: host less URI ignores the database name
1 parent 78d1768 commit e12c86c

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

modules/jdbc/src/main/java/org/testcontainers/jdbc/ConnectionUrl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ private void parseUrl() {
107107
//In case it matches to the default pattern
108108
Matcher dbInstanceMatcher = Patterns.DB_INSTANCE_MATCHING_PATTERN.matcher(dbHostString);
109109
if (dbInstanceMatcher.matches()) {
110-
databaseHost = Optional.of(dbInstanceMatcher.group("databaseHost"));
110+
databaseHost = Optional.ofNullable(dbInstanceMatcher.group("databaseHost"));
111111
databasePort = Optional.ofNullable(dbInstanceMatcher.group("databasePort")).map(Integer::valueOf);
112112
databaseName = Optional.of(dbInstanceMatcher.group("databaseName"));
113113
}
@@ -227,13 +227,13 @@ public interface Patterns {
227227

228228
//Matches to part of string - hostname:port/databasename
229229
Pattern DB_INSTANCE_MATCHING_PATTERN = Pattern.compile(
230-
"(?<databaseHost>[^:]+)" +
230+
"((?<databaseHost>[^:]+)" +
231231
"(:(?<databasePort>[0-9]+))?" +
232232
"(" +
233233
"(?<sidOrServiceName>[:/])" +
234234
"|" +
235235
";databaseName=" +
236-
")" +
236+
")|/)" +
237237
"(?<databaseName>[^\\\\?]+)"
238238
);
239239

modules/jdbc/src/test/java/org/testcontainers/jdbc/ConnectionUrlTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,4 +111,12 @@ public void testDaemonCapture() {
111111

112112
assertThat(url.isInDaemonMode()).as("Daemon flag is set to true.").isTrue();
113113
}
114+
115+
@Test
116+
public void testHostLessUrl() {
117+
String urlString = "jdbc:tc:mysql:///dbname";
118+
ConnectionUrl url = ConnectionUrl.newInstance(urlString);
119+
120+
assertThat(url.getDatabaseName()).as("Database Name value is expected").contains("dbname");
121+
}
114122
}

0 commit comments

Comments
 (0)