james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rouaz...@apache.org
Subject [07/17] james-project git commit: JAMES-2426 don't require a File but write Zip into a OutputStream instead
Date Wed, 27 Jun 2018 14:44:29 GMT
JAMES-2426 don't require a File but write Zip into a OutputStream instead


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

Branch: refs/heads/master
Commit: 48729c70ef8a4af19f85ee7f612ca4af6d3329ad
Parents: 73bf8a5
Author: Matthieu Baechler <matthieu@apache.org>
Authored: Mon Jun 18 15:11:36 2018 +0200
Committer: Raphael Ouazana <raphael.ouazana@linagora.com>
Committed: Wed Jun 27 16:36:12 2018 +0200

----------------------------------------------------------------------
 .../apache/james/mailbox/backup/ZipperTest.java | 51 ++++++++------------
 1 file changed, 19 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/48729c70/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 a2d9e6f..aa465d3 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
@@ -28,42 +28,38 @@ import static org.apache.james.mailbox.backup.MailboxMessageFixture.SIZE_1;
 import static org.apache.james.mailbox.backup.ZipAssert.EntryChecks.hasName;
 import static org.apache.james.mailbox.backup.ZipAssert.assertThatZip;
 
-import java.io.File;
-import java.io.FileOutputStream;
+import java.io.ByteArrayOutputStream;
 import java.util.stream.Stream;
 
 import org.apache.commons.compress.archivers.zip.ZipFile;
-import org.apache.james.junit.TemporaryFolderExtension;
-import org.apache.james.junit.TemporaryFolderExtension.TemporaryFolder;
+import org.apache.commons.compress.utils.SeekableInMemoryByteChannel;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
 
-@ExtendWith(TemporaryFolderExtension.class)
-public class ZipperTest {
+class ZipperTest {
+
     private Zipper testee;
-    private File destination;
+    private ByteArrayOutputStream output;
 
     @BeforeEach
-    void beforeEach(TemporaryFolder temporaryFolder) throws Exception {
+    void beforeEach() {
         testee = new Zipper();
-        destination = File.createTempFile("backup-test", ".zip", temporaryFolder.getTempDir());
+        output = new ByteArrayOutputStream();
     }
 
     @Test
     void archiveShouldWriteEmptyValidArchiveWhenNoMessage() throws Exception {
-        testee.archive(Stream.of(), new FileOutputStream(destination));
-
-        try (ZipFile zipFile = new ZipFile(destination)) {
+        testee.archive(Stream.of(), output);
+        try (ZipFile zipFile = new ZipFile(toSeekableByteChannel(output))) {
             assertThatZip(zipFile).hasNoEntry();
         }
     }
 
     @Test
     void archiveShouldWriteOneMessageWhenOne() throws Exception {
-        testee.archive(Stream.of(MESSAGE_1), new FileOutputStream(destination));
+        testee.archive(Stream.of(MESSAGE_1), output);
 
-        try (ZipFile zipFile = new ZipFile(destination)) {
+        try (ZipFile zipFile = new ZipFile(toSeekableByteChannel(output))) {
             assertThatZip(zipFile)
                 .containsOnlyEntriesMatching(
                     hasName(MESSAGE_ID_1.serialize())
@@ -73,9 +69,9 @@ public class ZipperTest {
 
     @Test
     void archiveShouldWriteTwoMessagesWhenTwo() throws Exception {
-        testee.archive(Stream.of(MESSAGE_1, MESSAGE_2), new FileOutputStream(destination));
+        testee.archive(Stream.of(MESSAGE_1, MESSAGE_2), output);
 
-        try (ZipFile zipFile = new ZipFile(destination)) {
+        try (ZipFile zipFile = new ZipFile(toSeekableByteChannel(output))) {
             assertThatZip(zipFile)
                 .containsOnlyEntriesMatching(
                     hasName(MESSAGE_ID_1.serialize())
@@ -86,27 +82,18 @@ public class ZipperTest {
     }
 
     @Test
-    void archiveShouldOverwriteContent() throws Exception {
-        testee.archive(Stream.of(MESSAGE_1), new FileOutputStream(destination));
-        testee.archive(Stream.of(MESSAGE_2), new FileOutputStream(destination));
-
-        try (ZipFile zipFile = new ZipFile(destination)) {
-            assertThatZip(zipFile)
-                .containsOnlyEntriesMatching(
-                    hasName(MESSAGE_ID_2.serialize())
-                        .hasStringContent(MESSAGE_CONTENT_2));
-        }
-    }
-
-    @Test
     void archiveShouldWriteSizeMetadata() throws Exception {
-        testee.archive(Stream.of(MESSAGE_1), new FileOutputStream(destination));
+        testee.archive(Stream.of(MESSAGE_1), output);
 
-        try (ZipFile zipFile = new ZipFile(destination)) {
+        try (ZipFile zipFile = new ZipFile(toSeekableByteChannel(output))) {
             assertThatZip(zipFile)
                 .containsOnlyEntriesMatching(
                     hasName(MESSAGE_ID_1.serialize())
                         .containsExtraFields(new SizeExtraField(SIZE_1)));
         }
     }
+
+    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


Mime
View raw message