package io.dropwizard.metrics.health; import org.junit.Before; import org.junit.Test; import io.dropwizard.metrics.health.HealthCheckRegistry; import io.dropwizard.metrics.health.SharedHealthCheckRegistries; import static org.assertj.core.api.Assertions.assertThat; public class SharedMetricRegistriesTest { @Before public void setUp() throws Exception { SharedHealthCheckRegistries.clear(); } @Test public void memoizesRegistriesByName() throws Exception { final HealthCheckRegistry one = SharedHealthCheckRegistries.getOrCreate("one"); final HealthCheckRegistry two = SharedHealthCheckRegistries.getOrCreate("one"); assertThat(one) .isSameAs(two); } @Test public void hasASetOfNames() throws Exception { SharedHealthCheckRegistries.getOrCreate("one"); assertThat(SharedHealthCheckRegistries.names()) .containsOnly("one"); } @Test public void removesRegistries() throws Exception { final HealthCheckRegistry one = SharedHealthCheckRegistries.getOrCreate("one"); SharedHealthCheckRegistries.remove("one"); assertThat(SharedHealthCheckRegistries.names()) .isEmpty(); final HealthCheckRegistry two = SharedHealthCheckRegistries.getOrCreate("one"); assertThat(two) .isNotSameAs(one); } @Test public void clearsRegistries() throws Exception { SharedHealthCheckRegistries.getOrCreate("one"); SharedHealthCheckRegistries.getOrCreate("two"); SharedHealthCheckRegistries.clear(); assertThat(SharedHealthCheckRegistries.names()) .isEmpty(); } }