Skip to content

Commit 9c7e041

Browse files
committed
Merge pull request #23565 from desainidhi99
* pr/23565: Polish "Deprecate EmbeddedDatabaseConnection#HSQL" Deprecate EmbeddedDatabaseConnection#HSQL in favor of HSQLDB Closes gh-23565
2 parents 65c7cd4 + 7c22e71 commit 9c7e041

File tree

8 files changed

+38
-8
lines changed

8 files changed

+38
-8
lines changed

spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/jdbc/DataSourceHealthIndicatorTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class DataSourceHealthIndicatorTests {
5252

5353
@BeforeEach
5454
void init() {
55-
EmbeddedDatabaseConnection db = EmbeddedDatabaseConnection.HSQL;
55+
EmbeddedDatabaseConnection db = EmbeddedDatabaseConnection.HSQLDB;
5656
this.dataSource = new SingleConnectionDataSource(db.getUrl("testdb") + ";shutdown=true", "sa", "", false);
5757
this.dataSource.setDriverClassName(db.getDriverClassName());
5858
}

spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/liquibase/LiquibaseEndpointTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ SpringLiquibase liquibaseBackup(DataSource dataSourceBackup) {
163163

164164
private DataSource createEmbeddedDatabase() {
165165
return new EmbeddedDatabaseBuilder().generateUniqueName(true)
166-
.setType(EmbeddedDatabaseConnection.HSQL.getType()).build();
166+
.setType(EmbeddedDatabaseConnection.HSQLDB.getType()).build();
167167
}
168168

169169
private SpringLiquibase createSpringLiquibase(String changeLog, DataSource dataSource) {

spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/jdbc/JdbcTestWithAutoConfigureTestDatabaseReplaceAutoConfiguredIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
*/
3636
@JdbcTest
3737
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.AUTO_CONFIGURED,
38-
connection = EmbeddedDatabaseConnection.HSQL)
38+
connection = EmbeddedDatabaseConnection.HSQLDB)
3939
class JdbcTestWithAutoConfigureTestDatabaseReplaceAutoConfiguredIntegrationTests {
4040

4141
@Autowired

spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/jdbc/JdbcTestWithAutoConfigureTestDatabaseReplaceExplicitIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
* @author Stephane Nicoll
3838
*/
3939
@JdbcTest
40-
@AutoConfigureTestDatabase(connection = EmbeddedDatabaseConnection.HSQL)
40+
@AutoConfigureTestDatabase(connection = EmbeddedDatabaseConnection.HSQLDB)
4141
class JdbcTestWithAutoConfigureTestDatabaseReplaceExplicitIntegrationTests {
4242

4343
@Autowired

spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/jdbc/JdbcTestWithAutoConfigureTestDatabaseReplacePropertyAnyIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
* @author Stephane Nicoll
3939
*/
4040
@JdbcTest
41-
@AutoConfigureTestDatabase(connection = EmbeddedDatabaseConnection.HSQL)
41+
@AutoConfigureTestDatabase(connection = EmbeddedDatabaseConnection.HSQLDB)
4242
@TestPropertySource(properties = "spring.test.database.replace=ANY")
4343
class JdbcTestWithAutoConfigureTestDatabaseReplacePropertyAnyIntegrationTests {
4444

spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/jdbc/JdbcTestWithAutoConfigureTestDatabaseReplacePropertyAutoConfiguredIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
* @author Stephane Nicoll
3636
*/
3737
@JdbcTest
38-
@AutoConfigureTestDatabase(connection = EmbeddedDatabaseConnection.HSQL)
38+
@AutoConfigureTestDatabase(connection = EmbeddedDatabaseConnection.HSQLDB)
3939
@TestPropertySource(properties = "spring.test.database.replace=AUTO_CONFIGURED")
4040
class JdbcTestWithAutoConfigureTestDatabaseReplacePropertyAutoConfiguredIntegrationTests {
4141

spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/EmbeddedDatabaseConnection.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
* @author Phillip Webb
3636
* @author Dave Syer
3737
* @author Stephane Nicoll
38+
* @author Nidhi Desai
3839
* @since 1.0.0
3940
* @see #get(ClassLoader)
4041
*/
@@ -58,8 +59,16 @@ public enum EmbeddedDatabaseConnection {
5859

5960
/**
6061
* HSQL Database Connection.
62+
* @deprecated since 2.4.0 in favor of {@link EmbeddedDatabaseConnection#HSQLDB}.
6163
*/
64+
@Deprecated
6265
HSQL(EmbeddedDatabaseType.HSQL, DatabaseDriver.HSQLDB.getDriverClassName(), "org.hsqldb.jdbcDriver",
66+
"jdbc:hsqldb:mem:%s"),
67+
68+
/**
69+
* HSQL Database Connection.
70+
*/
71+
HSQLDB(EmbeddedDatabaseType.HSQL, DatabaseDriver.HSQLDB.getDriverClassName(), "org.hsqldb.jdbcDriver",
6372
"jdbc:hsqldb:mem:%s");
6473

6574
private final EmbeddedDatabaseType type;
@@ -114,8 +123,8 @@ public String getUrl(String databaseName) {
114123
* @return true if the driver class is one of the embedded types
115124
*/
116125
public static boolean isEmbedded(String driverClass) {
117-
return driverClass != null
118-
&& (matches(HSQL, driverClass) || matches(H2, driverClass) || matches(DERBY, driverClass));
126+
return driverClass != null && (matches(HSQL, driverClass) || matches(H2, driverClass)
127+
|| matches(DERBY, driverClass) || matches(HSQLDB, driverClass));
119128
}
120129

121130
private static boolean matches(EmbeddedDatabaseConnection candidate, String driverClass) {

spring-boot-project/spring-boot/src/test/java/org/springframework/boot/jdbc/EmbeddedDatabaseConnectionTests.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
* Tests for {@link EmbeddedDatabaseConnection}.
2626
*
2727
* @author Stephane Nicoll
28+
* @author Nidhi Desai
2829
*/
2930
class EmbeddedDatabaseConnectionTests {
3031

@@ -41,20 +42,40 @@ void derbyCustomDatabaseName() {
4142
}
4243

4344
@Test
45+
@Deprecated
4446
void hsqlCustomDatabaseName() {
4547
assertThat(EmbeddedDatabaseConnection.HSQL.getUrl("myhsql")).isEqualTo("jdbc:hsqldb:mem:myhsql");
4648
}
4749

4850
@Test
51+
@Deprecated
4952
void getUrlWithNullDatabaseName() {
5053
assertThatIllegalArgumentException().isThrownBy(() -> EmbeddedDatabaseConnection.HSQL.getUrl(null))
5154
.withMessageContaining("DatabaseName must not be empty");
5255
}
5356

5457
@Test
58+
@Deprecated
5559
void getUrlWithEmptyDatabaseName() {
5660
assertThatIllegalArgumentException().isThrownBy(() -> EmbeddedDatabaseConnection.HSQL.getUrl(" "))
5761
.withMessageContaining("DatabaseName must not be empty");
5862
}
5963

64+
@Test
65+
void hsqldbCustomDatabaseName() {
66+
assertThat(EmbeddedDatabaseConnection.HSQLDB.getUrl("myhsqldb")).isEqualTo("jdbc:hsqldb:mem:myhsqldb");
67+
}
68+
69+
@Test
70+
void getUrlWithNullDatabaseNameForHsqldb() {
71+
assertThatIllegalArgumentException().isThrownBy(() -> EmbeddedDatabaseConnection.HSQLDB.getUrl(null))
72+
.withMessageContaining("DatabaseName must not be empty");
73+
}
74+
75+
@Test
76+
void getUrlWithEmptyDatabaseNameForHsqldb() {
77+
assertThatIllegalArgumentException().isThrownBy(() -> EmbeddedDatabaseConnection.HSQLDB.getUrl(" "))
78+
.withMessageContaining("DatabaseName must not be empty");
79+
}
80+
6081
}

0 commit comments

Comments
 (0)