Move verifiers to different package.
[Sone.git] / src / test / java / net / pterodactylus / sone / fcp / CreatePostCommandTest.java
index 5af1e7e..05aedaa 100644 (file)
@@ -19,24 +19,20 @@ package net.pterodactylus.sone.fcp;
 
 import static com.google.common.base.Optional.of;
 import static java.lang.System.currentTimeMillis;
-import static net.pterodactylus.sone.data.Mocks.mockCore;
-import static net.pterodactylus.sone.data.Mocks.mockDatabase;
-import static net.pterodactylus.sone.data.Mocks.mockLocalSone;
 import static net.pterodactylus.sone.database.PostBuilder.PostCreated;
+import static net.pterodactylus.sone.Verifiers.verifyAnswer;
 import static net.pterodactylus.sone.freenet.fcp.Command.AccessType.DIRECT;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.allOf;
 import static org.hamcrest.Matchers.greaterThanOrEqualTo;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.lessThanOrEqualTo;
-import static org.hamcrest.Matchers.notNullValue;
 import static org.hamcrest.Matchers.nullValue;
 import static org.mockito.Mockito.when;
 
-import net.pterodactylus.sone.core.Core;
+import net.pterodactylus.sone.data.Mocks;
 import net.pterodactylus.sone.data.Post;
 import net.pterodactylus.sone.data.Sone;
-import net.pterodactylus.sone.database.Database;
 import net.pterodactylus.sone.freenet.SimpleFieldSetBuilder;
 import net.pterodactylus.sone.freenet.fcp.Command.Response;
 import net.pterodactylus.sone.freenet.fcp.FcpException;
@@ -54,16 +50,15 @@ import org.junit.Test;
 public class CreatePostCommandTest {
 
        private final long now = currentTimeMillis();
-       private final Database database = mockDatabase();
-       private final Core core = mockCore(database);
-       private final CreatePostCommand createPostCommand = new CreatePostCommand(core);
+       private final Mocks mocks = new Mocks();
+       private final CreatePostCommand createPostCommand = new CreatePostCommand(mocks.core);
 
        @Test
        public void verifyThatCreatingAPostWorks() throws FcpException {
-               Sone sone = mockLocalSone(core, "Sone");
-               mockLocalSone(core, "OtherSone");
+               Sone sone = mocks.mockSone("Sone").local().create();
+               mocks.mockSone("OtherSone").local().create();
                CapturingPostCreated capturingPostCreated = new CapturingPostCreated();
-               when(core.postCreated()).thenReturn(Optional.<PostCreated>of(capturingPostCreated));
+               when(mocks.core.postCreated()).thenReturn(Optional.<PostCreated>of(capturingPostCreated));
 
                SimpleFieldSet createPostFieldSet = new SimpleFieldSetBuilder()
                                .put("Sone", "Sone")
@@ -71,9 +66,7 @@ public class CreatePostCommandTest {
                                .put("Recipient", "OtherSone")
                                .get();
                Response response = createPostCommand.execute(createPostFieldSet, null, DIRECT);
-               assertThat(response, notNullValue());
-               assertThat(capturingPostCreated.post, notNullValue());
-               assertThat(response.getReplyParameters().get("Message"), is("PostCreated"));
+               verifyAnswer(response, "PostCreated");
                assertThat(response.getReplyParameters().get("Post"), is(capturingPostCreated.post.getId()));
                assertThat(capturingPostCreated.post.getSone(), is(sone));
                assertThat(capturingPostCreated.post.getRecipientId(), is(of("OtherSone")));
@@ -83,18 +76,16 @@ public class CreatePostCommandTest {
 
        @Test
        public void verifyThatCreatingAPostWithoutRecipientWorks() throws FcpException {
-               Sone sone = mockLocalSone(core, "Sone");
+               Sone sone = mocks.mockSone("Sone").local().create();
                CapturingPostCreated capturingPostCreated = new CapturingPostCreated();
-               when(core.postCreated()).thenReturn(Optional.<PostCreated>of(capturingPostCreated));
+               when(mocks.core.postCreated()).thenReturn(Optional.<PostCreated>of(capturingPostCreated));
 
                SimpleFieldSet createPostFieldSet = new SimpleFieldSetBuilder()
                                .put("Sone", "Sone")
                                .put("Text", "Text of the post.")
                                .get();
                Response response = createPostCommand.execute(createPostFieldSet, null, DIRECT);
-               assertThat(response, notNullValue());
-               assertThat(capturingPostCreated.post, notNullValue());
-               assertThat(response.getReplyParameters().get("Message"), is("PostCreated"));
+               verifyAnswer(response, "PostCreated");
                assertThat(response.getReplyParameters().get("Post"), is(capturingPostCreated.post.getId()));
                assertThat(capturingPostCreated.post.getSone(), is(sone));
                assertThat(capturingPostCreated.post.getRecipientId(), is(Optional.<String>absent()));
@@ -104,9 +95,9 @@ public class CreatePostCommandTest {
 
        @Test
        public void verifyThatCreatingAPostDirectedToTheSendingSoneCausesAnError() throws FcpException {
-               mockLocalSone(core, "Sone");
+               mocks.mockSone("Sone").local().create();
                CapturingPostCreated capturingPostCreated = new CapturingPostCreated();
-               when(core.postCreated()).thenReturn(Optional.<PostCreated>of(capturingPostCreated));
+               when(mocks.core.postCreated()).thenReturn(Optional.<PostCreated>of(capturingPostCreated));
 
                SimpleFieldSet createPostFieldSet = new SimpleFieldSetBuilder()
                                .put("Sone", "Sone")
@@ -114,16 +105,15 @@ public class CreatePostCommandTest {
                                .put("Text", "Text of the post.")
                                .get();
                Response response = createPostCommand.execute(createPostFieldSet, null, DIRECT);
-               assertThat(response, notNullValue());
-               assertThat(response.getReplyParameters().get("Message"), is("Error"));
+               verifyAnswer(response, "Error");
                assertThat(capturingPostCreated.post, nullValue());
        }
 
        @Test(expected = FcpException.class)
        public void verifyThatCreatingAPostWithoutTextCausesAnError() throws FcpException {
-               mockLocalSone(core, "Sone");
+               mocks.mockSone("Sone").create();
                CapturingPostCreated capturingPostCreated = new CapturingPostCreated();
-               when(core.postCreated()).thenReturn(Optional.<PostCreated>of(capturingPostCreated));
+               when(mocks.core.postCreated()).thenReturn(Optional.<PostCreated>of(capturingPostCreated));
 
                SimpleFieldSet createPostFieldSet = new SimpleFieldSetBuilder()
                                .put("Sone", "Sone")
@@ -133,9 +123,9 @@ public class CreatePostCommandTest {
 
        @Test(expected = FcpException.class)
        public void verifyThatCreatingAPostWithoutSoneCausesAnError() throws FcpException {
-               mockLocalSone(core, "Sone");
+               mocks.mockSone("Sone").local().create();
                CapturingPostCreated capturingPostCreated = new CapturingPostCreated();
-               when(core.postCreated()).thenReturn(Optional.<PostCreated>of(capturingPostCreated));
+               when(mocks.core.postCreated()).thenReturn(Optional.<PostCreated>of(capturingPostCreated));
 
                SimpleFieldSet createPostFieldSet = new SimpleFieldSetBuilder()
                                .put("Text", "Text of the post.")