You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ro...@apache.org on 2018/01/17 13:28:09 UTC

[3/9] james-project git commit: JAMES-2286 more tests for remove

JAMES-2286 more tests for remove


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/04c301f4
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/04c301f4
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/04c301f4

Branch: refs/heads/master
Commit: 04c301f4066f12e47ce24f95ecbd76c8056e4d26
Parents: 409dd0d
Author: benwa <bt...@linagora.com>
Authored: Mon Jan 15 10:08:31 2018 +0700
Committer: Matthieu Baechler <ma...@apache.org>
Committed: Tue Jan 16 16:34:46 2018 +0100

----------------------------------------------------------------------
 .../mailrepository/MailRepositoryContract.java  | 85 ++++++++++++++++++++
 1 file changed, 85 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/04c301f4/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java
----------------------------------------------------------------------
diff --git a/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java b/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java
index 92cd111..1a82191 100644
--- a/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java
+++ b/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java
@@ -116,6 +116,91 @@ public interface MailRepositoryContract {
     }
 
     @Test
+    default void retrieveShouldReturnNullWhenKeyWasRemoved() throws Exception {
+        MailRepository testee = retrieveRepository();
+        String key = "mail1";
+        testee.store(createMail(key));
+
+        testee.remove(key);
+
+        assertThat(retrieveRepository().list()).doesNotContain(key);
+        assertThat(retrieveRepository().retrieve(key)).isNull();
+    }
+
+    @Test
+    default void removeShouldnotAffectUnrelatedMails() throws Exception {
+        MailRepository testee = retrieveRepository();
+        String key1 = "mail1";
+        testee.store(createMail(key1));
+        String key2 = "mail2";
+        testee.store(createMail(key2));
+
+        testee.remove(key1);
+
+        assertThat(retrieveRepository().list()).contains(key2);
+    }
+
+    @Test
+    default void removedMailsShouldNotBeListed() throws Exception {
+        MailRepository testee = retrieveRepository();
+
+        String key1 = "mail1";
+        String key2 = "mail2";
+        String key3 = "mail3";
+        Mail mail1 = createMail(key1);
+        Mail mail2 = createMail(key2);
+        Mail mail3 = createMail(key3);
+        retrieveRepository().store(mail1);
+        retrieveRepository().store(mail2);
+        retrieveRepository().store(mail3);
+
+        testee.remove(ImmutableList.of(mail1, mail3));
+
+        assertThat(retrieveRepository().list())
+            .contains(key2)
+            .doesNotContain(key1, key3);
+    }
+
+    @Test
+    default void removedMailShouldNotBeListed() throws Exception {
+        MailRepository testee = retrieveRepository();
+
+        String key1 = "mail1";
+        String key2 = "mail2";
+        String key3 = "mail3";
+        Mail mail1 = createMail(key1);
+        Mail mail2 = createMail(key2);
+        Mail mail3 = createMail(key3);
+        retrieveRepository().store(mail1);
+        retrieveRepository().store(mail2);
+        retrieveRepository().store(mail3);
+
+        testee.remove(mail2);
+
+        assertThat(retrieveRepository().list())
+            .contains(key1, key3)
+            .doesNotContain(key2);
+    }
+
+    @Test
+    default void removeShouldHaveNoEffectForUnknownMails() throws Exception {
+        MailRepository testee = retrieveRepository();
+
+        testee.remove(ImmutableList.of(createMail("unknown")));
+
+        assertThat(retrieveRepository().list()).isEmpty();
+    }
+
+    @Test
+    default void removeShouldHaveNoEffectForUnknownMail() throws Exception {
+        MailRepository testee = retrieveRepository();
+
+        testee.remove(createMail("unknown"));
+
+        assertThat(retrieveRepository().list()).isEmpty();
+    }
+
+    @Test
     default void listShouldReturnStoredMailsKeys() throws Exception {
         MailRepository testee = retrieveRepository();
         String key1 = "mail1";


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org