|
|
|
@ -84,9 +84,8 @@ public class DataSourceAutoConfigurationTests { |
|
|
|
this.context.register(DataSourceAutoConfiguration.class, |
|
|
|
this.context.register(DataSourceAutoConfiguration.class, |
|
|
|
PropertyPlaceholderAutoConfiguration.class); |
|
|
|
PropertyPlaceholderAutoConfiguration.class); |
|
|
|
this.context.refresh(); |
|
|
|
this.context.refresh(); |
|
|
|
org.apache.tomcat.jdbc.pool.DataSource dataSource = this.context |
|
|
|
HikariDataSource dataSource = this.context.getBean(HikariDataSource.class); |
|
|
|
.getBean(org.apache.tomcat.jdbc.pool.DataSource.class); |
|
|
|
assertThat(dataSource.getJdbcUrl()).isNotNull(); |
|
|
|
assertThat(dataSource.getUrl()).isNotNull(); |
|
|
|
|
|
|
|
assertThat(dataSource.getDriverClassName()).isNotNull(); |
|
|
|
assertThat(dataSource.getDriverClassName()).isNotNull(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -114,41 +113,41 @@ public class DataSourceAutoConfigurationTests { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void tomcatValidatesConnectionByDefault() { |
|
|
|
public void hikariValidatesConnectionByDefault() throws Exception { |
|
|
|
org.apache.tomcat.jdbc.pool.DataSource dataSource = autoConfigureDataSource( |
|
|
|
HikariDataSource dataSource = autoConfigureDataSource(HikariDataSource.class, |
|
|
|
org.apache.tomcat.jdbc.pool.DataSource.class); |
|
|
|
"org.apache.tomcat"); |
|
|
|
assertThat(dataSource.isTestOnBorrow()).isTrue(); |
|
|
|
assertThat(dataSource.getConnectionTestQuery()).isNull(); |
|
|
|
assertThat(dataSource.getValidationQuery()) |
|
|
|
// Use Connection#isValid()
|
|
|
|
.isEqualTo(DatabaseDriver.HSQLDB.getValidationQuery()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void hikariIsFallback() throws Exception { |
|
|
|
public void tomcatIsFallback() throws Exception { |
|
|
|
HikariDataSource dataSource = autoConfigureDataSource(HikariDataSource.class, |
|
|
|
org.apache.tomcat.jdbc.pool.DataSource dataSource = autoConfigureDataSource( |
|
|
|
"org.apache.tomcat"); |
|
|
|
org.apache.tomcat.jdbc.pool.DataSource.class, "com.zaxxer.hikari"); |
|
|
|
assertThat(dataSource.getJdbcUrl()).isEqualTo("jdbc:hsqldb:mem:testdb"); |
|
|
|
assertThat(dataSource.getUrl()).isEqualTo("jdbc:hsqldb:mem:testdb"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void hikariValidatesConnectionByDefault() throws Exception { |
|
|
|
public void tomcatValidatesConnectionByDefault() { |
|
|
|
HikariDataSource dataSource = autoConfigureDataSource(HikariDataSource.class, |
|
|
|
org.apache.tomcat.jdbc.pool.DataSource dataSource = autoConfigureDataSource( |
|
|
|
"org.apache.tomcat"); |
|
|
|
org.apache.tomcat.jdbc.pool.DataSource.class, "com.zaxxer.hikari"); |
|
|
|
assertThat(dataSource.getConnectionTestQuery()).isNull(); |
|
|
|
assertThat(dataSource.isTestOnBorrow()).isTrue(); |
|
|
|
// Use Connection#isValid()
|
|
|
|
assertThat(dataSource.getValidationQuery()) |
|
|
|
|
|
|
|
.isEqualTo(DatabaseDriver.HSQLDB.getValidationQuery()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void commonsDbcp2IsFallback() throws Exception { |
|
|
|
public void commonsDbcp2IsFallback() throws Exception { |
|
|
|
BasicDataSource dataSource = autoConfigureDataSource(BasicDataSource.class, |
|
|
|
BasicDataSource dataSource = autoConfigureDataSource(BasicDataSource.class, |
|
|
|
"org.apache.tomcat", "com.zaxxer.hikari"); |
|
|
|
"com.zaxxer.hikari", "org.apache.tomcat"); |
|
|
|
assertThat(dataSource.getUrl()).isEqualTo("jdbc:hsqldb:mem:testdb"); |
|
|
|
assertThat(dataSource.getUrl()).isEqualTo("jdbc:hsqldb:mem:testdb"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void commonsDbcp2ValidatesConnectionByDefault() throws Exception { |
|
|
|
public void commonsDbcp2ValidatesConnectionByDefault() throws Exception { |
|
|
|
org.apache.commons.dbcp2.BasicDataSource dataSource = autoConfigureDataSource( |
|
|
|
org.apache.commons.dbcp2.BasicDataSource dataSource = autoConfigureDataSource( |
|
|
|
org.apache.commons.dbcp2.BasicDataSource.class, "org.apache.tomcat", |
|
|
|
org.apache.commons.dbcp2.BasicDataSource.class, "com.zaxxer.hikari", |
|
|
|
"com.zaxxer.hikari"); |
|
|
|
"org.apache.tomcat"); |
|
|
|
assertThat(dataSource.getTestOnBorrow()).isEqualTo(true); |
|
|
|
assertThat(dataSource.getTestOnBorrow()).isEqualTo(true); |
|
|
|
assertThat(dataSource.getValidationQuery()).isNull(); // Use Connection#isValid()
|
|
|
|
assertThat(dataSource.getValidationQuery()).isNull(); // Use Connection#isValid()
|
|
|
|
} |
|
|
|
} |
|
|
|
@ -163,7 +162,7 @@ public class DataSourceAutoConfigurationTests { |
|
|
|
this.context.refresh(); |
|
|
|
this.context.refresh(); |
|
|
|
DataSource bean = this.context.getBean(DataSource.class); |
|
|
|
DataSource bean = this.context.getBean(DataSource.class); |
|
|
|
assertThat(bean).isNotNull(); |
|
|
|
assertThat(bean).isNotNull(); |
|
|
|
org.apache.tomcat.jdbc.pool.DataSource pool = (org.apache.tomcat.jdbc.pool.DataSource) bean; |
|
|
|
HikariDataSource pool = (HikariDataSource) bean; |
|
|
|
assertThat(pool.getDriverClassName()).isEqualTo("org.hsqldb.jdbcDriver"); |
|
|
|
assertThat(pool.getDriverClassName()).isEqualTo("org.hsqldb.jdbcDriver"); |
|
|
|
assertThat(pool.getUsername()).isEqualTo("sa"); |
|
|
|
assertThat(pool.getUsername()).isEqualTo("sa"); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -215,7 +214,7 @@ public class DataSourceAutoConfigurationTests { |
|
|
|
this.context.refresh(); |
|
|
|
this.context.refresh(); |
|
|
|
DataSource bean = this.context.getBean(DataSource.class); |
|
|
|
DataSource bean = this.context.getBean(DataSource.class); |
|
|
|
assertThat(bean).isNotNull(); |
|
|
|
assertThat(bean).isNotNull(); |
|
|
|
org.apache.tomcat.jdbc.pool.DataSource pool = (org.apache.tomcat.jdbc.pool.DataSource) bean; |
|
|
|
HikariDataSource pool = (HikariDataSource) bean; |
|
|
|
assertThat(pool.getDriverClassName()).isEqualTo( |
|
|
|
assertThat(pool.getDriverClassName()).isEqualTo( |
|
|
|
"org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfigurationTests$DatabaseTestDriver"); |
|
|
|
"org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfigurationTests$DatabaseTestDriver"); |
|
|
|
assertThat(pool.getUsername()).isNull(); |
|
|
|
assertThat(pool.getUsername()).isNull(); |
|
|
|
|