X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fmain%2FFreenetModuleTest.kt;h=d3a2a3c2f36ddee886a9f4c51ca23987b1811899;hb=8788d5ab31bba7dd145c25b979f99a8bc640c37e;hp=ed2037dddcbec899564bc1a7b17e18e3ecaa0261;hpb=7ae0065ee19bef259ff5f061e272bf90aa2f54c7;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/main/FreenetModuleTest.kt b/src/test/kotlin/net/pterodactylus/sone/main/FreenetModuleTest.kt index ed2037d..d3a2a3c 100644 --- a/src/test/kotlin/net/pterodactylus/sone/main/FreenetModuleTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/main/FreenetModuleTest.kt @@ -1,24 +1,28 @@ package net.pterodactylus.sone.main -import com.google.inject.Guice -import freenet.client.HighLevelSimpleClient +import com.google.inject.* +import freenet.client.* import freenet.clients.http.* -import freenet.node.Node -import freenet.pluginmanager.PluginRespirator -import net.pterodactylus.sone.test.deepMock -import net.pterodactylus.sone.test.getInstance -import net.pterodactylus.sone.test.mock -import net.pterodactylus.sone.test.whenever -import org.hamcrest.MatcherAssert.assertThat -import org.hamcrest.Matchers.sameInstance -import org.junit.Test -import org.mockito.Mockito.verify +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.* /** * Unit test for [FreenetModule]. */ class FreenetModuleTest { + @Rule + @JvmField + val expectedException = ExpectedException.none()!! + private val sessionManager = mock() private val pluginRespirator = deepMock().apply { whenever(getSessionManager("Sone")).thenReturn(sessionManager) @@ -26,23 +30,20 @@ class FreenetModuleTest { private val node = pluginRespirator.node!! private val highLevelSimpleClient = pluginRespirator.hlSimpleClient!! private val toadletContainer: ToadletContainer = pluginRespirator.toadletContainer + private val pageMaker: PageMaker = pluginRespirator.pageMaker private val module = FreenetModule(pluginRespirator) private val injector = Guice.createInjector(module) - private inline fun verifySingletonInstance() { + 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 @@ -78,7 +79,7 @@ class FreenetModuleTest { @Test fun `toadlet container is returned correctly`() { - assertThat(injector.getInstance(), sameInstance(toadletContainer)) + assertThat(injector.getInstance(), sameInstance(toadletContainer)) } @Test @@ -86,4 +87,36 @@ class FreenetModuleTest { verifySingletonInstance() } + @Test + fun `page maker is returned correctly`() { + assertThat(injector.getInstance(), sameInstance(pageMaker)) + } + + @Test + fun `page maker is returned as singleten`() { + 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`() { + verifySingletonInstance() + } + + @Test + fun `plugin connector is returned correctly`() { + assertThat(injector.getInstance(), notNullValue()) + } + + @Test + fun `plugin connector facade is returned as singleton`() { + verifySingletonInstance() + } + }