X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fmain%2FFreenetModuleTest.kt;h=c6aed88894286113089f51e2a218b1ec6e81c404;hp=2f55d52805609ce9554547282e316780fe36b0c8;hb=HEAD;hpb=ec074a1c79056bf214a168341586070d7991694a diff --git a/src/test/kotlin/net/pterodactylus/sone/main/FreenetModuleTest.kt b/src/test/kotlin/net/pterodactylus/sone/main/FreenetModuleTest.kt index 2f55d52..c6aed88 100644 --- a/src/test/kotlin/net/pterodactylus/sone/main/FreenetModuleTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/main/FreenetModuleTest.kt @@ -5,10 +5,13 @@ import freenet.client.* import freenet.clients.http.* import freenet.node.* import freenet.pluginmanager.* +import net.pterodactylus.sone.freenet.plugin.* import net.pterodactylus.sone.test.* import org.hamcrest.MatcherAssert.* import org.hamcrest.Matchers.* import org.junit.* +import org.junit.rules.* +import org.mockito.* import org.mockito.Mockito.* /** @@ -16,6 +19,10 @@ import org.mockito.Mockito.* */ class FreenetModuleTest { + @Rule + @JvmField + val expectedException = ExpectedException.none()!! + private val sessionManager = mock() private val pluginRespirator = deepMock().apply { whenever(getSessionManager("Sone")).thenReturn(sessionManager) @@ -27,20 +34,10 @@ class FreenetModuleTest { private val module = FreenetModule(pluginRespirator) private val injector = Guice.createInjector(module) - private inline fun verifySingletonInstance() { - val firstInstance = injector.getInstance() - val secondInstance = injector.getInstance() - assertThat(firstInstance, sameInstance(secondInstance)) - } - @Test - fun `plugin respirator is returned correctly`() { - assertThat(injector.getInstance(), sameInstance(pluginRespirator)) - } - - @Test - fun `plugin respirator is returned as singleton`() { - verifySingletonInstance() + fun `plugin respirator is not bound`() { + expectedException.expect(Exception::class.java) + injector.getInstance() } @Test @@ -50,7 +47,7 @@ class FreenetModuleTest { @Test fun `node is returned as singleton`() { - verifySingletonInstance() + injector.verifySingletonInstance() } @Test @@ -60,7 +57,7 @@ class FreenetModuleTest { @Test fun `high level simply client is returned as singleton`() { - verifySingletonInstance() + injector.verifySingletonInstance() } @Test @@ -70,7 +67,7 @@ class FreenetModuleTest { @Test fun `session manager is returned as singleton`() { - verifySingletonInstance() + injector.verifySingletonInstance() verify(pluginRespirator).getSessionManager("Sone") } @@ -81,7 +78,7 @@ class FreenetModuleTest { @Test fun `toadlet container is returned as singleten`() { - verifySingletonInstance() + injector.verifySingletonInstance() } @Test @@ -90,8 +87,30 @@ class FreenetModuleTest { } @Test - fun `page maker is returned as singleten`() { - verifySingletonInstance() + fun `page maker is returned as singleton`() { + injector.verifySingletonInstance() + } + + @Test + fun `plugin respirator facade is returned correctly`() { + val pluginRespiratorFacade = injector.getInstance() + pluginRespiratorFacade.getPluginTalker(mock(), "test.plugin", "test-request-1") + verify(pluginRespirator).getPluginTalker(any(), ArgumentMatchers.eq("test.plugin"), ArgumentMatchers.eq("test-request-1")) + } + + @Test + fun `plugin respirator facade is returned as singleton`() { + injector.verifySingletonInstance() + } + + @Test + fun `plugin connector is returned correctly`() { + assertThat(injector.getInstance(), notNullValue()) + } + + @Test + fun `plugin connector facade is returned as singleton`() { + injector.verifySingletonInstance() } }