Remove obsolete loading animation
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / web / GetImagePageTest.kt
1 package net.pterodactylus.sone.web
2
3 import net.pterodactylus.sone.data.TemporaryImage
4 import org.hamcrest.MatcherAssert.assertThat
5 import org.hamcrest.Matchers.equalTo
6 import org.junit.Test
7
8 /**
9  * Unit test for [GetImagePage].
10  */
11 class GetImagePageTest : WebPageTest() {
12
13         private val page = GetImagePage(webInterface)
14
15         @Test
16         fun `page returns correct path`() {
17                 assertThat(page.path, equalTo("getImage.html"))
18         }
19
20         @Test
21         fun `page is not a prefix page`() {
22                 assertThat(page.isPrefixPage, equalTo(false))
23         }
24
25         @Test
26         fun `page is not link-excepted`() {
27                 assertThat(page.isLinkExcepted(null), equalTo(false))
28         }
29
30         @Test
31         fun `invalid image returns 404 response`() {
32                 page.handleRequest(freenetRequest, response)
33                 assertThat(response.statusCode, equalTo(404))
34                 assertThat(responseBytes, equalTo(ByteArray(0)))
35         }
36
37         @Test
38         fun `valid image returns response with correct data`() {
39                 val image = TemporaryImage("temp-id").apply {
40                         mimeType = "image/test"
41                         imageData = ByteArray(5, Int::toByte)
42                 }
43                 addHttpRequestParameter("image", "temp-id")
44                 addTemporaryImage("temp-id", image)
45                 page.handleRequest(freenetRequest, response)
46                 assertThat(response.statusCode, equalTo(200))
47                 assertThat(response.contentType, equalTo("image/test"))
48                 assertThat(responseBytes, equalTo(ByteArray(5, Int::toByte)))
49         }
50
51 }