package org.simbasecurity.dwclient.dropwizard.healthcheck; import static org.fest.assertions.api.Assertions.*; import static org.mockito.Mockito.*; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.mockito.Mock; import org.simbasecurity.dwclient.dropwizard.healthcheck.SimbaManagerRestHealthCheck; import org.simbasecurity.dwclient.gateway.SimbaManagerRestGateway; import org.simbasecurity.dwclient.test.rule.MockitoRule; import com.yammer.metrics.core.HealthCheck.Result; public class SimbaManagerRestHealthCheckTest { @Rule public MockitoRule mockitoRule = MockitoRule.create(); @Mock private SimbaManagerRestGateway simbaManagerRestGatewayMock; private SimbaManagerRestHealthCheck simbaHealthCheck; @Before public void setUp() { simbaHealthCheck = new SimbaManagerRestHealthCheck(simbaManagerRestGatewayMock); } @Test public void check_WhenSimbaIsAlive_ReturnsHealthy() throws Exception { when(simbaManagerRestGatewayMock.isSimbaRestManagerAlive()).thenReturn(true); Result actual = simbaHealthCheck.check(); assertThat(actual).isEqualTo(Result.healthy()); } @Test public void check_WhenSimbaIsNotAlive_ReturnsUnhealthy() throws Exception { when(simbaManagerRestGatewayMock.isSimbaRestManagerAlive()).thenReturn(false); Result actual = simbaHealthCheck.check(); assertThat(actual).isEqualTo(Result.unhealthy("Simba Rest Manager is down")); } }