Repository: james-project
Updated Branches:
  refs/heads/master 2618edcd5 -> ce049056d


JAMES-2286 File should be tested against MailRepository contract


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

Branch: refs/heads/master
Commit: bd89ec2abb7f550bf5a3a1ed6ffdfaff6bf30a69
Parents: c72fdfc
Author: benwa <btell...@linagora.com>
Authored: Mon Jan 15 11:10:14 2018 +0700
Committer: Matthieu Baechler <matth...@apache.org>
Committed: Tue Jan 16 16:34:46 2018 +0100

----------------------------------------------------------------------
 server/data/data-file/pom.xml                   | 24 ++++++--
 .../mailrepository/FileMailRepositoryTest.java  | 60 +++++++++++++++-----
 2 files changed, 65 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/bd89ec2a/server/data/data-file/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-file/pom.xml b/server/data/data-file/pom.xml
index 264365a..999c8ef 100644
--- a/server/data/data-file/pom.xml
+++ b/server/data/data-file/pom.xml
@@ -80,6 +80,12 @@
             <artifactId>james-server-lifecycle-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>james-server-mailrepository-api</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
@@ -111,13 +117,23 @@
             <artifactId>javax.inject</artifactId>
         </dependency>
         <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
+            <groupId>org.assertj</groupId>
+            <artifactId>assertj-core</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.assertj</groupId>
-            <artifactId>assertj-core</artifactId>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-engine</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.junit.platform</groupId>
+            <artifactId>junit-platform-launcher</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.junit.vintage</groupId>
+            <artifactId>junit-vintage-engine</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/bd89ec2a/server/data/data-file/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java
----------------------------------------------------------------------
diff --git 
a/server/data/data-file/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java
 
b/server/data/data-file/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java
index 2c154bd..d9105d9 100644
--- 
a/server/data/data-file/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java
+++ 
b/server/data/data-file/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java
@@ -19,30 +19,60 @@
 
 package org.apache.james.mailrepository;
 
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.api.Assertions.assertAll;
+
 import org.apache.commons.configuration.DefaultConfigurationBuilder;
 import org.apache.james.filesystem.api.mock.MockFileSystem;
 import org.apache.james.mailrepository.api.MailRepository;
 import org.apache.james.mailrepository.file.FileMailRepository;
+import org.apache.mailet.Mail;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+
+public class FileMailRepositoryTest implements MailRepositoryContract {
 
-public class FileMailRepositoryTest extends AbstractMailRepositoryTest {
+    private FileMailRepository mailRepository;
+    private MockFileSystem filesystem;
+
+    @BeforeEach
+    void init() throws Exception {
+        filesystem = new MockFileSystem();
+        mailRepository = new FileMailRepository();
+        mailRepository.setFileSystem(filesystem);
+        DefaultConfigurationBuilder defaultConfiguration = new 
DefaultConfigurationBuilder();
+        defaultConfiguration.addProperty("[@destinationURL]", 
"file://target/var/mailRepository");
+        defaultConfiguration.addProperty("[@type]", "MAIL");
+        mailRepository.configure(defaultConfiguration);
+        mailRepository.init();
+    }
+
+    @AfterEach
+    void tearDown() {
+        filesystem.clear();
+    }
+
+    @Override
+    public MailRepository retrieveRepository() {
+        return mailRepository;
+    }
 
     /**
-     * @return
-     * @throws ServiceException
-     * @throws ConfigurationException
-     * @throws Exception
+     * FileMailRepository doesn't store PerRecipientSpecificHeaders
      */
     @Override
-    protected MailRepository getMailRepository() throws Exception {
-        MockFileSystem fs = new MockFileSystem();
-        FileMailRepository mr = new FileMailRepository();
-        mr.setFileSystem(fs);
-        DefaultConfigurationBuilder defaultConfiguration = new 
DefaultConfigurationBuilder();
-        defaultConfiguration.addProperty("[@destinationURL]", 
"file://target/var/mr");
-        defaultConfiguration.addProperty("[@type]", "MAIL");
-        mr.configure(defaultConfiguration);
-        mr.init();
-        return mr;
+    public void checkMailEquality(Mail actual, Mail expected) {
+        assertAll(
+            () -> 
assertThat(actual.getMessage().getContent()).isEqualTo(expected.getMessage().getContent()),
+            () -> 
assertThat(actual.getMessageSize()).isEqualTo(expected.getMessageSize()),
+            () -> assertThat(actual.getName()).isEqualTo(expected.getName()),
+            () -> assertThat(actual.getState()).isEqualTo(expected.getState()),
+            () -> 
assertThat(actual.getAttribute(TEST_ATTRIBUTE)).isEqualTo(expected.getAttribute(TEST_ATTRIBUTE)),
+            () -> 
assertThat(actual.getErrorMessage()).isEqualTo(expected.getErrorMessage()),
+            () -> 
assertThat(actual.getRemoteHost()).isEqualTo(expected.getRemoteHost()),
+            () -> 
assertThat(actual.getRemoteAddr()).isEqualTo(expected.getRemoteAddr()),
+            () -> 
assertThat(actual.getLastUpdated()).isEqualTo(expected.getLastUpdated())
+        );
     }
 
 }


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

Reply via email to