Merge branch '2.3.x'

This commit is contained in:
Stephane Nicoll 2020-10-17 08:00:00 +02:00
commit 8d4498ef6c
2 changed files with 13 additions and 1 deletions

View File

@ -216,7 +216,8 @@ public enum EmbeddedDatabaseConnection {
EmbeddedDatabaseConnection[] candidates = EmbeddedDatabaseConnection.values();
for (EmbeddedDatabaseConnection candidate : candidates) {
if (candidate != NONE && productName.contains(candidate.name())) {
return candidate.isEmbeddedUrl(metaData.getURL());
String url = metaData.getURL();
return (url == null || candidate.isEmbeddedUrl(url));
}
}
return false;

View File

@ -151,6 +151,17 @@ class EmbeddedDatabaseConnectionTests {
.isFalse();
}
@Test
void isEmbeddedWithMissingDriverClassMetadata() throws SQLException {
assertThat(EmbeddedDatabaseConnection.isEmbedded(mockDataSource(null, "jdbc:h2:meme:test"))).isFalse();
}
@Test
void isEmbeddedWithMissingUrlMetadata() throws SQLException {
assertThat(EmbeddedDatabaseConnection
.isEmbedded(mockDataSource(EmbeddedDatabaseConnection.H2.getDriverClassName(), null))).isTrue();
}
DataSource mockDataSource(String productName, String connectionUrl) throws SQLException {
DatabaseMetaData metaData = mock(DatabaseMetaData.class);
given(metaData.getDatabaseProductName()).willReturn(productName);