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=3295bddec69cd441063e1a00475af91b070b550a;hp=1e3caab7057d784cac397a80f727ccd5d34e9685;hb=d5cd41949b7e62fdc40ef7390661dcda8c18a139;hpb=19486ba47204d8554c04e1355dae6c113aa1e6c4 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 1e3caab..3295bdd 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/page/FreenetRequestTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/page/FreenetRequestTest.kt @@ -1,11 +1,14 @@ package net.pterodactylus.sone.web.page import freenet.clients.http.* +import freenet.clients.http.SessionManager.* 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.* @@ -15,7 +18,8 @@ class FreenetRequestTest { private val method = Method.GET private val httpRequest = mock(HTTPRequest::class.java) private val toadletContext = mock(ToadletContext::class.java) - private val request = FreenetRequest(uri, method, httpRequest, toadletContext) + private val sessionManager = mock() + private val request = FreenetRequest(uri, method, httpRequest, toadletContext, sessionManager) @Test fun `uri is retained correctly`() { @@ -37,4 +41,30 @@ class FreenetRequestTest { assertThat(request.toadletContext, equalTo(toadletContext)) } + @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)) + } + }