X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ffcp%2FGetPostCommandTest.java;h=a6a6feac7cf211df1b645a24fa75d44b9d737c7b;hb=2d37242d19f2e726cd402b99f935a0eba282f630;hp=03dc205a8851ff3269ef0f6d942a0a454bcbc23a;hpb=68cf128b60ff1e9a27964de5bc07cebe666c41c6;p=Sone.git diff --git a/src/test/java/net/pterodactylus/sone/fcp/GetPostCommandTest.java b/src/test/java/net/pterodactylus/sone/fcp/GetPostCommandTest.java index 03dc205..a6a6fea 100644 --- a/src/test/java/net/pterodactylus/sone/fcp/GetPostCommandTest.java +++ b/src/test/java/net/pterodactylus/sone/fcp/GetPostCommandTest.java @@ -17,13 +17,10 @@ package net.pterodactylus.sone.fcp; -import static com.google.common.base.Optional.of; -import static java.lang.String.format; import static java.util.Arrays.asList; +import static net.pterodactylus.sone.Verifiers.verifyAnswer; +import static net.pterodactylus.sone.Verifiers.verifyPostWithReplies; import static net.pterodactylus.sone.freenet.fcp.Command.AccessType.DIRECT; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; import static org.mockito.Mockito.when; import net.pterodactylus.sone.data.Mocks; @@ -37,7 +34,6 @@ import net.pterodactylus.sone.freenet.fcp.FcpException; import freenet.node.FSParseException; import freenet.support.SimpleFieldSet; -import com.google.common.base.Optional; import org.junit.Test; /** @@ -53,37 +49,37 @@ public class GetPostCommandTest { @Test public void verifyThatGettingAPostWithoutRepliesAndRecipientWorks() throws FcpException, FSParseException { Sone sone = mocks.mockSone("SoneId").create(); - Post post = preparePostWithoutRecipient(sone); + Post post = mocks.mockPost(sone, "PostId").withTime(1000L).withText("Text of the post.").create(); SimpleFieldSet getPostFieldSet = new SimpleFieldSetBuilder() .put("Message", "GetPost") .put("Post", "PostId") .get(); Response response = getPostCommand.execute(getPostFieldSet, null, DIRECT); - verifyAnswer(response); - verifyPost(post, response); + verifyAnswer(response, "Post"); + verifyPostWithReplies(response.getReplyParameters(), "Post.", post); } @Test public void verifyThatGettingAPostWithoutRepliesAndWithRecipientWorks() throws FcpException, FSParseException { Sone sone = mocks.mockSone("SoneId").create(); Sone otherSone = mocks.mockSone("OtherSoneId").create(); - Post post = preparePostWithRecipient(sone, otherSone); + Post post = mocks.mockPost(sone, "PostId").withRecipient(otherSone.getId()).withTime(1000L).withText("Text of the post.").create(); SimpleFieldSet getPostFieldSet = new SimpleFieldSetBuilder() .put("Message", "GetPost") .put("Post", "PostId") .get(); Response response = getPostCommand.execute(getPostFieldSet, null, DIRECT); - verifyAnswer(response); - verifyPost(post, response); + verifyAnswer(response, "Post"); + verifyPostWithReplies(response.getReplyParameters(), "Post.", post); } @Test public void verifyThatGettingAPostWithRepliesWorks() throws FcpException, FSParseException { Sone sone = mocks.mockSone("SoneId").create(); - Post post = preparePostWithoutRecipient(sone); - PostReply postReply1 = mocks.mockPostReply(sone, "Reply1"); + Post post = mocks.mockPost(sone, "PostId").withTime(1000L).withText("Text of the post.").create(); + PostReply postReply1 = mocks.mockPostReply(sone, "Reply1").create(); when(postReply1.getText()).thenReturn("Reply 1."); - PostReply postReply2 = mocks.mockPostReply(sone, "Reply2"); + PostReply postReply2 = mocks.mockPostReply(sone, "Reply2").create(); when(postReply2.getText()).thenReturn("Reply 2."); when(post.getReplies()).thenReturn(asList(postReply1, postReply2)); SimpleFieldSet getPostFieldSet = new SimpleFieldSetBuilder() @@ -92,11 +88,8 @@ public class GetPostCommandTest { .put("IncludeReplies", "true") .get(); Response response = getPostCommand.execute(getPostFieldSet, null, DIRECT); - verifyAnswer(response); - verifyPost(post, response); - assertThat(response.getReplyParameters().getInt("Post.Replies.Count"), is(post.getReplies().size())); - verifyReply(response.getReplyParameters(), "Post.Replies.0.", postReply1); - verifyReply(response.getReplyParameters(), "Post.Replies.1.", postReply2); + verifyAnswer(response, "Post"); + verifyPostWithReplies(response.getReplyParameters(), "Post.", post); } @Test(expected = FcpException.class) @@ -116,47 +109,4 @@ public class GetPostCommandTest { getPostCommand.execute(getPostFieldSet, null, DIRECT); } - private Post preparePostWithoutRecipient(Sone sone) { - Post post = preparePost(sone); - when(post.getRecipientId()).thenReturn(Optional.absent()); - when(post.getRecipient()).thenReturn(Optional.absent()); - return post; - } - - private Post preparePostWithRecipient(Sone sone, Sone otherSone) { - Post post = preparePost(sone); - String otherSoneId = otherSone.getId(); - when(post.getRecipientId()).thenReturn(of(otherSoneId)); - when(post.getRecipient()).thenReturn(of(otherSone)); - return post; - } - - private Post preparePost(Sone sone) { - Post post = mocks.mockPost(sone, "PostId"); - when(post.getText()).thenReturn("Text of the post."); - when(post.getTime()).thenReturn(1000L); - return post; - } - - private void verifyAnswer(Response response) { - assertThat(response, notNullValue()); - assertThat(response.getReplyParameters(), notNullValue()); - assertThat(response.getReplyParameters().get("Message"), is("Post")); - } - - private void verifyReply(SimpleFieldSet replyParameters, String prefix, PostReply postReply) throws FSParseException { - assertThat(replyParameters.get(format("%sID", prefix)), is(postReply.getId())); - assertThat(replyParameters.get(format("%sSone", prefix)), is(postReply.getSone().getId())); - assertThat(replyParameters.getLong(format("%sTime", prefix)), is(postReply.getTime())); - assertThat(replyParameters.get(format("%sText", prefix)), is(postReply.getText())); - } - - private void verifyPost(Post post, Response response) throws FSParseException { - assertThat(response.getReplyParameters().get("Post.ID"), is(post.getId())); - assertThat(response.getReplyParameters().get("Post.Sone"), is(post.getSone().getId())); - assertThat(response.getReplyParameters().get("Post.Recipient"), is(post.getRecipientId().orNull())); - assertThat(response.getReplyParameters().getLong("Post.Time"), is(post.getTime())); - assertThat(response.getReplyParameters().get("Post.Text"), is(post.getText())); - } - }