♻️ Copy session-handling code to FreenetRequest
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / web / page / SoneRequestTest.kt
1 package net.pterodactylus.sone.web.page
2
3 import freenet.clients.http.*
4 import freenet.l10n.*
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.*
12 import org.junit.*
13 import org.mockito.*
14 import java.net.*
15
16 class SoneRequestTest {
17
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 l10n = mock<BaseL10n>()
23         private val sessionManager = mock<SessionManager>()
24         private val core = mock<Core>()
25         private val webInterface = mock<WebInterface>()
26         private val soneRequest = SoneRequest(uri, method, httpRequest, toadletContext, l10n, sessionManager, core, webInterface)
27
28         @Test
29         fun `freenet request properties are retained correctly`() {
30                 assertThat(soneRequest.uri, equalTo(uri))
31                 assertThat(soneRequest.method, equalTo(method))
32                 assertThat(soneRequest.httpRequest, equalTo(httpRequest))
33                 assertThat(soneRequest.toadletContext, equalTo(toadletContext))
34                 assertThat(soneRequest.l10n, equalTo(l10n))
35                 assertThat(soneRequest.sessionManager, equalTo(sessionManager))
36         }
37
38         @Test
39         fun `core is retained correctly`() {
40                 assertThat(soneRequest.core, sameInstance(core))
41         }
42
43         @Test
44         fun `web interface is retained correctly`() {
45                 assertThat(soneRequest.webInterface, sameInstance(webInterface))
46         }
47
48         @Test
49         fun `freenet request is wrapped correctly`() {
50             val freenetRequest = FreenetRequest(uri, method, httpRequest, toadletContext, l10n, sessionManager)
51                 val wrappedSoneRequest = freenetRequest.toSoneRequest(core, webInterface)
52                 assertThat(wrappedSoneRequest.uri, equalTo(uri))
53                 assertThat(wrappedSoneRequest.method, equalTo(method))
54                 assertThat(wrappedSoneRequest.httpRequest, equalTo(httpRequest))
55                 assertThat(wrappedSoneRequest.toadletContext, equalTo(toadletContext))
56                 assertThat(wrappedSoneRequest.l10n, equalTo(l10n))
57                 assertThat(wrappedSoneRequest.sessionManager, equalTo(sessionManager))
58                 assertThat(wrappedSoneRequest.core, sameInstance(core))
59                 assertThat(wrappedSoneRequest.webInterface, sameInstance(webInterface))
60         }
61
62 }