X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpages%2FReloadingPageTest.kt;h=30cdc6b7d7a9fc0030dd3b3ec212780a25581ba6;hb=28ad647af3d7e3f49c5ec655b3640e27293a67fc;hp=1a80a1b9621befe5608155f1f2bf127ba879103b;hpb=043d3bca7a88ecb04be90ab9978a6fdc0d8f7434;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 1a80a1b..30cdc6b 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/pages/ReloadingPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/pages/ReloadingPageTest.kt @@ -1,33 +1,28 @@ package net.pterodactylus.sone.web.pages -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 +import net.pterodactylus.sone.test.* +import net.pterodactylus.sone.web.* +import net.pterodactylus.sone.web.page.* +import org.hamcrest.MatcherAssert.* +import org.hamcrest.Matchers.* +import org.junit.* +import org.junit.rules.* +import java.nio.file.* /** * Unit test for [ReloadingPage]. */ class ReloadingPageTest { - @Rule @JvmField val tempFolder = TemporaryFolder() + @Rule + @JvmField + val tempFolder = TemporaryFolder() 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) + private val webPageTest = WebPageTest() + private val freenetRequest = webPageTest.freenetRequest + private val responseBytes = webPageTest.responseContent + private val response = webPageTest.response @Test fun `page returns correct path prefix`() { @@ -39,14 +34,9 @@ class ReloadingPageTest { 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") + webPageTest.request("/prefix/path/file.txt") page.handleRequest(freenetRequest, response) assertThat(response.statusCode, equalTo(404)) assertThat(response.statusText, equalTo("Not found")) @@ -54,13 +44,19 @@ class ReloadingPageTest { @Test fun `requesting valid file results in 200 and delivers file`() { - Files.write(Paths.get(folder.path, "file.txt"), listOf("Hello", "World"), UTF_8) - request("/prefix/path/file.txt") + val fileContent = listOf("Hello", "World").joinToString("\n", postfix = "\n") + Files.writeString(Paths.get(folder.path, "file.txt"), fileContent) + 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.toByteArray(), equalTo("Hello\nWorld\n".toByteArray())) + assertThat(responseBytes.toByteArray(), equalTo(fileContent.toByteArray())) + } + + @Test + fun `page can be created by dependency injection`() { + assertThat(baseInjector.getInstance>(), notNullValue()) } }