X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FWebPageTest.java;h=b759a6d3999be20999a37f0df6ac69391352e987;hb=8dd998006410b230392c0df06a29f95be1571b6f;hp=5a1d589670a802788264951beea70655e21e5302;hpb=52f3202e3d96c1c2d5dc60ac1d5fa7e3b340a45f;p=Sone.git diff --git a/src/test/java/net/pterodactylus/sone/web/WebPageTest.java b/src/test/java/net/pterodactylus/sone/web/WebPageTest.java index 5a1d589..b759a6d 100644 --- a/src/test/java/net/pterodactylus/sone/web/WebPageTest.java +++ b/src/test/java/net/pterodactylus/sone/web/WebPageTest.java @@ -11,10 +11,14 @@ import static org.mockito.Mockito.when; import java.net.URI; import java.net.URISyntaxException; import java.util.ArrayList; +import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; +import javax.annotation.Nonnull; + import net.pterodactylus.sone.core.Core; import net.pterodactylus.sone.core.Preferences; import net.pterodactylus.sone.core.UpdateChecker; @@ -60,6 +64,7 @@ public abstract class WebPageTest { protected final TemplateContext templateContext = new TemplateContext(); protected final HTTPRequest httpRequest = mock(HTTPRequest.class); + protected final Map requestHeaders = new HashMap<>(); protected final FreenetRequest freenetRequest = mock(FreenetRequest.class); protected final ToadletContext toadletContext = mock(ToadletContext.class); @@ -78,6 +83,12 @@ public abstract class WebPageTest { }); when(httpRequest.getParam(anyString())).thenReturn(""); when(httpRequest.getParam(anyString(), anyString())).thenReturn(""); + when(httpRequest.getHeader(anyString())).thenAnswer(new Answer() { + @Override + public String answer(InvocationOnMock invocation) throws Throwable { + return requestHeaders.get(invocation.getArgument(0).toLowerCase()); + } + }); } @Before @@ -103,6 +114,7 @@ public abstract class WebPageTest { public final void setupWebInterface() { when(webInterface.getCurrentSone(toadletContext)).thenReturn(currentSone); when(webInterface.getCurrentSone(eq(toadletContext), anyBoolean())).thenReturn(currentSone); + when(webInterface.getNotification(anyString())).thenReturn(Optional.absent()); when(webInterface.getNotifications(currentSone)).thenReturn(new ArrayList()); } @@ -125,6 +137,10 @@ public abstract class WebPageTest { when(freenetRequest.getMethod()).thenReturn(method); } + protected void addHttpRequestHeader(@Nonnull String name, String value) { + requestHeaders.put(name.toLowerCase(), value); + } + protected void addHttpRequestParameter(String name, final String value) { when(httpRequest.getPartAsStringFailsafe(eq(name), anyInt())).thenAnswer(new Answer() { @Override @@ -164,4 +180,8 @@ public abstract class WebPageTest { when(core.getImage(eq(imageId), anyBoolean())).thenReturn(image); } + protected void addNotification(String notificationId, Notification notification) { + when(webInterface.getNotification(eq(notificationId))).thenReturn(Optional.of(notification)); + } + }