package io.prometheus.client.spring.boot; import io.prometheus.client.CollectorRegistry; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.endpoint.PublicMetrics; import org.springframework.boot.actuate.metrics.CounterService; import org.springframework.boot.actuate.metrics.GaugeService; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import java.util.Collection; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; @RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(SpringBootMetricsCollectorTest.class) @EnableAutoConfiguration public class SpringBootMetricsCollectorTest { @Autowired private SpringBootMetricsCollector springBootMetricsCollector; @Autowired private CounterService counterService; @Autowired private GaugeService gaugeService; @Bean public SpringBootMetricsCollector springBootMetricsCollector(Collection<PublicMetrics> publicMetrics) { SpringBootMetricsCollector springBootMetricsCollector = new SpringBootMetricsCollector(publicMetrics); springBootMetricsCollector.register(); return springBootMetricsCollector; } @Test public void collect() throws Exception { counterService.increment("foo"); gaugeService.submit("bar", 3.14); CollectorRegistry defaultRegistry = CollectorRegistry.defaultRegistry; assertThat(defaultRegistry.getSampleValue("counter_foo"), is(1.0)); assertThat(defaultRegistry.getSampleValue("gauge_bar"), is(3.14)); } }