✨ Record Sone parsing durations
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / core / SoneParserTest.kt
index 3a7010a..0648d1f 100644 (file)
@@ -1,5 +1,6 @@
 package net.pterodactylus.sone.core
 
+import com.codahale.metrics.*
 import com.google.common.base.Optional.*
 import freenet.crypt.*
 import freenet.keys.InsertableClientSSK.*
@@ -21,7 +22,8 @@ import kotlin.test.*
 class SoneParserTest {
 
        private val database = MemoryDatabase(Configuration(MapConfigurationBackend()))
-       private val soneParser = SoneParser(database)
+       private val metricRegistry = MetricRegistry()
+       private val soneParser = SoneParser(database, metricRegistry)
        private val sone = mock<Sone>()
 
        @BeforeTest
@@ -395,4 +397,12 @@ class SoneParserTest {
                assertThat(sone.profile.avatar, equalTo("image-id"))
        }
 
+       @Test
+       fun `successful parsing adds histogram entry`() {
+               val inputStream = javaClass.getResourceAsStream("sone-parser-without-images.xml")
+               assertThat(soneParser.parseSone(sone, inputStream), notNullValue())
+               val histogram = metricRegistry.histogram("sone.parsing.duration")
+               assertThat(histogram.count, equalTo(1L))
+       }
+
 }