1 package net.pterodactylus.sone.template;
3 import static org.mockito.Mockito.mock;
4 import static org.mockito.Mockito.verify;
5 import static org.mockito.Mockito.when;
7 import java.util.HashMap;
10 import net.pterodactylus.sone.web.page.FreenetRequest;
11 import net.pterodactylus.util.template.TemplateContext;
13 import freenet.support.api.HTTPRequest;
15 import org.junit.Before;
16 import org.junit.Test;
19 * Unit test for {@link GetPagePlugin}.
21 public class GetPagePluginTest {
23 private final GetPagePlugin plugin = new GetPagePlugin();
24 private final TemplateContext context = mock(TemplateContext.class);
25 private final FreenetRequest request = mock(FreenetRequest.class);
26 private final Map<String, String> parameters =
28 private HTTPRequest httpRequest = mock(HTTPRequest.class);
31 public void setupTemplateContext() {
32 when(context.get("request")).thenReturn(request);
33 when(request.getHttpRequest()).thenReturn(httpRequest);
34 when(httpRequest.getParam("page")).thenReturn("1");
38 public void fullySpecifiedPluginCallSetsCorrectValue() {
39 parameters.put("request", "request");
40 parameters.put("parameter", "page");
41 parameters.put("key", "page-key");
42 plugin.execute(context, parameters);
43 verify(context).set("page-key", 1);
47 public void missingRequestParameterStillSetsCorrectValue() {
48 parameters.put("parameter", "page");
49 parameters.put("key", "page-key");
50 plugin.execute(context, parameters);
51 verify(context).set("page-key", 1);
55 public void missingParameterParameterStillSetsCorrectValue() {
56 parameters.put("request", "request");
57 parameters.put("key", "page-key");
58 plugin.execute(context, parameters);
59 verify(context).set("page-key", 1);
63 public void missingKeyParameterStillSetsCorrectValue() {
64 parameters.put("request", "request");
65 parameters.put("parameter", "page");
66 plugin.execute(context, parameters);
67 verify(context).set("page", 1);
71 public void unparseablePageSetsPageZero() {
72 parameters.put("parameter", "wrong-parameter");
73 plugin.execute(context, parameters);
74 verify(context).set("page", 0);