🔀 Merge branch 'release/v82'
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / core / CoreTest.kt
index d8d4f0b..39273d0 100644 (file)
@@ -1,5 +1,6 @@
 package net.pterodactylus.sone.core
 
+import com.codahale.metrics.*
 import com.google.common.collect.*
 import com.google.common.eventbus.*
 import net.pterodactylus.sone.core.event.*
@@ -12,8 +13,8 @@ import net.pterodactylus.util.config.*
 import org.hamcrest.*
 import org.hamcrest.MatcherAssert.*
 import org.hamcrest.Matchers.*
-import org.mockito.ArgumentMatchers.eq
-import org.mockito.Mockito.*
+import org.mockito.Mockito.inOrder
+import org.mockito.Mockito.verify
 import org.mockito.hamcrest.MockitoHamcrest.*
 import kotlin.test.*
 
@@ -50,7 +51,9 @@ class CoreTest {
                val webOfTrustUpdater = mock<WebOfTrustUpdater>()
                val eventBus = mock<EventBus>()
                val database = mock<Database>()
-               val core = Core(configuration, freenetInterface, identityManager, soneDownloader, imageInserter, updateChecker, webOfTrustUpdater, eventBus, database)
+               val metricRegistry = MetricRegistry()
+               val soneUriCreator = SoneUriCreator()
+               val core = Core(configuration, freenetInterface, identityManager, soneDownloader, imageInserter, updateChecker, webOfTrustUpdater, eventBus, database, metricRegistry, soneUriCreator)
                val ownIdentity = mock<OwnIdentity>()
                val identity = mock<Identity>()
                whenever(identity.id).thenReturn("sone-id")
@@ -137,7 +140,27 @@ class CoreTest {
        }
 
        @Test
-       fun `core starts without debug flags`() {
+       fun `core starts with debug set to false`() {
+               val core = createCore()
+               assertThat(core.debug, equalTo(false))
+       }
+
+       @Test
+       fun `debug flag can be set`() {
+               val core = createCore()
+               core.setDebug()
+               assertThat(core.debug, equalTo(true))
+       }
+
+       @Test
+       fun `setting debug flag posts event to event bus`() {
+               val eventBus = mock<EventBus>()
+               val core = createCore(eventBus)
+               core.setDebug()
+               verify(eventBus).post(argThat(instanceOf(DebugActivatedEvent::class.java)))
+       }
+
+       private fun createCore(eventBus: EventBus = mock()): Core {
                val configuration = mock<Configuration>()
                val freenetInterface = mock<FreenetInterface>()
                val identityManager = mock<IdentityManager>()
@@ -145,10 +168,10 @@ class CoreTest {
                val imageInserter = mock<ImageInserter>()
                val updateChecker = mock<UpdateChecker>()
                val webOfTrustUpdater = mock<WebOfTrustUpdater>()
-               val eventBus = mock<EventBus>()
                val database = mock<Database>()
-               val core = Core(configuration, freenetInterface, identityManager, soneDownloader, imageInserter, updateChecker, webOfTrustUpdater, eventBus, database)
-               assertThat(core.debugInformation.showVersionInformation, equalTo(false))
+               val metricRegistry = MetricRegistry()
+               val soneUriCreator = SoneUriCreator()
+               return Core(configuration, freenetInterface, identityManager, soneDownloader, imageInserter, updateChecker, webOfTrustUpdater, eventBus, database, metricRegistry, soneUriCreator)
        }
 
 }