+ @Test
+ fun `core is created as singleton`() {
+ injector.verifySingletonInstance<Core>()
+ }
+
+ @Test
+ fun `core is registered with event bus`() {
+ val eventBus = mock<EventBus>()
+ val injector = createInjector(eventBus)
+ val core = injector.getInstance<Core>()
+ verify(eventBus).register(core)
+ }
+
+ private fun createInjector(eventBus: EventBus = EventBus()): Injector =
+ createInjector(
+ SoneModule(sonePlugin, eventBus),
+ FreenetInterface::class.isProvidedByDeepMock(),
+ PluginRespiratorFacade::class.isProvidedByDeepMock(),
+ PluginConnector::class.isProvidedByDeepMock(),
+ SessionManager::class.isProvidedByMock()
+ )
+
+ @Test
+ fun `metrics registry is created as singleton`() {
+ injector.verifySingletonInstance<MetricRegistry>()
+ }
+
+ @Test
+ fun `wot connector is created as singleton`() {
+ injector.verifySingletonInstance<WebOfTrustConnector>()
+ }
+
+ @Test
+ fun `notification ticker is created as singleton`() {
+ injector.verifySingletonInstance<ScheduledExecutorService>(named("notification"))
+ }
+
+ @Test
+ fun `ticker shutdown is created as singleton`() {
+ injector.verifySingletonInstance<TickerShutdown>()
+ }