+ @Test
+ fun `core is created as singleton`() {
+ val firstCore = injector.getInstance<Core>()
+ val secondCore = injector.getInstance<Core>()
+ assertThat(secondCore, sameInstance(firstCore))
+ }
+
+ @Test
+ fun `core is registered with event bus`() {
+ val eventBus = mock<EventBus>()
+ val injector = createInjector(
+ SoneModule(sonePlugin, eventBus),
+ FreenetInterface::class.isProvidedByDeepMock(),
+ PluginRespiratorFacade::class.isProvidedByDeepMock(),
+ PluginConnector::class.isProvidedByDeepMock()
+ )
+ val core = injector.getInstance<Core>()
+ verify(eventBus).register(core)
+ }
+
+ @Test
+ fun `metrics registry can be created`() {
+ assertThat(injector.getInstance<MetricRegistry>(), notNullValue())
+ }
+
+ @Test
+ fun `metrics registry is created as singleton`() {
+ val firstMetricRegistry = injector.getInstance<MetricRegistry>()
+ val secondMetricRegistry = injector.getInstance<MetricRegistry>()
+ assertThat(firstMetricRegistry, sameInstance(secondMetricRegistry))
+ }