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.*
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.*
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")
@Test
fun `core starts with debug set to false`() {
- val configuration = mock<Configuration>()
- val freenetInterface = mock<FreenetInterface>()
- val identityManager = mock<IdentityManager>()
- val soneDownloader = mock<SoneDownloader>()
- 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)
+ 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>()
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)
- core.setDebug()
- assertThat(core.debug, equalTo(true))
+ val metricRegistry = MetricRegistry()
+ val soneUriCreator = SoneUriCreator()
+ return Core(configuration, freenetInterface, identityManager, soneDownloader, imageInserter, updateChecker, webOfTrustUpdater, eventBus, database, metricRegistry, soneUriCreator)
}
}