X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FWebPageTest.java;h=1a6fb59c02c98c5407f2af6f58543ecb2b52cd86;hb=ae036a458cbfc027367cab1464b2a618f650228e;hp=3cbc75ef6aa787cd08a973190380b88baa484dd5;hpb=f9ddb56aac0ca9530fdcb22a5d59c1d32c9b658a;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 3cbc75e..1a6fb59 100644 --- a/src/test/java/net/pterodactylus/sone/web/WebPageTest.java +++ b/src/test/java/net/pterodactylus/sone/web/WebPageTest.java @@ -1,6 +1,7 @@ package net.pterodactylus.sone.web; import static org.mockito.ArgumentMatchers.anyBoolean; +import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.RETURNS_DEEP_STUBS; import static org.mockito.Mockito.mock; @@ -12,6 +13,7 @@ import java.util.ArrayList; import net.pterodactylus.sone.core.Core; import net.pterodactylus.sone.core.UpdateChecker; +import net.pterodactylus.sone.data.Post; import net.pterodactylus.sone.data.Sone; import net.pterodactylus.sone.web.page.FreenetRequest; import net.pterodactylus.util.notify.Notification; @@ -22,9 +24,12 @@ import net.pterodactylus.util.web.Method; import freenet.clients.http.ToadletContext; import freenet.support.api.HTTPRequest; +import com.google.common.base.Optional; import org.junit.Before; import org.junit.Rule; import org.junit.rules.ExpectedException; +import org.mockito.invocation.InvocationOnMock; +import org.mockito.stubbing.Answer; /** * Base class for web page tests. @@ -55,9 +60,13 @@ public abstract class WebPageTest { } @Before - public final void setupWebInterface() { + public final void setupCore() { UpdateChecker updateChecker = mock(UpdateChecker.class); when(webInterface.getCore().getUpdateChecker()).thenReturn(updateChecker); + } + + @Before + public final void setupWebInterface() { when(webInterface.getCurrentSone(toadletContext)).thenReturn(currentSone); when(webInterface.getCurrentSone(eq(toadletContext), anyBoolean())).thenReturn(currentSone); when(webInterface.getNotifications(currentSone)).thenReturn(new ArrayList()); @@ -72,4 +81,18 @@ public abstract class WebPageTest { when(freenetRequest.getMethod()).thenReturn(method); } + protected void addHttpRequestParameter(String name, final String value) { + when(httpRequest.getPartAsStringFailsafe(eq(name), anyInt())).thenAnswer(new Answer() { + @Override + public String answer(InvocationOnMock invocation) throws Throwable { + int maxLength = invocation.getArgument(1); + return value.substring(0, Math.min(maxLength, value.length())); + } + }); + } + + protected void addPost(String postId, Post post) { + when(core.getPost(postId)).thenReturn(Optional.fromNullable(post)); + } + }