X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpage%2FFreenetRequestTest.kt;fp=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpage%2FFreenetRequestTest.kt;h=e05ad450a8e215f3cc5059ac19fc2e51a6fa8346;hp=0000000000000000000000000000000000000000;hb=03cec6a6772c2d836d94864adddaf544cbe9d72f;hpb=6f1f26e3998cfef155b0cf59152827accea70d30 diff --git a/src/test/kotlin/net/pterodactylus/sone/web/page/FreenetRequestTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/page/FreenetRequestTest.kt new file mode 100644 index 0000000..e05ad45 --- /dev/null +++ b/src/test/kotlin/net/pterodactylus/sone/web/page/FreenetRequestTest.kt @@ -0,0 +1,77 @@ +package net.pterodactylus.sone.web.page + +import freenet.clients.http.* +import freenet.clients.http.SessionManager.* +import freenet.l10n.* +import freenet.support.api.* +import net.pterodactylus.sone.test.* +import net.pterodactylus.util.web.* +import org.hamcrest.MatcherAssert.* +import org.hamcrest.Matchers.* +import org.junit.* +import org.mockito.* +import org.mockito.Mockito.* +import java.net.* + +class FreenetRequestTest { + + private val uri = URI(".") + private val method = Method.GET + private val httpRequest = mock(HTTPRequest::class.java) + private val toadletContext = mock(ToadletContext::class.java) + private val l10n = mock() + private val sessionManager = mock() + private val request = FreenetRequest(uri, method, httpRequest, toadletContext, l10n, sessionManager) + + @Test + fun `uri is retained correctly`() { + assertThat(request.uri, equalTo(uri)) + } + + @Test + fun `method is retained correctly`() { + assertThat(request.method, equalTo(method)) + } + + @Test + fun `http request is retained correctly`() { + assertThat(request.httpRequest, equalTo(httpRequest)) + } + + @Test + fun `toadlet context is retained correctly`() { + assertThat(request.toadletContext, equalTo(toadletContext)) + } + + @Test + fun `l10n is retained correctly`() { + assertThat(request.l10n, equalTo(l10n)) + } + + @Test + fun `null is returned if no session exists`() { + assertThat(request.existingSession, nullValue()) + } + + @Test + fun `existing session can be retrieved`() { + val session = mock() + whenever(sessionManager.useSession(toadletContext)).thenReturn(session) + assertThat(request.existingSession, sameInstance(session)) + } + + @Test + fun `existing session is returned if it exists`() { + val session = mock() + whenever(sessionManager.useSession(toadletContext)).thenReturn(session) + assertThat(request.session, sameInstance(session)) + } + + @Test + fun `new session is returned if none exists`() { + val session = mock() + whenever(sessionManager.createSession(anyString(), ArgumentMatchers.eq(toadletContext))).thenReturn(session) + assertThat(request.session, sameInstance(session)) + } + +}