X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpages%2FReloadingPageTest.kt;h=1a80a1b9621befe5608155f1f2bf127ba879103b;hb=2dd40fba7031cffb35a5156435547a5d964535c9;hp=274dba83b285936504a9695ac53f1903352a9d04;hpb=6b29b49714912ff5e3e410d2484699cdf8041b90;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/web/pages/ReloadingPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/pages/ReloadingPageTest.kt index 274dba8..1a80a1b 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/pages/ReloadingPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/pages/ReloadingPageTest.kt @@ -1,12 +1,17 @@ package net.pterodactylus.sone.web.pages -import net.pterodactylus.sone.web.pages.ReloadingPage +import freenet.support.api.HTTPRequest +import net.pterodactylus.sone.test.mock +import net.pterodactylus.sone.test.whenever import net.pterodactylus.sone.web.page.FreenetRequest +import net.pterodactylus.util.web.Response import org.hamcrest.MatcherAssert.assertThat import org.hamcrest.Matchers.equalTo import org.junit.Rule import org.junit.Test import org.junit.rules.TemporaryFolder +import java.io.ByteArrayOutputStream +import java.net.URI import java.nio.file.Files import java.nio.file.Paths import kotlin.text.Charsets.UTF_8 @@ -14,11 +19,15 @@ import kotlin.text.Charsets.UTF_8 /** * Unit test for [ReloadingPage]. */ -class ReloadingPageTest : WebPageTest() { +class ReloadingPageTest { @Rule @JvmField val tempFolder = TemporaryFolder() - private val folder by lazy { tempFolder.newFolder() } + private val folder by lazy { tempFolder.newFolder()!! } private val page by lazy { ReloadingPage("/prefix/", folder.path, "text/plain") } + private val freenetRequest = mock() + private val httpRequest = mock() + private val responseBytes = ByteArrayOutputStream() + private val response = Response(responseBytes) @Test fun `page returns correct path prefix`() { @@ -30,11 +39,17 @@ class ReloadingPageTest : WebPageTest() { assertThat(page.isPrefixPage, equalTo(true)) } + private fun request(uri: String) { + whenever(httpRequest.path).thenReturn(uri) + whenever(freenetRequest.uri).thenReturn(URI(uri)) + } + @Test fun `requesting invalid file results in 404`() { request("/prefix/path/file.txt") page.handleRequest(freenetRequest, response) assertThat(response.statusCode, equalTo(404)) + assertThat(response.statusText, equalTo("Not found")) } @Test @@ -43,8 +58,9 @@ class ReloadingPageTest : WebPageTest() { request("/prefix/path/file.txt") page.handleRequest(freenetRequest, response) assertThat(response.statusCode, equalTo(200)) + assertThat(response.statusText, equalTo("OK")) assertThat(response.contentType, equalTo("text/plain")) - assertThat(responseBytes, equalTo("Hello\nWorld\n".toByteArray())) + assertThat(responseBytes.toByteArray(), equalTo("Hello\nWorld\n".toByteArray())) } }