X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FJsonPageBaseTest.kt;fp=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FJsonPageBaseTest.kt;h=694f17070c73d512e8b1638e79471d7380fac8b1;hp=fd1af2732ea7ea6732cd45202dda54996a77c319;hb=ba8cf4e471423d30701ddac7a1f29cde42906f8a;hpb=c22350cb3c7a26b235147e13da25735682b7f130 diff --git a/src/test/kotlin/net/pterodactylus/sone/web/ajax/JsonPageBaseTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/ajax/JsonPageBaseTest.kt index fd1af27..694f170 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/ajax/JsonPageBaseTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/ajax/JsonPageBaseTest.kt @@ -19,7 +19,7 @@ class JsonPageBaseTest : TestObjects() { private var needsFormPassword = false private val pageCallCounter = AtomicInteger() - private var pageResponse = { JsonReturnObject(true) } + private var pageResponse = { JsonReturnObject(true).put("foo", "bar") } private val outputStream = ByteArrayOutputStream() private val response = Response(outputStream) @@ -52,6 +52,9 @@ class JsonPageBaseTest : TestObjects() { core.preferences.isRequireFullAccess = true page.handleRequest(freenetRequest, response) assertThat(response.statusCode, equalTo(403)) + assertThat(response.statusText, equalTo("Forbidden")) + assertThat(response.contentType, equalTo("application/json")) + assertThat(outputStream.toString("UTF-8"), equalTo("{\"success\":false,\"error\":\"auth-required\"}")) } @Test @@ -59,6 +62,9 @@ class JsonPageBaseTest : TestObjects() { needsFormPassword = true page.handleRequest(freenetRequest, response) assertThat(response.statusCode, equalTo(403)) + assertThat(response.statusText, equalTo("Forbidden")) + assertThat(response.contentType, equalTo("application/json")) + assertThat(outputStream.toString("UTF-8"), equalTo("{\"success\":false,\"error\":\"auth-required\"}")) } @Test @@ -67,6 +73,9 @@ class JsonPageBaseTest : TestObjects() { addRequestParameter("formPassword", formPassword + "_false") page.handleRequest(freenetRequest, response) assertThat(response.statusCode, equalTo(403)) + assertThat(response.statusText, equalTo("Forbidden")) + assertThat(response.contentType, equalTo("application/json")) + assertThat(outputStream.toString("UTF-8"), equalTo("{\"success\":false,\"error\":\"auth-required\"}")) } @Test @@ -75,6 +84,9 @@ class JsonPageBaseTest : TestObjects() { addRequestParameter("formPassword", formPassword) page.handleRequest(freenetRequest, response) assertThat(response.statusCode, equalTo(200)) + assertThat(response.statusText, equalTo("OK")) + assertThat(response.contentType, equalTo("application/json")) + assertThat(outputStream.toString("UTF-8"), equalTo("{\"success\":true,\"foo\":\"bar\"}")) } @Test @@ -82,20 +94,28 @@ class JsonPageBaseTest : TestObjects() { unsetCurrentSone() page.handleRequest(freenetRequest, response) assertThat(response.statusCode, equalTo(403)) + assertThat(response.statusText, equalTo("Forbidden")) + assertThat(response.contentType, equalTo("application/json")) + assertThat(outputStream.toString("UTF-8"), equalTo("{\"success\":false,\"error\":\"auth-required\"}")) } @Test fun `page returns content if login is required and current Sone is set`() { page.handleRequest(freenetRequest, response) - assertThat(response.statusCode, equalTo(200)) assertThat(pageCallCounter.get(), equalTo(1)) + assertThat(response.statusCode, equalTo(200)) + assertThat(response.statusText, equalTo("OK")) + assertThat(response.contentType, equalTo("application/json")) + assertThat(outputStream.toString("UTF-8"), equalTo("{\"success\":true,\"foo\":\"bar\"}")) } @Test fun `page returns 500 if execution throws exception`() { - pageResponse = { throw IllegalStateException() } + pageResponse = { throw IllegalStateException("some error occured") } page.handleRequest(freenetRequest, response) assertThat(response.statusCode, equalTo(500)) + assertThat(response.statusText, equalTo("some error occured")) + assertThat(response.contentType, equalTo("text/plain")) } @Test