import static java.lang.System.currentTimeMillis;
import static java.util.Arrays.asList;
import static java.util.concurrent.TimeUnit.DAYS;
-import static net.pterodactylus.sone.fcp.Verifiers.verifyPost;
-import static net.pterodactylus.sone.fcp.Verifiers.verifyPostReply;
+import static net.pterodactylus.sone.fcp.Verifiers.verifyAnswer;
+import static net.pterodactylus.sone.fcp.Verifiers.verifyPostsWithReplies;
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 java.util.Collections;
import net.pterodactylus.sone.data.Mocks;
import net.pterodactylus.sone.data.Post;
public void setup() {
remoteSone = mocks.mockSone("RSone").create();
friendSone = mocks.mockSone("FSone").create();
- localSone = mocks.mockSone("LSone").local().withFriends(asList(friendSone.getId())).create();
+ localSone = mocks.mockSone("LSone").local().withFriends(asList(friendSone.getId(), "NonExistingSone")).create();
localPost = mocks.mockPost(localSone, "LPost").withTime(daysBefore(11)).withText("My post.").create();
friendReplyToLocalPost = mocks.mockPostReply(friendSone, "FReply").inReplyTo(localPost).withTime(daysBefore(9)).withText("No.").create();
remoteReplyToLocalPost = mocks.mockPostReply(remoteSone, "RReply").inReplyTo(localPost).withTime(daysBefore(7)).withText("Yes.").create();
.put("Sone", "LSone")
.get();
Response response = getPostFeedCommand.execute(getPostFeedFieldSet, null, DIRECT);
- assertThat(response, notNullValue());
- assertThat(response.getReplyParameters(), notNullValue());
- assertThat(response.getReplyParameters().get("Message"), is("PostFeed"));
- assertThat(response.getReplyParameters().getInt("Posts.Count"), is(3));
- verifyPost(response.getReplyParameters(), "Posts.0.", localPost);
- assertThat(response.getReplyParameters().getInt("Posts.0.Replies.Count"), is(2));
- verifyPostReply(response.getReplyParameters(), "Posts.0.Replies.0.", friendReplyToLocalPost);
- verifyPostReply(response.getReplyParameters(), "Posts.0.Replies.1.", remoteReplyToLocalPost);
- verifyPost(response.getReplyParameters(), "Posts.1.", friendPost);
- verifyPost(response.getReplyParameters(), "Posts.2.", remotePost);
+ verifyAnswer(response, "PostFeed");
+ verifyPostsWithReplies(response.getReplyParameters(), "Posts.", asList(localPost, friendPost, remotePost));
}
@Test
.put("StartPost", "1")
.get();
Response response = getPostFeedCommand.execute(getPostFeedFieldSet, null, DIRECT);
- assertThat(response, notNullValue());
- assertThat(response.getReplyParameters(), notNullValue());
- assertThat(response.getReplyParameters().get("Message"), is("PostFeed"));
- assertThat(response.getReplyParameters().getInt("Posts.Count"), is(2));
- verifyPost(response.getReplyParameters(), "Posts.0.", friendPost);
- verifyPost(response.getReplyParameters(), "Posts.1.", remotePost);
+ verifyAnswer(response, "PostFeed");
+ verifyPostsWithReplies(response.getReplyParameters(), "Posts.", asList(friendPost, remotePost));
}
@Test
.put("MaxPosts", "2")
.get();
Response response = getPostFeedCommand.execute(getPostFeedFieldSet, null, DIRECT);
- assertThat(response, notNullValue());
- assertThat(response.getReplyParameters(), notNullValue());
- assertThat(response.getReplyParameters().get("Message"), is("PostFeed"));
- assertThat(response.getReplyParameters().getInt("Posts.Count"), is(2));
- verifyPost(response.getReplyParameters(), "Posts.0.", localPost);
- assertThat(response.getReplyParameters().getInt("Posts.0.Replies.Count"), is(2));
- verifyPostReply(response.getReplyParameters(), "Posts.0.Replies.0.", friendReplyToLocalPost);
- verifyPostReply(response.getReplyParameters(), "Posts.0.Replies.1.", remoteReplyToLocalPost);
- verifyPost(response.getReplyParameters(), "Posts.1.", friendPost);
+ verifyAnswer(response, "PostFeed");
+ verifyPostsWithReplies(response.getReplyParameters(), "Posts.", asList(localPost, friendPost));
}
@Test
.put("StartPost", "1")
.get();
Response response = getPostFeedCommand.execute(getPostFeedFieldSet, null, DIRECT);
- assertThat(response, notNullValue());
- assertThat(response.getReplyParameters(), notNullValue());
- assertThat(response.getReplyParameters().get("Message"), is("PostFeed"));
- assertThat(response.getReplyParameters().getInt("Posts.Count"), is(1));
- verifyPost(response.getReplyParameters(), "Posts.0.", friendPost);
+ verifyAnswer(response, "PostFeed");
+ verifyPostsWithReplies(response.getReplyParameters(), "Posts.", asList(friendPost));
}
@Test
.put("StartPost", "10")
.get();
Response response = getPostFeedCommand.execute(getPostFeedFieldSet, null, DIRECT);
- assertThat(response, notNullValue());
- assertThat(response.getReplyParameters(), notNullValue());
- assertThat(response.getReplyParameters().get("Message"), is("PostFeed"));
- assertThat(response.getReplyParameters().getInt("Posts.Count"), is(0));
+ verifyAnswer(response, "PostFeed");
+ verifyPostsWithReplies(response.getReplyParameters(), "Posts.", Collections.<Post>emptyList());
}
@Test(expected = FcpException.class)