Merge branch '2.3.x'

Closes gh-23570
This commit is contained in:
Madhura Bhave 2020-10-01 18:20:09 -07:00
commit 351929a616
2 changed files with 26 additions and 2 deletions

View File

@ -17,7 +17,6 @@
package org.springframework.boot.autoconfigure.h2;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
@ -69,7 +68,7 @@ public class H2ConsoleAutoConfiguration {
logger.info("H2 console available at '" + path + "'. Database available at '"
+ connection.getMetaData().getURL() + "'");
}
catch (SQLException ex) {
catch (Exception ex) {
// Continue
}
});

View File

@ -17,6 +17,7 @@
package org.springframework.boot.autoconfigure.h2;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
@ -31,8 +32,12 @@ import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
import org.springframework.boot.test.system.CapturedOutput;
import org.springframework.boot.test.system.OutputCaptureExtension;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.mock;
/**
* Tests for {@link H2ConsoleAutoConfiguration}
@ -40,6 +45,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Andy Wilkinson
* @author Marten Deinum
* @author Stephane Nicoll
* @author Shraddha Yeole
*/
class H2ConsoleAutoConfigurationTests {
@ -119,4 +125,23 @@ class H2ConsoleAutoConfigurationTests {
});
}
@Test
void h2ConsoleShouldNotFailIfDatabaseConnectionFails() {
this.contextRunner.withUserConfiguration(CustomDataSourceConfiguration.class)
.withPropertyValues("spring.h2.console.enabled=true")
.run((context) -> assertThat(context.isRunning()).isTrue());
}
@Configuration(proxyBeanMethods = false)
static class CustomDataSourceConfiguration {
@Bean
DataSource dataSource() throws SQLException {
DataSource dataSource = mock(DataSource.class);
given(dataSource.getConnection()).willThrow(IllegalStateException.class);
return dataSource;
}
}
}