parent
d44ecf5086
commit
bebdee3709
|
|
@ -139,7 +139,7 @@ public enum EmbeddedDatabaseConnection {
|
|||
* database type.
|
||||
* @param driverClass the driver class
|
||||
* @return true if the driver class is one of the embedded types
|
||||
* @deprecated since 2.4.0 in favor of {@link #isEmbedded(String, String)}
|
||||
* @deprecated since 2.3.5 in favor of {@link #isEmbedded(String, String)}
|
||||
*/
|
||||
@Deprecated
|
||||
public static boolean isEmbedded(String driverClass) {
|
||||
|
|
@ -154,7 +154,14 @@ public enum EmbeddedDatabaseConnection {
|
|||
* @return true if the driver class and url refer to an embedded database
|
||||
*/
|
||||
public static boolean isEmbedded(String driverClass, String url) {
|
||||
return driverClass != null && getEmbeddedDatabaseConnection(driverClass).isEmbeddedUrl(url);
|
||||
if (driverClass == null) {
|
||||
return false;
|
||||
}
|
||||
EmbeddedDatabaseConnection connection = getEmbeddedDatabaseConnection(driverClass);
|
||||
if (connection == NONE) {
|
||||
return false;
|
||||
}
|
||||
return (url == null || connection.isEmbeddedUrl(url));
|
||||
}
|
||||
|
||||
private static EmbeddedDatabaseConnection getEmbeddedDatabaseConnection(String driverClass) {
|
||||
|
|
|
|||
|
|
@ -92,18 +92,27 @@ class EmbeddedDatabaseConnectionTests {
|
|||
.withMessageContaining("DatabaseName must not be empty");
|
||||
}
|
||||
|
||||
@ParameterizedTest(name = "{1}")
|
||||
@ParameterizedTest(name = "{0} - {1}")
|
||||
@MethodSource("embeddedDriverAndUrlParameters")
|
||||
void isEmbeddedWithDriverAndUrl(EmbeddedDatabaseConnection connection, String url, boolean embedded) {
|
||||
assertThat(EmbeddedDatabaseConnection.isEmbedded(connection.getDriverClassName(), url)).isEqualTo(embedded);
|
||||
void isEmbeddedWithDriverAndUrl(String driverClassName, String url, boolean embedded) {
|
||||
assertThat(EmbeddedDatabaseConnection.isEmbedded(driverClassName, url)).isEqualTo(embedded);
|
||||
}
|
||||
|
||||
static Object[] embeddedDriverAndUrlParameters() {
|
||||
return new Object[] { new Object[] { EmbeddedDatabaseConnection.H2, "jdbc:h2:~/test", false },
|
||||
new Object[] { EmbeddedDatabaseConnection.H2, "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1", true },
|
||||
new Object[] { EmbeddedDatabaseConnection.HSQLDB, "jdbc:hsqldb:hsql://localhost", false },
|
||||
new Object[] { EmbeddedDatabaseConnection.HSQLDB, "jdbc:hsqldb:mem:test", true },
|
||||
new Object[] { EmbeddedDatabaseConnection.DERBY, "jdbc:derby:memory:test", true } };
|
||||
return new Object[] {
|
||||
new Object[] { EmbeddedDatabaseConnection.H2.getDriverClassName(), "jdbc:h2:~/test", false },
|
||||
new Object[] { EmbeddedDatabaseConnection.H2.getDriverClassName(), "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1",
|
||||
true },
|
||||
new Object[] { EmbeddedDatabaseConnection.H2.getDriverClassName(), null, true },
|
||||
new Object[] { EmbeddedDatabaseConnection.HSQLDB.getDriverClassName(), "jdbc:hsqldb:hsql://localhost",
|
||||
false },
|
||||
new Object[] { EmbeddedDatabaseConnection.HSQLDB.getDriverClassName(), "jdbc:hsqldb:mem:test", true },
|
||||
new Object[] { EmbeddedDatabaseConnection.HSQLDB.getDriverClassName(), null, true },
|
||||
new Object[] { EmbeddedDatabaseConnection.DERBY.getDriverClassName(), "jdbc:derby:memory:test", true },
|
||||
new Object[] { EmbeddedDatabaseConnection.DERBY.getDriverClassName(), null, true },
|
||||
new Object[] { "com.mysql.cj.jdbc.Driver", "jdbc:mysql:mem:test", false },
|
||||
new Object[] { "com.mysql.cj.jdbc.Driver", null, false },
|
||||
new Object[] { null, "jdbc:none:mem:test", false }, new Object[] { null, null, false } };
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
Loading…
Reference in New Issue