File tree Expand file tree Collapse file tree 2 files changed +11
-3
lines changed
main/java/org/testcontainers/jdbc
test/java/org/testcontainers/jdbc Expand file tree Collapse file tree 2 files changed +11
-3
lines changed Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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}
You can’t perform that action at this time.
0 commit comments