X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fmain%2FDefaultLoadersTest.java;h=0f0a9f143ccf336af871004f9488047021eeecca;hb=e7550501ed1b8bcb07206a0fb76f07a52c300c6d;hp=220996d52b31dad537d475f82dc632ed1308c4e3;hpb=2f21e4a2402f1c7a55175f223118521dbd2d27d8;p=Sone.git diff --git a/src/test/java/net/pterodactylus/sone/main/DefaultLoadersTest.java b/src/test/java/net/pterodactylus/sone/main/DefaultLoadersTest.java index 220996d..0f0a9f1 100644 --- a/src/test/java/net/pterodactylus/sone/main/DefaultLoadersTest.java +++ b/src/test/java/net/pterodactylus/sone/main/DefaultLoadersTest.java @@ -2,11 +2,27 @@ package net.pterodactylus.sone.main; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.notNullValue; +import static org.hamcrest.Matchers.startsWith; +import static org.mockito.Mockito.mock; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStream; import java.io.StringWriter; +import java.net.URI; +import java.net.URISyntaxException; +import net.pterodactylus.sone.web.page.FreenetRequest; import net.pterodactylus.util.template.Template; import net.pterodactylus.util.template.TemplateContext; +import net.pterodactylus.util.template.TemplateProvider; +import net.pterodactylus.util.web.Method; +import net.pterodactylus.util.web.Page; +import net.pterodactylus.util.web.Response; + +import freenet.clients.http.ToadletContext; +import freenet.support.api.HTTPRequest; import org.junit.Test; @@ -28,4 +44,26 @@ public class DefaultLoadersTest { assertThat(stringWriter.toString(), is("Template. bar\n")); } + @Test + public void staticPageIsServedFromClasspath() throws IOException, URISyntaxException { + Page staticPage = loaders.loadStaticPage("text/", "/net/pterodactylus/sone/main/", "text/plain"); + URI uri = new URI("http://some.host/text/template.txt"); + Method method = Method.GET; + HTTPRequest httpRequest = mock(HTTPRequest.class); + ToadletContext toadletContext = mock(ToadletContext.class); + FreenetRequest request = new FreenetRequest(uri, method, httpRequest, toadletContext); + OutputStream outputStream = new ByteArrayOutputStream(); + Response response = new Response(outputStream); + staticPage.handleRequest(request, response); + assertThat(response.getContentType(), startsWith("text/plain")); + assertThat(response.getStatusCode(), is(200)); + } + + @Test + public void templateIsLocatedInClasspath() { + TemplateProvider templateProvider = loaders.getTemplateProvider(); + Template template = templateProvider.getTemplate(templateContext, "about.html"); + assertThat(template, notNullValue()); + } + }