1 package net.pterodactylus.sone.web
3 import net.pterodactylus.sone.data.Sone
4 import net.pterodactylus.sone.test.mock
5 import net.pterodactylus.sone.web.WebTestUtils.redirectsTo
6 import net.pterodactylus.util.web.Method
7 import net.pterodactylus.util.web.Method.GET
8 import net.pterodactylus.util.web.Method.POST
10 import org.mockito.Mockito
11 import org.mockito.Mockito.verify
14 * Unit test for [DistrustPage].
16 class DistrustPageTest : WebPageTest() {
18 private val page = DistrustPage(template, webInterface)
21 fun `get request does not redirect`() {
23 page.handleRequest(freenetRequest, templateContext)
27 fun `post request with invalid sone redirects to return page`() {
29 addHttpRequestParameter("returnPage", "return.html")
30 expectedException.expect(redirectsTo("return.html"))
31 page.handleRequest(freenetRequest, templateContext)
35 fun `post request with valid sone distrusts sone and redirects to return page`() {
37 val remoteSone = mock<Sone>()
38 addSone("remote-sone-id", remoteSone)
39 addHttpRequestParameter("returnPage", "return.html")
40 addHttpRequestParameter("sone", "remote-sone-id")
41 expectedException.expect(redirectsTo("return.html"))
43 page.handleRequest(freenetRequest, templateContext)
45 verify(core).distrustSone(currentSone, remoteSone)