⚡️ Only update configuration once per second
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / database / memory / MemoryDatabaseTest.kt
index 1536da4..4d7a105 100644 (file)
@@ -38,7 +38,7 @@ import kotlin.test.*
  */
 class MemoryDatabaseTest {
 
-       private val configuration = mock<Configuration>()
+       private val configuration = deepMock<Configuration>()
        private val memoryDatabase = MemoryDatabase(configuration)
        private val sone = mock<Sone>()
 
@@ -409,6 +409,14 @@ class MemoryDatabaseTest {
                assertThat(configuration.getStringValue("KnownReplies/1/ID").value, equalTo<Any>(null))
        }
 
+       @Test
+       @Dirty("the rate limiter should be mocked")
+       fun `saving the database twice in a row only saves it once`() {
+               memoryDatabase.save()
+               memoryDatabase.save()
+               verify(configuration.getStringValue("KnownPosts/0/ID"), times(1)).value = null
+       }
+
 }
 
 private const val SONE_ID = "sone"