Remove dependency on web page test base from reloading page test
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Mon, 19 Jun 2017 08:33:32 +0000 (10:33 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Mon, 19 Jun 2017 08:33:32 +0000 (10:33 +0200)
src/test/kotlin/net/pterodactylus/sone/web/pages/ReloadingPageTest.kt

index a281851..1a80a1b 100644 (file)
@@ -1,11 +1,17 @@
 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
@@ -13,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 page by lazy { ReloadingPage<FreenetRequest>("/prefix/", folder.path, "text/plain") }
+       private val freenetRequest = mock<FreenetRequest>()
+       private val httpRequest = mock<HTTPRequest>()
+       private val responseBytes = ByteArrayOutputStream()
+       private val response = Response(responseBytes)
 
        @Test
        fun `page returns correct path prefix`() {
@@ -29,6 +39,11 @@ 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")
@@ -45,7 +60,7 @@ class ReloadingPageTest : WebPageTest() {
                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()))
        }
 
 }