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/06/27 14:44:31 UTC
[09/17] james-project git commit: JAMES-2436 Simply handle folder
hierarchy
JAMES-2436 Simply handle folder hierarchy
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/7f945d34
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/7f945d34
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/7f945d34
Branch: refs/heads/master
Commit: 7f945d34fb0f48bb40eea9edef843eeb51dfdd35
Parents: 9e0202a
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Wed Jun 20 15:31:59 2018 +0200
Committer: Raphael Ouazana <ra...@linagora.com>
Committed: Wed Jun 27 16:36:12 2018 +0200
----------------------------------------------------------------------
.../mailbox/backup/MailboxMessageFixture.java | 5 ++++
.../apache/james/mailbox/backup/ZipperTest.java | 31 ++++++++++++++++++++
2 files changed, 36 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/7f945d34/mailbox/backup/src/test/java/org/apache/james/mailbox/backup/MailboxMessageFixture.java
----------------------------------------------------------------------
diff --git a/mailbox/backup/src/test/java/org/apache/james/mailbox/backup/MailboxMessageFixture.java b/mailbox/backup/src/test/java/org/apache/james/mailbox/backup/MailboxMessageFixture.java
index e313de5..ea4b027 100644
--- a/mailbox/backup/src/test/java/org/apache/james/mailbox/backup/MailboxMessageFixture.java
+++ b/mailbox/backup/src/test/java/org/apache/james/mailbox/backup/MailboxMessageFixture.java
@@ -27,6 +27,8 @@ import java.util.Date;
import javax.mail.Flags;
import javax.mail.util.SharedByteArrayInputStream;
+import org.apache.james.mailbox.MailboxSession;
+import org.apache.james.mailbox.mock.MockMailboxSession;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MessageId;
import org.apache.james.mailbox.model.TestId;
@@ -52,7 +54,10 @@ public interface MailboxMessageFixture {
long SIZE_1 = 1000;
long SIZE_2 = 2000;
+ MailboxSession MAILBOX_SESSION = new MockMailboxSession("user");
+
Mailbox MAILBOX_1 = new SimpleMailbox(MailboxPath.forUser("user", "mailbox1"), 42, TestId.of(1L));
+ Mailbox MAILBOX_1_SUB_1 = new SimpleMailbox(MailboxPath.forUser("user", "mailbox1" + MAILBOX_SESSION.getPathDelimiter() + "sub1"), 420, TestId.of(11L));
Mailbox MAILBOX_2 = new SimpleMailbox(MailboxPath.forUser("user", "mailbox2"), 43, TestId.of(2L));
SimpleMailboxMessage MESSAGE_1 = SimpleMailboxMessage.builder()
http://git-wip-us.apache.org/repos/asf/james-project/blob/7f945d34/mailbox/backup/src/test/java/org/apache/james/mailbox/backup/ZipperTest.java
----------------------------------------------------------------------
diff --git a/mailbox/backup/src/test/java/org/apache/james/mailbox/backup/ZipperTest.java b/mailbox/backup/src/test/java/org/apache/james/mailbox/backup/ZipperTest.java
index accd629..d11c8c5 100644
--- a/mailbox/backup/src/test/java/org/apache/james/mailbox/backup/ZipperTest.java
+++ b/mailbox/backup/src/test/java/org/apache/james/mailbox/backup/ZipperTest.java
@@ -19,6 +19,7 @@
package org.apache.james.mailbox.backup;
import static org.apache.james.mailbox.backup.MailboxMessageFixture.MAILBOX_1;
+import static org.apache.james.mailbox.backup.MailboxMessageFixture.MAILBOX_1_SUB_1;
import static org.apache.james.mailbox.backup.MailboxMessageFixture.MAILBOX_2;
import static org.apache.james.mailbox.backup.MailboxMessageFixture.MESSAGE_1;
import static org.apache.james.mailbox.backup.MailboxMessageFixture.MESSAGE_2;
@@ -125,6 +126,36 @@ class ZipperTest {
}
}
+ @Test
+ void archiveShouldWriteMailboxHierarchyWhenPresent() throws Exception {
+ testee.archive(ImmutableList.of(MAILBOX_1, MAILBOX_1_SUB_1, MAILBOX_2), Stream.of(), output);
+
+ try (ZipFile zipFile = new ZipFile(toSeekableByteChannel(output))) {
+ assertThatZip(zipFile)
+ .containsOnlyEntriesMatching(
+ hasName(MAILBOX_1.getName() + "/")
+ .isDirectory(),
+ hasName(MAILBOX_1_SUB_1.getName() + "/")
+ .isDirectory(),
+ hasName(MAILBOX_2.getName() + "/")
+ .isDirectory());
+ }
+ }
+
+ @Test
+ void archiveShouldWriteMailboxHierarchyWhenMissingParent() throws Exception {
+ testee.archive(ImmutableList.of(MAILBOX_1_SUB_1, MAILBOX_2), Stream.of(), output);
+
+ try (ZipFile zipFile = new ZipFile(toSeekableByteChannel(output))) {
+ assertThatZip(zipFile)
+ .containsOnlyEntriesMatching(
+ hasName(MAILBOX_1_SUB_1.getName() + "/")
+ .isDirectory(),
+ hasName(MAILBOX_2.getName() + "/")
+ .isDirectory());
+ }
+ }
+
private SeekableInMemoryByteChannel toSeekableByteChannel(ByteArrayOutputStream output) {
return new SeekableInMemoryByteChannel(output.toByteArray());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org