From 08c7fcbceff4a31e260fef030325163a80c2f925 Mon Sep 17 00:00:00 2001 From: Plamen Totev Date: Sat, 27 May 2017 22:52:20 +0300 Subject: [PATCH] Test that `EmptyArchiveException` is thrown when creating archives with no files --- .../plexus/archiver/tar/TarArchiverTest.java | 17 +++++++++++++++++ .../plexus/archiver/zip/ZipArchiverTest.java | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/src/test/java/org/codehaus/plexus/archiver/tar/TarArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/tar/TarArchiverTest.java index 060b62a86..84bb1fa9c 100644 --- a/src/test/java/org/codehaus/plexus/archiver/tar/TarArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/tar/TarArchiverTest.java @@ -38,6 +38,7 @@ import org.codehaus.plexus.archiver.ArchiverException; import org.codehaus.plexus.archiver.UnixStat; import org.codehaus.plexus.archiver.bzip2.BZip2Compressor; +import org.codehaus.plexus.archiver.exceptions.EmptyArchiveException; import org.codehaus.plexus.archiver.gzip.GZipCompressor; import org.codehaus.plexus.archiver.util.ArchiveEntryUtils; import org.codehaus.plexus.archiver.util.Compressor; @@ -227,6 +228,22 @@ public void testCreateArchiveWithDetectedModes() } } + public void testCreateEmptyArchive() + throws Exception + { + TarArchiver archiver = getPosixTarArchiver(); + archiver.setDestFile( getTestFile( "target/output/empty.tar" ) ); + try + { + archiver.createArchive(); + + fail( "Creating empty archive should throw EmptyArchiveException" ); + } + catch ( EmptyArchiveException ignore ) + { + } + } + public void testUnicode() throws Exception { File tmpDir = getTestFile( "src/test/resources/utf8" ); diff --git a/src/test/java/org/codehaus/plexus/archiver/zip/ZipArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/zip/ZipArchiverTest.java index c1fd934ff..03cd44026 100644 --- a/src/test/java/org/codehaus/plexus/archiver/zip/ZipArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/zip/ZipArchiverTest.java @@ -48,6 +48,7 @@ import org.codehaus.plexus.archiver.BasePlexusArchiverTest; import org.codehaus.plexus.archiver.UnArchiver; import org.codehaus.plexus.archiver.UnixStat; +import org.codehaus.plexus.archiver.exceptions.EmptyArchiveException; import org.codehaus.plexus.archiver.tar.TarArchiver; import org.codehaus.plexus.archiver.tar.TarFile; import org.codehaus.plexus.archiver.util.ArchiveEntryUtils; @@ -284,6 +285,22 @@ public void testCreateArchiveWithDetectedModes() } } + public void testCreateEmptyArchive() + throws Exception + { + ZipArchiver archiver = getZipArchiver(); + archiver.setDestFile( getTestFile( "target/output/empty.zip" ) ); + try + { + archiver.createArchive(); + + fail( "Creating empty archive should throw EmptyArchiveException" ); + } + catch ( EmptyArchiveException ignore ) + { + } + } + private ZipArchiver getZipArchiver() { try