Merge pull request #15055 from Aerlant

* pr/15055:
  Polish "Add validation query to DataSourceHealthIndicator details"
  Add validation query to DataSourceHealthIndicator details
This commit is contained in:
Stephane Nicoll
2018-12-03 15:11:40 +01:00
2 changed files with 8 additions and 2 deletions

View File

@@ -115,6 +115,7 @@ public class DataSourceHealthIndicator extends AbstractHealthIndicator
new SingleColumnRowMapper());
Object result = DataAccessUtils.requiredSingleResult(results);
builder.withDetail("result", result);
builder.withDetail("validationQuery", validationQuery);
}
}

View File

@@ -26,6 +26,7 @@ import org.junit.Test;
import org.springframework.boot.actuate.health.Health;
import org.springframework.boot.actuate.health.Status;
import org.springframework.boot.jdbc.DatabaseDriver;
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.SingleConnectionDataSource;
@@ -68,6 +69,8 @@ public class DataSourceHealthIndicatorTests {
Health health = this.indicator.health();
assertThat(health.getDetails().get("database")).isNotNull();
assertThat(health.getDetails().get("result")).isNotNull();
assertThat(health.getDetails().get("validationQuery"))
.isEqualTo(DatabaseDriver.HSQLDB.getValidationQuery());
}
@Test
@@ -75,12 +78,14 @@ public class DataSourceHealthIndicatorTests {
this.indicator.setDataSource(this.dataSource);
new JdbcTemplate(this.dataSource)
.execute("CREATE TABLE FOO (id INTEGER IDENTITY PRIMARY KEY)");
this.indicator.setQuery("SELECT COUNT(*) from FOO");
String customValidationQuery = "SELECT COUNT(*) from FOO";
this.indicator.setQuery(customValidationQuery);
Health health = this.indicator.health();
System.err.println(health);
assertThat(health.getDetails().get("database")).isNotNull();
assertThat(health.getStatus()).isEqualTo(Status.UP);
assertThat(health.getDetails().get("result")).isNotNull();
assertThat(health.getDetails().get("validationQuery"))
.isEqualTo(customValidationQuery);
}
@Test