X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpages%2FGetImagePageTest.kt;h=b5efeac5fa4323c6cb1da65e22310f96b9fa4fd8;hb=ffd92ca2374c0b2218e583d02e0bdd24b8c110ae;hp=fb96a4c0d34d5647c8eff62153ad62d479e36e3d;hpb=de7568a82eb4150bf6d2b0553841b7b69f84c968;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/web/pages/GetImagePageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/pages/GetImagePageTest.kt index fb96a4c..b5efeac 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/pages/GetImagePageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/pages/GetImagePageTest.kt @@ -1,18 +1,21 @@ package net.pterodactylus.sone.web.pages import net.pterodactylus.sone.data.TemporaryImage -import net.pterodactylus.sone.web.pages.GetImagePage -import net.pterodactylus.sone.web.pages.WebPageTest import org.hamcrest.MatcherAssert.assertThat +import org.hamcrest.Matchers.contains import org.hamcrest.Matchers.equalTo import org.junit.Test /** * Unit test for [GetImagePage]. */ -class GetImagePageTest : WebPageTest() { +class GetImagePageTest { - private val page = GetImagePage(webInterface) + private val scaffolding = WebPageTest() + private val page = GetImagePage(scaffolding.webInterface) + private val freenetRequest = scaffolding.freenetRequest + private val response = scaffolding.response + private val responseContent = scaffolding.responseContent @Test fun `page returns correct path`() { @@ -33,7 +36,9 @@ class GetImagePageTest : WebPageTest() { fun `invalid image returns 404 response`() { page.handleRequest(freenetRequest, response) assertThat(response.statusCode, equalTo(404)) - assertThat(responseBytes, equalTo(ByteArray(0))) + assertThat(response.statusText, equalTo("Not found.")) + assertThat(response.contentType, equalTo("text/html; charset=utf-8")) + assertThat(responseContent.toByteArray(), equalTo(ByteArray(0))) } @Test @@ -42,12 +47,16 @@ class GetImagePageTest : WebPageTest() { mimeType = "image/test" imageData = ByteArray(5, Int::toByte) } - addHttpRequestParameter("image", "temp-id") - addTemporaryImage("temp-id", image) + scaffolding.addHttpRequestParameter("image", "temp-id") + scaffolding.addTemporaryImage("temp-id", image) page.handleRequest(freenetRequest, response) assertThat(response.statusCode, equalTo(200)) assertThat(response.contentType, equalTo("image/test")) - assertThat(responseBytes, equalTo(ByteArray(5, Int::toByte))) + assertThat(responseContent.toByteArray(), equalTo(ByteArray(5, Int::toByte))) + println(response.headers.map { it.name to it.iterator().asSequence().toList() }) + assertThat(response.headers.map { it.name to it.iterator().asSequence().toList() }, contains( + "Content-Disposition" to listOf("attachment; filename=temp-id.test") + )) } }