X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpages%2FMetricsPageTest.kt;h=269aafe76f4a901174de18c6187900fb02fe01fc;hb=529da3428d7f6f6e2e418ff8a9348bfddefa63f2;hp=ca69e6672ca08063f9afe5c1c2c253a904369bce;hpb=6562eedae6d6b25ecfb2f662a827db85f7026d50;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/web/pages/MetricsPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/pages/MetricsPageTest.kt index ca69e66..269aafe 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/pages/MetricsPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/pages/MetricsPageTest.kt @@ -25,11 +25,10 @@ import org.hamcrest.MatcherAssert.* import org.hamcrest.Matchers.* import kotlin.test.* -class MetricsPageTest : WebPageTest({ webInterface, loaders, templateRenderer -> MetricsPage(webInterface, loaders, templateRenderer, metricRegistry) }) { +class MetricsPageTest : WebPageTest() { - companion object { - val metricRegistry = MetricRegistry() - } + private val metricRegistry = MetricRegistry() + override val page by lazy { MetricsPage(webInterface, loaders, templateRenderer, metricRegistry) } @Test fun `page returns correct path`() { @@ -69,8 +68,23 @@ class MetricsPageTest : WebPageTest({ webInterface, loaders, templateRenderer -> verifyHistogram("soneParsingDuration") } + @Test + fun `metrics page lists stats about sone insert durations`() { + createHistogram("sone.insert.duration") + page.handleRequest(soneRequest, templateContext) + verifyHistogram("soneInsertDuration") + } + + @Test + fun `metrics page delivers correct histogram size`() { + val histogram = metricRegistry.histogram("sone.parsing.duration") + (0..4000).forEach(histogram::update) + page.handleRequest(soneRequest, templateContext) + assertThat(templateContext["soneParsingDurationCount"] as Long, equalTo(4001L)) + } + private fun verifyHistogram(name: String) { - assertThat(templateContext["${name}Count"] as Int, equalTo(5)) + assertThat(templateContext["${name}Count"] as Long, equalTo(5L)) assertThat(templateContext["${name}Min"] as Long, equalTo(1L)) assertThat(templateContext["${name}Max"] as Long, equalTo(10L)) assertThat(templateContext["${name}Median"] as Double, equalTo(8.0))