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