Commit 4dad8c22 authored by Madhura Bhave's avatar Madhura Bhave

Merge pull request #23566 from Shraddha-Yeole

* pr/23566:
  Polish "Do not fail if h2Console bean cannot connect to db"
  Do not fail if h2Console bean cannot connect to db

Closes gh-23566
parents 3118ca93 c0f158df
......@@ -17,7 +17,6 @@
package org.springframework.boot.autoconfigure.h2;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
......@@ -74,7 +73,7 @@ public class H2ConsoleAutoConfiguration {
logger.info("H2 console available at '" + path + "'. Database available at '"
+ connection.getMetaData().getURL() + "'");
}
catch (SQLException ex) {
catch (Exception ex) {
// Continue
}
});
......
......@@ -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 {
......@@ -117,4 +123,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;
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment