1 package net.pterodactylus.sone.web.page
3 import freenet.clients.http.*
5 import freenet.support.api.*
6 import net.pterodactylus.sone.core.*
7 import net.pterodactylus.sone.test.*
8 import net.pterodactylus.sone.web.*
9 import net.pterodactylus.util.web.*
10 import org.hamcrest.MatcherAssert.*
11 import org.hamcrest.Matchers.*
16 class SoneRequestTest {
18 private val uri = URI(".")
19 private val method = Method.GET
20 private val httpRequest = Mockito.mock(HTTPRequest::class.java)
21 private val toadletContext = Mockito.mock(ToadletContext::class.java)
22 private val sessionManager = mock<SessionManager>()
23 private val core = mock<Core>()
24 private val webInterface = mock<WebInterface>()
25 private val soneRequest = SoneRequest(uri, method, httpRequest, toadletContext, sessionManager, core, webInterface)
28 fun `freenet request properties are retained correctly`() {
29 assertThat(soneRequest.uri, equalTo(uri))
30 assertThat(soneRequest.method, equalTo(method))
31 assertThat(soneRequest.httpRequest, equalTo(httpRequest))
32 assertThat(soneRequest.toadletContext, equalTo(toadletContext))
33 assertThat(soneRequest.sessionManager, equalTo(sessionManager))
37 fun `core is retained correctly`() {
38 assertThat(soneRequest.core, sameInstance(core))
42 fun `web interface is retained correctly`() {
43 assertThat(soneRequest.webInterface, sameInstance(webInterface))
47 fun `freenet request is wrapped correctly`() {
48 val freenetRequest = FreenetRequest(uri, method, httpRequest, toadletContext, sessionManager)
49 val wrappedSoneRequest = freenetRequest.toSoneRequest(core, webInterface)
50 assertThat(wrappedSoneRequest.uri, equalTo(uri))
51 assertThat(wrappedSoneRequest.method, equalTo(method))
52 assertThat(wrappedSoneRequest.httpRequest, equalTo(httpRequest))
53 assertThat(wrappedSoneRequest.toadletContext, equalTo(toadletContext))
54 assertThat(wrappedSoneRequest.sessionManager, equalTo(sessionManager))
55 assertThat(wrappedSoneRequest.core, sameInstance(core))
56 assertThat(wrappedSoneRequest.webInterface, sameInstance(webInterface))