Merge branch 'disk'

pull/2252/merge
Andy Wilkinson 10 years ago
commit cb4cdf4d9a

@ -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) {

Loading…
Cancel
Save