X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpage%2FFreenetRequestTest.kt;h=e05ad450a8e215f3cc5059ac19fc2e51a6fa8346;hp=391991c35e1c77e805a76d9820b38b5763719821;hb=c28013c8a4bcb9776a1e2d82ffd6c4c8297ffb62;hpb=cd1f93dc057bdc6e89baeb41db0f749f2287224e diff --git a/src/test/kotlin/net/pterodactylus/sone/web/page/FreenetRequestTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/page/FreenetRequestTest.kt index 391991c..e05ad45 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/page/FreenetRequestTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/page/FreenetRequestTest.kt @@ -1,6 +1,7 @@ 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.* @@ -8,8 +9,8 @@ import net.pterodactylus.util.web.* import org.hamcrest.MatcherAssert.* import org.hamcrest.Matchers.* import org.junit.* +import org.mockito.* import org.mockito.Mockito.* -import org.mockito.Mockito.mock import java.net.* class FreenetRequestTest { @@ -19,7 +20,8 @@ class FreenetRequestTest { private val httpRequest = mock(HTTPRequest::class.java) private val toadletContext = mock(ToadletContext::class.java) private val l10n = mock() - private val request = FreenetRequest(uri, method, httpRequest, toadletContext, l10n) + private val sessionManager = mock() + private val request = FreenetRequest(uri, method, httpRequest, toadletContext, l10n, sessionManager) @Test fun `uri is retained correctly`() { @@ -46,4 +48,30 @@ class FreenetRequestTest { 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)) + } + }