X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fmain%2FSoneModuleTest.kt;h=a5efbe6fbbb0306999b8ab28597fb98e10720418;hp=0b8ef045f2f4c05428c31a82d830e7d4758d26d2;hb=fdc8dbd38e871da0a278bded063ba9dba8af9edc;hpb=18e619b28421c8222b743c779d0b2e55c1bc1bd9 diff --git a/src/test/kotlin/net/pterodactylus/sone/main/SoneModuleTest.kt b/src/test/kotlin/net/pterodactylus/sone/main/SoneModuleTest.kt index 0b8ef04..a5efbe6 100644 --- a/src/test/kotlin/net/pterodactylus/sone/main/SoneModuleTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/main/SoneModuleTest.kt @@ -1,18 +1,23 @@ package net.pterodactylus.sone.main +import com.codahale.metrics.* import com.google.common.base.* import com.google.common.eventbus.* import com.google.inject.Guice.* import com.google.inject.name.Names.* import freenet.l10n.* +import freenet.pluginmanager.* +import net.pterodactylus.sone.core.* import net.pterodactylus.sone.database.* import net.pterodactylus.sone.database.memory.* +import net.pterodactylus.sone.freenet.plugin.* import net.pterodactylus.sone.freenet.wot.* import net.pterodactylus.sone.test.* import net.pterodactylus.util.config.* import net.pterodactylus.util.version.Version import org.hamcrest.MatcherAssert.* import org.hamcrest.Matchers.* +import org.mockito.Mockito.* import java.io.* import java.util.concurrent.atomic.* import kotlin.test.* @@ -33,7 +38,14 @@ class SoneModuleTest { whenever(l10n()).thenReturn(l10n) } - private val injector by lazy { createInjector(SoneModule(sonePlugin)) } + private val injector by lazy { + createInjector( + SoneModule(sonePlugin, EventBus()), + FreenetInterface::class.isProvidedByDeepMock(), + PluginRespiratorFacade::class.isProvidedByDeepMock(), + PluginConnector::class.isProvidedByDeepMock() + ) + } @AfterTest fun removePropertiesFromCurrentDirectory() { @@ -175,4 +187,48 @@ class SoneModuleTest { assertThat(testObject.ref.get(), sameInstance(event)) } + @Test + fun `core is created as singleton`() { + val firstCore = injector.getInstance() + val secondCore = injector.getInstance() + assertThat(secondCore, sameInstance(firstCore)) + } + + @Test + fun `core is registered with event bus`() { + val eventBus = mock() + val injector = createInjector( + SoneModule(sonePlugin, eventBus), + FreenetInterface::class.isProvidedByDeepMock(), + PluginRespiratorFacade::class.isProvidedByDeepMock(), + PluginConnector::class.isProvidedByDeepMock() + ) + val core = injector.getInstance() + verify(eventBus).register(core) + } + + @Test + fun `metrics registry can be created`() { + assertThat(injector.getInstance(), notNullValue()) + } + + @Test + fun `metrics registry is created as singleton`() { + val firstMetricRegistry = injector.getInstance() + val secondMetricRegistry = injector.getInstance() + assertThat(firstMetricRegistry, sameInstance(secondMetricRegistry)) + } + + @Test + fun `wot connector can be created`() { + assertThat(injector.getInstance(), notNullValue()) + } + + @Test + fun `wot connector is created as singleton`() { + val firstWebOfTrustConnector = injector.getInstance() + val secondWebOfTrustConnector = injector.getInstance() + assertThat(firstWebOfTrustConnector, sameInstance(secondWebOfTrustConnector)) + } + }