Commit cb4cdf4d authored by Andy Wilkinson's avatar Andy Wilkinson

Merge branch 'disk'

parents 96f390a5 ee3521b6
......@@ -16,6 +16,8 @@
package org.springframework.boot.actuate.health;
import java.io.File;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -45,7 +47,8 @@ public class DiskSpaceHealthIndicator extends AbstractHealthIndicator {
@Override
protected void doHealthCheck(Health.Builder builder) throws Exception {
long diskFreeInBytes = this.properties.getPath().getFreeSpace();
File path = this.properties.getPath();
long diskFreeInBytes = path.getFreeSpace();
if (diskFreeInBytes >= this.properties.getThreshold()) {
builder.up();
}
......@@ -55,7 +58,8 @@ public class DiskSpaceHealthIndicator extends AbstractHealthIndicator {
this.properties.getThreshold()));
builder.down();
}
builder.withDetail("free", diskFreeInBytes).withDetail("threshold",
this.properties.getThreshold());
builder.withDetail("total", path.getTotalSpace())
.withDetail("free", diskFreeInBytes)
.withDetail("threshold", this.properties.getThreshold());
}
}
......@@ -58,19 +58,23 @@ public class DiskSpaceHealthIndicatorTests {
@Test
public void diskSpaceIsUp() throws Exception {
given(this.fileMock.getFreeSpace()).willReturn(THRESHOLD_BYTES + 10);
given(this.fileMock.getTotalSpace()).willReturn(THRESHOLD_BYTES * 10);
Health health = this.healthIndicator.health();
assertEquals(Status.UP, health.getStatus());
assertEquals(THRESHOLD_BYTES, health.getDetails().get("threshold"));
assertEquals(THRESHOLD_BYTES + 10, health.getDetails().get("free"));
assertEquals(THRESHOLD_BYTES * 10, health.getDetails().get("total"));
}
@Test
public void diskSpaceIsDown() throws Exception {
given(this.fileMock.getFreeSpace()).willReturn(THRESHOLD_BYTES - 10);
given(this.fileMock.getTotalSpace()).willReturn(THRESHOLD_BYTES * 10);
Health health = this.healthIndicator.health();
assertEquals(Status.DOWN, health.getStatus());
assertEquals(THRESHOLD_BYTES, health.getDetails().get("threshold"));
assertEquals(THRESHOLD_BYTES - 10, health.getDetails().get("free"));
assertEquals(THRESHOLD_BYTES * 10, health.getDetails().get("total"));
}
private DiskSpaceHealthIndicatorProperties createProperties(File path, long threshold) {
......
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