X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FBookmarkAjaxPageTest.java;h=02394644f00e83cce080c6073c1da5bab93a918c;hb=7c8172d1de09a6444956963343ee3509f14b164c;hp=1db89d0bb306c351ad6a576093fb15ca7b0ae257;hpb=c842faebb65eb5210de8f6a2d0be85307d0c163f;p=Sone.git diff --git a/src/test/java/net/pterodactylus/sone/web/ajax/BookmarkAjaxPageTest.java b/src/test/java/net/pterodactylus/sone/web/ajax/BookmarkAjaxPageTest.java index 1db89d0..0239464 100644 --- a/src/test/java/net/pterodactylus/sone/web/ajax/BookmarkAjaxPageTest.java +++ b/src/test/java/net/pterodactylus/sone/web/ajax/BookmarkAjaxPageTest.java @@ -4,25 +4,23 @@ package net.pterodactylus.sone.web.ajax; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.notNullValue; -import static org.junit.Assert.assertThat; +import static net.pterodactylus.sone.Verifiers.verifyJsonError; +import static net.pterodactylus.sone.Verifiers.verifySuccessfulJsonResponse; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.mockito.Matchers.anyString; -import static org.mockito.Mockito.mock; +import static org.mockito.Matchers.eq; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; -import java.net.URI; import java.net.URISyntaxException; import net.pterodactylus.sone.core.Core; +import net.pterodactylus.sone.data.Mocks; import net.pterodactylus.sone.web.WebInterface; import net.pterodactylus.sone.web.page.FreenetRequest; -import freenet.clients.http.HTTPRequestImpl; -import freenet.support.api.HTTPRequest; import org.junit.Test; /** @@ -32,50 +30,33 @@ import org.junit.Test; */ public class BookmarkAjaxPageTest { - @Test - public void testBookmarkingExistingPost() throws URISyntaxException { - /* create mocks. */ - Core core = mock(Core.class); - WebInterface webInterface = mock(WebInterface.class); - when(webInterface.getCore()).thenReturn(core); - HTTPRequest httpRequest = new HTTPRequestImpl(new URI("/ajax/bookmark.ajax?post=abc"), "GET"); - FreenetRequest request = mock(FreenetRequest.class); - when(request.getHttpRequest()).thenReturn(httpRequest); - - /* create JSON page. */ - BookmarkAjaxPage bookmarkAjaxPage = new BookmarkAjaxPage(webInterface); - JsonReturnObject jsonReturnObject = bookmarkAjaxPage.createJsonObject(request); + private final Mocks mocks = new Mocks(); + private final Core core = mocks.core; + private final WebInterface webInterface = mocks.webInterface; + private final BookmarkAjaxPage bookmarkAjaxPage = new BookmarkAjaxPage(webInterface); - /* verify response. */ - assertThat(jsonReturnObject, notNullValue()); - assertThat(jsonReturnObject.isSuccess(), is(true)); + @Test + public void bookmarkingDoesNotRequireLogin() { + assertThat(bookmarkAjaxPage.requiresLogin(), is(false)); + } - /* verify behaviour. */ - verify(core, times(1)).bookmarkPost(anyString()); - verify(core).bookmarkPost("abc"); + @Test + public void testBookmarkingExistingPost() throws URISyntaxException { + JsonReturnObject jsonReturnObject = performRequest("/ajax/bookmark.ajax?post=abc", bookmarkAjaxPage); + verifySuccessfulJsonResponse(jsonReturnObject); + verify(core, times(1)).bookmarkPost(eq("abc")); } @Test public void testBookmarkingMissingPost() throws URISyntaxException { - /* create mocks. */ - Core core = mock(Core.class); - WebInterface webInterface = mock(WebInterface.class); - when(webInterface.getCore()).thenReturn(core); - HTTPRequest httpRequest = new HTTPRequestImpl(new URI("/ajax/bookmark.ajax"), "GET"); - FreenetRequest request = mock(FreenetRequest.class); - when(request.getHttpRequest()).thenReturn(httpRequest); - - /* create JSON page. */ - BookmarkAjaxPage bookmarkAjaxPage = new BookmarkAjaxPage(webInterface); - JsonReturnObject jsonReturnObject = bookmarkAjaxPage.createJsonObject(request); - - /* verify response. */ - assertThat(jsonReturnObject, notNullValue()); - assertThat(jsonReturnObject.isSuccess(), is(false)); - assertThat(((JsonErrorReturnObject) jsonReturnObject).getError(), is("invalid-post-id")); - - /* verify behaviour. */ + JsonReturnObject jsonReturnObject = performRequest("/ajax/bookmark.ajax", bookmarkAjaxPage); + verifyJsonError(jsonReturnObject, "invalid-post-id"); verify(core, never()).bookmarkPost(anyString()); } + private JsonReturnObject performRequest(String path, BookmarkAjaxPage bookmarkAjaxPage) throws URISyntaxException { + FreenetRequest request = mocks.mockRequest(path); + return bookmarkAjaxPage.createJsonObject(request); + } + }