X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fmain%2FSoneModuleTest.kt;h=01d12854338d84eaf9589d1b026256e432838469;hb=5c5bee980f9cab5792e34d1c9840f73b8b191830;hp=7f6b8d02f3dea52d29d29e50a5cbb2dea558e04e;hpb=c7e1d396f81935e872d0e49339fa19baf16abada;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/main/SoneModuleTest.kt b/src/test/kotlin/net/pterodactylus/sone/main/SoneModuleTest.kt index 7f6b8d0..01d1285 100644 --- a/src/test/kotlin/net/pterodactylus/sone/main/SoneModuleTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/main/SoneModuleTest.kt @@ -4,9 +4,10 @@ import com.codahale.metrics.* import com.google.common.base.* import com.google.common.eventbus.* import com.google.inject.Guice.* +import com.google.inject.Injector import com.google.inject.name.Names.* +import freenet.clients.http.SessionManager import freenet.l10n.* -import freenet.pluginmanager.* import net.pterodactylus.sone.core.* import net.pterodactylus.sone.database.* import net.pterodactylus.sone.database.memory.* @@ -14,17 +15,21 @@ import net.pterodactylus.sone.freenet.* import net.pterodactylus.sone.freenet.plugin.* import net.pterodactylus.sone.freenet.wot.* import net.pterodactylus.sone.test.* +import net.pterodactylus.sone.web.SessionProvider import net.pterodactylus.util.config.* import net.pterodactylus.util.version.Version import org.hamcrest.MatcherAssert.* import org.hamcrest.Matchers.* +import org.junit.experimental.categories.* import org.mockito.Mockito.* import java.io.* +import java.util.concurrent.* import java.util.concurrent.atomic.* import kotlin.test.* const val versionString = "v80" +@Category(NotParallel::class) class SoneModuleTest { private val currentDir: File = File(".") @@ -39,14 +44,7 @@ class SoneModuleTest { whenever(l10n()).thenReturn(l10n) } - private val injector by lazy { - createInjector( - SoneModule(sonePlugin, EventBus()), - FreenetInterface::class.isProvidedByDeepMock(), - PluginRespiratorFacade::class.isProvidedByDeepMock(), - PluginConnector::class.isProvidedByDeepMock() - ) - } + private val injector by lazy { createInjector() } @AfterTest fun removePropertiesFromCurrentDirectory() { @@ -196,16 +194,20 @@ class SoneModuleTest { @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 injector = createInjector(eventBus) val core = injector.getInstance() 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() @@ -216,4 +218,24 @@ class SoneModuleTest { injector.verifySingletonInstance() } + @Test + fun `notification ticker is created as singleton`() { + injector.verifySingletonInstance(named("notification")) + } + + @Test + fun `ticker shutdown is created as singleton`() { + injector.verifySingletonInstance() + } + + @Test + fun `sone URI creator is created as singleton`() { + injector.verifySingletonInstance() + } + + @Test + fun `session provider is created as singleton`() { + injector.verifySingletonInstance() + } + }