You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2020/04/19 12:09:36 UTC
[maven-assembly-plugin] 01/01: Replace TestFileManager with
TemporaryFolder
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch temporaryFolder
in repository https://gitbox.apache.org/repos/asf/maven-assembly-plugin.git
commit 9684b2f5a26c8cda997da533637ea0ca4b2a92e4
Author: rfscholte <rf...@apache.org>
AuthorDate: Sun Apr 19 14:09:25 2020 +0200
Replace TestFileManager with TemporaryFolder
---
.../archive/DefaultAssemblyArchiverTest.java | 21 +-
.../archive/ManifestCreationFinalizerTest.java | 63 +++---
.../archiver/AssemblyProxyArchiverTest.java | 39 ++--
.../archive/phase/FileSetAssemblyPhaseTest.java | 25 +--
.../archive/phase/ModuleSetAssemblyPhaseTest.java | 89 +++++----
.../archive/phase/RepositoryAssemblyPhaseTest.java | 49 ++---
.../archive/task/AddDirectoryTaskTest.java | 45 ++---
.../assembly/archive/task/AddFileSetsTaskTest.java | 73 ++++---
.../MockAndControlForAddFileSetsTask.java | 5 +-
.../ComponentsXmlArchiverFileFilterTest.java | 88 ++++-----
.../assembly/io/DefaultAssemblyReaderTest.java | 217 +++++++++------------
.../assembly/testutils/TestFileManager.java | 209 --------------------
12 files changed, 324 insertions(+), 599 deletions(-)
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java
index 12e6757..4294b66 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java
@@ -29,7 +29,6 @@ import org.apache.maven.plugins.assembly.artifact.DependencyResolver;
import org.apache.maven.plugins.assembly.format.AssemblyFormattingException;
import org.apache.maven.plugins.assembly.model.Assembly;
import org.apache.maven.plugins.assembly.mojos.AbstractAssemblyMojo;
-import org.apache.maven.plugins.assembly.testutils.TestFileManager;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.DefaultPlexusContainer;
import org.codehaus.plexus.PlexusContainer;
@@ -46,13 +45,13 @@ import org.codehaus.plexus.archiver.zip.ZipArchiver;
import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.logging.console.ConsoleLogger;
-import org.codehaus.plexus.util.FileUtils;
import org.easymock.EasyMock;
import org.easymock.classextension.EasyMockSupport;
-import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import java.io.File;
import java.io.IOException;
@@ -72,18 +71,11 @@ import static org.junit.Assert.fail;
public class DefaultAssemblyArchiverTest
{
-
- private static final TestFileManager fileManager = new TestFileManager( "def-assy-archiver.test.", "" );
+ @Rule
+ public TemporaryFolder temporaryFolder = new TemporaryFolder();
private PlexusContainer container;
- @AfterClass
- public static void tearDown()
- throws Exception
- {
- fileManager.cleanUp();
- }
-
public static void setupInterpolators( AssemblerConfigurationSource configSource )
{
expect( configSource.getRepositoryInterpolator() ).andReturn(
@@ -153,14 +145,13 @@ public class DefaultAssemblyArchiverTest
final AssemblerConfigurationSource configSource =
mm.createControl().createMock( AssemblerConfigurationSource.class );
- final File tempDir = fileManager.createTempDir();
- FileUtils.deleteDirectory( tempDir );
+ final File tempDir = new File ( temporaryFolder.getRoot(), "temp" );
expect( configSource.getTemporaryRootDirectory() ).andReturn( tempDir ).anyTimes();
expect( configSource.isDryRun() ).andReturn( false ).anyTimes();
expect( configSource.isIgnoreDirFormatExtensions() ).andReturn( false ).anyTimes();
- final File outDir = fileManager.createTempDir();
+ final File outDir = temporaryFolder.newFolder( "out" );
macMgr.archiver.setDestFile( new File( outDir, "full-name.zip" ) );
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizerTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizerTest.java
index 43650e1..6e7e9e3 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizerTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizerTest.java
@@ -19,47 +19,48 @@ package org.apache.maven.plugins.assembly.archive;
* under the License.
*/
-import junit.framework.TestCase;
-import org.apache.maven.archiver.MavenArchiveConfiguration;
-import org.apache.maven.model.Model;
-import org.apache.maven.plugins.assembly.testutils.TestFileManager;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.archiver.ArchiveFinalizer;
-import org.codehaus.plexus.archiver.Archiver;
-import org.codehaus.plexus.archiver.ArchiverException;
-import org.codehaus.plexus.archiver.jar.JarArchiver;
-import org.codehaus.plexus.util.IOUtil;
-import org.easymock.classextension.EasyMockSupport;
+import static org.junit.Assert.assertTrue;
import java.io.BufferedReader;
import java.io.File;
-import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringWriter;
import java.net.JarURLConnection;
import java.net.URL;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Arrays;
import java.util.Collections;
+import org.apache.maven.archiver.MavenArchiveConfiguration;
+import org.apache.maven.model.Model;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.archiver.ArchiveFinalizer;
+import org.codehaus.plexus.archiver.Archiver;
+import org.codehaus.plexus.archiver.jar.JarArchiver;
+import org.codehaus.plexus.util.IOUtil;
+import org.easymock.classextension.EasyMockSupport;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+
public class ManifestCreationFinalizerTest
- extends TestCase
{
- private final TestFileManager fileManager = new TestFileManager( "manifest-finalizer.test.", ".jar" );
-
- public void tearDown()
- throws IOException
- {
- fileManager.cleanUp();
- }
+ @Rule
+ public TemporaryFolder temporaryFolder = new TemporaryFolder();
+ @Test
public void testShouldDoNothingWhenArchiveConfigIsNull()
- throws ArchiverException
+ throws Exception
{
new ManifestCreationFinalizer( null, null, null ).finalizeArchiveCreation( null );
}
+ @Test
public void testShouldDoNothingWhenArchiverIsNotJarArchiver()
- throws ArchiverException
+ throws Exception
{
EasyMockSupport mm = new EasyMockSupport();
@@ -75,24 +76,27 @@ public class ManifestCreationFinalizerTest
mm.verifyAll();
}
+ @Test
public void testShouldAddManifestWhenArchiverIsJarArchiver()
- throws ArchiverException, IOException
+ throws Exception
{
MavenProject project = new MavenProject( new Model() );
MavenArchiveConfiguration config = new MavenArchiveConfiguration();
- File tempDir = fileManager.createTempDir();
+ File tempDir = temporaryFolder.getRoot();
- File manifestFile = fileManager.createFile( tempDir, "MANIFEST.MF", "Main-Class: Stuff\n" );
+ Path manifestFile = tempDir.toPath().resolve("MANIFEST.MF");
+
+ Files.write( manifestFile, Arrays.asList( "Main-Class: Stuff\n" ), StandardCharsets.UTF_8 );
- config.setManifestFile( manifestFile );
+ config.setManifestFile( manifestFile.toFile() );
JarArchiver archiver = new JarArchiver();
archiver.setArchiveFinalizers(
Collections.<ArchiveFinalizer>singletonList( new ManifestCreationFinalizer( null, project, config ) ) );
- File file = fileManager.createTempFile();
+ File file = temporaryFolder.newFile();
archiver.setDestFile( file );
@@ -112,8 +116,9 @@ public class ManifestCreationFinalizerTest
( (JarURLConnection) resource.openConnection() ).getJarFile().close();
}
+ @Test
public void testShouldAddManifestEntriesWhenArchiverIsJarArchiver()
- throws ArchiverException, IOException
+ throws Exception
{
MavenProject project = new MavenProject( new Model() );
MavenArchiveConfiguration config = new MavenArchiveConfiguration();
@@ -128,7 +133,7 @@ public class ManifestCreationFinalizerTest
archiver.setArchiveFinalizers(
Collections.<ArchiveFinalizer>singletonList( new ManifestCreationFinalizer( null, project, config ) ) );
- File file = fileManager.createTempFile();
+ File file = temporaryFolder.newFile();
archiver.setDestFile( file );
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/archiver/AssemblyProxyArchiverTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/archiver/AssemblyProxyArchiverTest.java
index b864997..ed7815f 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/archiver/AssemblyProxyArchiverTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/archive/archiver/AssemblyProxyArchiverTest.java
@@ -19,7 +19,6 @@ package org.apache.maven.plugins.assembly.archive.archiver;
* under the License.
*/
-import org.apache.maven.plugins.assembly.testutils.TestFileManager;
import org.codehaus.plexus.archiver.Archiver;
import org.codehaus.plexus.archiver.ArchiverException;
import org.codehaus.plexus.archiver.diags.TrackingArchiver;
@@ -29,16 +28,19 @@ import org.codehaus.plexus.components.io.fileselectors.FileInfo;
import org.codehaus.plexus.components.io.fileselectors.FileSelector;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.logging.console.ConsoleLogger;
-import org.codehaus.plexus.util.FileUtils;
import org.easymock.EasyMock;
import org.easymock.classextension.EasyMockSupport;
-import org.junit.AfterClass;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import javax.annotation.Nonnull;
import java.io.File;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import static org.easymock.EasyMock.anyObject;
@@ -48,22 +50,16 @@ import static org.junit.Assert.assertTrue;
public class AssemblyProxyArchiverTest
{
-
- private static final TestFileManager fileManager = new TestFileManager( "massembly-proxyArchiver", "" );
-
+ @Rule
+ public TemporaryFolder temporaryFolder = new TemporaryFolder();
+
private static final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
- @AfterClass
- public static void cleanupFiles()
- {
- fileManager.cleanUp();
- }
-
@Test( timeout = 5000 )
public void addFileSet_SkipWhenSourceIsAssemblyWorkDir()
throws IOException, ArchiverException
{
- final File sources = fileManager.createTempDir();
+ final File sources = temporaryFolder.getRoot();
final File workdir = new File( sources, "workdir" );
@@ -85,13 +81,15 @@ public class AssemblyProxyArchiverTest
public void addFileSet_addExcludeWhenSourceContainsAssemblyWorkDir()
throws IOException, ArchiverException
{
- final File sources = fileManager.createTempDir();
+ final File sources = temporaryFolder.getRoot();
final File workdir = new File( sources, "workdir" );
workdir.mkdir();
- fileManager.createFile( sources, "test-included.txt", "This is included" );
- fileManager.createFile( workdir, "test-excluded.txt", "This is excluded" );
+ Files.write( sources.toPath().resolve( "test-included.txt" ), Arrays.asList( "This is included" ),
+ StandardCharsets.UTF_8 );
+ Files.write( workdir.toPath().resolve( "test-excluded.txt" ), Arrays.asList( "This is excluded" ),
+ StandardCharsets.UTF_8 );
final TrackingArchiver tracker = new TrackingArchiver();
final AssemblyProxyArchiver archiver =
@@ -137,7 +135,7 @@ public class AssemblyProxyArchiverTest
archiver.setForced( true );
- final File inputFile = fileManager.createTempFile();
+ final File inputFile = temporaryFolder.newFile();
archiver.addFile( inputFile, "file.txt" );
@@ -152,7 +150,7 @@ public class AssemblyProxyArchiverTest
{
final Archiver delegate = new JarArchiver();
- final File output = fileManager.createTempFile();
+ final File output = temporaryFolder.newFile();
delegate.setDestFile( output );
@@ -166,9 +164,8 @@ public class AssemblyProxyArchiverTest
archiver.setForced( true );
- final File dir = fileManager.createTempDir();
- FileUtils.cleanDirectory( dir );
- fileManager.createFile( dir, "file.txt", "This is a test." );
+ final File dir = temporaryFolder.newFolder();
+ Files.write( dir.toPath().resolve( "file.txt" ), Arrays.asList( "This is a test." ), StandardCharsets.UTF_8 );
archiver.addDirectory( dir );
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileSetAssemblyPhaseTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileSetAssemblyPhaseTest.java
index 0c6551d..eb43fb5 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileSetAssemblyPhaseTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileSetAssemblyPhaseTest.java
@@ -19,7 +19,6 @@ package org.apache.maven.plugins.assembly.archive.phase;
* under the License.
*/
-import junit.framework.TestCase;
import org.apache.maven.model.Model;
import org.apache.maven.plugins.assembly.archive.ArchiveCreationException;
import org.apache.maven.plugins.assembly.archive.DefaultAssemblyArchiverTest;
@@ -27,41 +26,29 @@ import org.apache.maven.plugins.assembly.archive.task.testutils.MockAndControlFo
import org.apache.maven.plugins.assembly.format.AssemblyFormattingException;
import org.apache.maven.plugins.assembly.model.Assembly;
import org.apache.maven.plugins.assembly.model.FileSet;
-import org.apache.maven.plugins.assembly.testutils.TestFileManager;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.logging.Logger;
import org.easymock.EasyMock;
import org.easymock.classextension.EasyMockSupport;
-
-import java.io.IOException;
+import org.junit.Test;
import static org.easymock.EasyMock.anyObject;
import static org.easymock.EasyMock.expect;
public class FileSetAssemblyPhaseTest
- extends TestCase
{
-
final EasyMockSupport mm = new EasyMockSupport();
- private final TestFileManager fileManager = new TestFileManager( "file-set-assembly.test.", "" );
-
- @Override
- public void tearDown()
- throws IOException
- {
- fileManager.cleanUp();
- }
-
+ @Test
public void testShouldNotFailWhenNoFileSetsSpecified()
- throws ArchiveCreationException, AssemblyFormattingException
+ throws Exception
{
final Assembly assembly = new Assembly();
assembly.setId( "test" );
final MockAndControlForLogger macLogger = new MockAndControlForLogger();
- final MockAndControlForAddFileSetsTask macTask = new MockAndControlForAddFileSetsTask( mm, fileManager );
+ final MockAndControlForAddFileSetsTask macTask = new MockAndControlForAddFileSetsTask( mm );
mm.replayAll();
@@ -70,7 +57,7 @@ public class FileSetAssemblyPhaseTest
mm.verifyAll();
}
- public void testShouldAddOneFileSet()
+ @Test public void testShouldAddOneFileSet()
throws ArchiveCreationException, AssemblyFormattingException
{
final Assembly assembly = new Assembly();
@@ -87,7 +74,7 @@ public class FileSetAssemblyPhaseTest
assembly.addFileSet( fs );
final MockAndControlForLogger macLogger = new MockAndControlForLogger();
- final MockAndControlForAddFileSetsTask macTask = new MockAndControlForAddFileSetsTask( mm, fileManager );
+ final MockAndControlForAddFileSetsTask macTask = new MockAndControlForAddFileSetsTask( mm );
macTask.expectGetArchiveBaseDirectory();
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java
index 20decc1..8e4b90d 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java
@@ -19,8 +19,6 @@ package org.apache.maven.plugins.assembly.archive.phase;
* under the License.
*/
-import junit.framework.Assert;
-import junit.framework.TestCase;
import org.apache.maven.model.Model;
import org.apache.maven.plugins.assembly.InvalidAssemblerConfigurationException;
import org.apache.maven.plugins.assembly.archive.ArchiveCreationException;
@@ -37,7 +35,6 @@ import org.apache.maven.plugins.assembly.model.FileSet;
import org.apache.maven.plugins.assembly.model.ModuleBinaries;
import org.apache.maven.plugins.assembly.model.ModuleSet;
import org.apache.maven.plugins.assembly.model.ModuleSources;
-import org.apache.maven.plugins.assembly.testutils.TestFileManager;
import org.apache.maven.plugins.assembly.utils.TypeConversionUtils;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.ProjectBuilder;
@@ -45,6 +42,9 @@ import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.logging.console.ConsoleLogger;
import org.easymock.classextension.EasyMock;
import org.easymock.classextension.EasyMockSupport;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import java.io.File;
import java.io.IOException;
@@ -56,23 +56,19 @@ import java.util.List;
import java.util.Set;
import static java.util.Collections.singleton;
-
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
public class ModuleSetAssemblyPhaseTest
- extends TestCase
{
-
- private final TestFileManager fileManager = new TestFileManager( "module-set-phase.test.", "" );
+ @Rule
+ public TemporaryFolder temporaryFolder = new TemporaryFolder();
private final Logger logger = new ConsoleLogger( Logger.LEVEL_INFO, "test" );
- @Override
- public void tearDown()
- throws IOException
- {
- fileManager.cleanUp();
- }
-
+ @Test
public void testIsDeprecatedModuleSourcesConfigPresent_ShouldCatchOutputDir()
{
final ModuleSources sources = new ModuleSources();
@@ -83,6 +79,7 @@ public class ModuleSetAssemblyPhaseTest
assertTrue( phase.isDeprecatedModuleSourcesConfigPresent( sources ) );
}
+ @Test
public void testIsDeprecatedModuleSourcesConfigPresent_ShouldCatchInclude()
{
final ModuleSources sources = new ModuleSources();
@@ -93,6 +90,7 @@ public class ModuleSetAssemblyPhaseTest
assertTrue( phase.isDeprecatedModuleSourcesConfigPresent( sources ) );
}
+ @Test
public void testIsDeprecatedModuleSourcesConfigPresent_ShouldCatchExclude()
{
final ModuleSources sources = new ModuleSources();
@@ -103,6 +101,7 @@ public class ModuleSetAssemblyPhaseTest
assertTrue( phase.isDeprecatedModuleSourcesConfigPresent( sources ) );
}
+ @Test
public void testIsDeprecatedModuleSourcesConfigPresent_ShouldNotCatchFileMode()
{
final ModuleSources sources = new ModuleSources();
@@ -113,6 +112,7 @@ public class ModuleSetAssemblyPhaseTest
assertFalse( phase.isDeprecatedModuleSourcesConfigPresent( sources ) );
}
+ @Test
public void testIsDeprecatedModuleSourcesConfigPresent_ShouldNotCatchDirMode()
{
final ModuleSources sources = new ModuleSources();
@@ -123,6 +123,7 @@ public class ModuleSetAssemblyPhaseTest
assertFalse( phase.isDeprecatedModuleSourcesConfigPresent( sources ) );
}
+ @Test
public void testCreateFileSet_ShouldUseModuleDirOnlyWhenOutDirIsNull()
throws AssemblyFormattingException
{
@@ -142,7 +143,7 @@ public class ModuleSetAssemblyPhaseTest
final ModuleSources sources = new ModuleSources();
sources.setIncludeModuleDirectory( true );
- final File basedir = fileManager.createTempDir();
+ final File basedir = temporaryFolder.getRoot();
final MavenProject artifactProject = new MavenProject( new Model() );
@@ -166,6 +167,7 @@ public class ModuleSetAssemblyPhaseTest
mm.verifyAll();
}
+ @Test
public void testCreateFileSet_ShouldPrependModuleDirWhenOutDirIsProvided()
throws AssemblyFormattingException
{
@@ -188,7 +190,7 @@ public class ModuleSetAssemblyPhaseTest
final MavenProject artifactProject = new MavenProject( new Model() );
- final File basedir = fileManager.createTempDir();
+ final File basedir = temporaryFolder.getRoot();
artifactProject.setFile( new File( basedir, "pom.xml" ) );
@@ -209,6 +211,7 @@ public class ModuleSetAssemblyPhaseTest
mm.verifyAll();
}
+ @Test
public void testCreateFileSet_ShouldAddExcludesForSubModulesWhenExcludeSubModDirsIsTrue()
throws AssemblyFormattingException
{
@@ -230,7 +233,7 @@ public class ModuleSetAssemblyPhaseTest
final MavenProject project = new MavenProject( model );
- final File basedir = fileManager.createTempDir();
+ final File basedir = temporaryFolder.getRoot();
project.setFile( new File( basedir, "pom.xml" ) );
@@ -251,6 +254,7 @@ public class ModuleSetAssemblyPhaseTest
mm.verifyAll();
}
+ @Test
public void testExecute_ShouldSkipIfNoModuleSetsFound()
throws ArchiveCreationException, AssemblyFormattingException, InvalidAssemblerConfigurationException,
DependencyResolutionException
@@ -261,6 +265,7 @@ public class ModuleSetAssemblyPhaseTest
createPhase( null, null ).execute( assembly, null, null );
}
+ @Test
public void testExecute_ShouldAddOneModuleSetWithOneModuleInIt()
throws ArchiveCreationException, AssemblyFormattingException, IOException,
InvalidAssemblerConfigurationException, DependencyResolutionException
@@ -320,6 +325,7 @@ public class ModuleSetAssemblyPhaseTest
mm.verifyAll();
}
+ @Test
public void testAddModuleBinaries_ShouldReturnImmediatelyWhenBinariesIsNull()
throws ArchiveCreationException, AssemblyFormattingException, InvalidAssemblerConfigurationException,
DependencyResolutionException
@@ -327,6 +333,7 @@ public class ModuleSetAssemblyPhaseTest
createPhase( null, null ).addModuleBinaries( null, null, null, null, null, null );
}
+ @Test
public void testAddModuleBinaries_ShouldFilterPomModule()
throws ArchiveCreationException, AssemblyFormattingException, IOException,
InvalidAssemblerConfigurationException, DependencyResolutionException
@@ -360,6 +367,7 @@ public class ModuleSetAssemblyPhaseTest
mm.verifyAll();
}
+ @Test
public void testAddModuleBinaries_ShouldAddOneModuleAttachmentArtifactAndNoDeps()
throws ArchiveCreationException, AssemblyFormattingException, IOException,
InvalidAssemblerConfigurationException, DependencyResolutionException
@@ -374,8 +382,9 @@ public class ModuleSetAssemblyPhaseTest
macTask.expectGetFinalName( "final-name" );
macTask.expectGetDestFile( new File( "junk" ) );
macTask.expectGetMode( 0222, 0222 );
- macTask.expectAddFile( artifactFile, "out/artifact", TypeConversionUtils.modeToInt( "777", new ConsoleLogger(
- Logger.LEVEL_DEBUG, "test" ) ) );
+ macTask.expectAddFile( artifactFile, "out/artifact",
+ TypeConversionUtils.modeToInt( "777",
+ new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) ) );
final ModuleBinaries binaries = new ModuleBinaries();
@@ -405,6 +414,7 @@ public class ModuleSetAssemblyPhaseTest
mm.verifyAll();
}
+ @Test
public void testAddModuleBinaries_ShouldFailWhenOneModuleDoesntHaveAttachmentWithMatchingClassifier()
throws ArchiveCreationException, AssemblyFormattingException, IOException, DependencyResolutionException
{
@@ -447,6 +457,7 @@ public class ModuleSetAssemblyPhaseTest
mm.verifyAll();
}
+ @Test
public void testAddModuleBinaries_ShouldAddOneModuleArtifactAndNoDeps()
throws ArchiveCreationException, AssemblyFormattingException, IOException,
InvalidAssemblerConfigurationException, DependencyResolutionException
@@ -460,8 +471,9 @@ public class ModuleSetAssemblyPhaseTest
macTask.expectGetFinalName( "final-name" );
macTask.expectGetDestFile( new File( "junk" ) );
- macTask.expectAddFile( artifactFile, "out/artifact", TypeConversionUtils.modeToInt( "777", new ConsoleLogger(
- Logger.LEVEL_DEBUG, "test" ) ) );
+ macTask.expectAddFile( artifactFile, "out/artifact",
+ TypeConversionUtils.modeToInt( "777",
+ new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) ) );
macTask.expectGetMode( 0222, 0222 );
final ModuleBinaries binaries = new ModuleBinaries();
@@ -491,7 +503,7 @@ public class ModuleSetAssemblyPhaseTest
mm.verifyAll();
}
-
+ @Test
public void testAddModuleArtifact_ShouldThrowExceptionWhenArtifactFileIsNull()
throws AssemblyFormattingException, IOException
{
@@ -504,8 +516,8 @@ public class ModuleSetAssemblyPhaseTest
try
{
- createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).addModuleArtifact(
- artifactMock.getArtifact(), null, null, null, null );
+ createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ),
+ null ).addModuleArtifact( artifactMock.getArtifact(), null, null, null, null );
fail( "Expected ArchiveCreationException since artifact file is null." );
}
@@ -517,6 +529,7 @@ public class ModuleSetAssemblyPhaseTest
mm.verifyAll();
}
+ @Test
public void testAddModuleArtifact_ShouldAddOneArtifact()
throws AssemblyFormattingException, IOException, ArchiveCreationException
{
@@ -534,8 +547,9 @@ public class ModuleSetAssemblyPhaseTest
macTask.expectGetDestFile( new File( "junk" ) );
macTask.expectGetMode( 0222, 0222 );
- macTask.expectAddFile( artifactFile, "out/artifact", TypeConversionUtils.modeToInt( "777", new ConsoleLogger(
- Logger.LEVEL_DEBUG, "test" ) ) );
+ macTask.expectAddFile( artifactFile, "out/artifact",
+ TypeConversionUtils.modeToInt( "777",
+ new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) ) );
final ModuleBinaries binaries = new ModuleBinaries();
binaries.setOutputDirectory( "out" );
@@ -546,12 +560,14 @@ public class ModuleSetAssemblyPhaseTest
mm.replayAll();
- createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).addModuleArtifact(
- artifactMock.getArtifact(), project, macTask.archiver, macTask.configSource, binaries );
+ createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ),
+ null ).addModuleArtifact( artifactMock.getArtifact(), project, macTask.archiver,
+ macTask.configSource, binaries );
mm.verifyAll();
}
+ @Test
public void testAddModuleSourceFileSets_ShouldReturnImmediatelyIfSourcesIsNull()
throws ArchiveCreationException, AssemblyFormattingException
{
@@ -565,12 +581,13 @@ public class ModuleSetAssemblyPhaseTest
mm.verifyAll();
}
+ @Test
public void testAddModuleSourceFileSets_ShouldAddOneSourceDirectory()
throws ArchiveCreationException, AssemblyFormattingException
{
final EasyMockSupport mm = new EasyMockSupport();
- final MockAndControlForAddFileSetsTask macTask = new MockAndControlForAddFileSetsTask( mm, fileManager );
+ final MockAndControlForAddFileSetsTask macTask = new MockAndControlForAddFileSetsTask( mm );
final MavenProject project = createProject( "group", "artifact", "version", null );
@@ -609,6 +626,7 @@ public class ModuleSetAssemblyPhaseTest
mm.verifyAll();
}
+ @Test
public void testGetModuleProjects_ShouldReturnNothingWhenReactorContainsOnlyCurrentProject()
throws ArchiveCreationException
{
@@ -636,6 +654,7 @@ public class ModuleSetAssemblyPhaseTest
mm.verifyAll();
}
+ @Test
public void testGetModuleProjects_ShouldReturnNothingWhenReactorContainsTwoSiblingProjects()
throws ArchiveCreationException
{
@@ -667,6 +686,7 @@ public class ModuleSetAssemblyPhaseTest
mm.verifyAll();
}
+ @Test
public void testGetModuleProjects_ShouldReturnModuleOfCurrentProject()
throws ArchiveCreationException
{
@@ -702,6 +722,7 @@ public class ModuleSetAssemblyPhaseTest
mm.verifyAll();
}
+ @Test
public void testGetModuleProjects_ShouldReturnDescendentModulesOfCurrentProject()
throws ArchiveCreationException
{
@@ -741,6 +762,7 @@ public class ModuleSetAssemblyPhaseTest
mm.verifyAll();
}
+ @Test
public void testGetModuleProjects_ShouldExcludeModuleAndDescendentsTransitively()
throws ArchiveCreationException
{
@@ -783,9 +805,8 @@ public class ModuleSetAssemblyPhaseTest
private ArtifactMock addArtifact( final MavenProject project, final EasyMockSupport mm,
final boolean expectDepTrailCheck )
{
- final ArtifactMock macArtifact =
- new ArtifactMock( mm, project.getGroupId(), project.getArtifactId(), project.getVersion(),
- project.getPackaging(), false );
+ final ArtifactMock macArtifact = new ArtifactMock( mm, project.getGroupId(), project.getArtifactId(),
+ project.getVersion(), project.getPackaging(), false );
if ( expectDepTrailCheck )
{
@@ -843,7 +864,7 @@ public class ModuleSetAssemblyPhaseTest
if ( failed )
{
- Assert.fail( "See system output for more information." );
+ fail( "See system output for more information." );
}
}
@@ -860,7 +881,7 @@ public class ModuleSetAssemblyPhaseTest
File pomFile;
if ( parentProject == null )
{
- final File basedir = fileManager.createTempDir();
+ final File basedir = temporaryFolder.getRoot();
pomFile = new File( basedir, "pom.xml" );
}
else
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/RepositoryAssemblyPhaseTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/RepositoryAssemblyPhaseTest.java
index 5cc10b3..3f38c97 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/RepositoryAssemblyPhaseTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/RepositoryAssemblyPhaseTest.java
@@ -19,20 +19,20 @@ package org.apache.maven.plugins.assembly.archive.phase;
* under the License.
*/
-import junit.framework.Assert;
-import junit.framework.TestCase;
+import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.expect;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+
import org.apache.maven.model.Model;
import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
-import org.apache.maven.plugins.assembly.InvalidAssemblerConfigurationException;
-import org.apache.maven.plugins.assembly.archive.ArchiveCreationException;
-import org.apache.maven.plugins.assembly.format.AssemblyFormattingException;
import org.apache.maven.plugins.assembly.model.Assembly;
import org.apache.maven.plugins.assembly.model.Repository;
import org.apache.maven.plugins.assembly.repository.RepositoryAssembler;
import org.apache.maven.plugins.assembly.repository.RepositoryAssemblyException;
import org.apache.maven.plugins.assembly.repository.RepositoryBuilderConfigSource;
import org.apache.maven.plugins.assembly.repository.model.RepositoryInfo;
-import org.apache.maven.plugins.assembly.testutils.TestFileManager;
import org.apache.maven.plugins.assembly.utils.TypeConversionUtils;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.archiver.Archiver;
@@ -44,28 +44,18 @@ import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.logging.console.ConsoleLogger;
import org.easymock.classextension.EasyMock;
import org.easymock.classextension.EasyMockSupport;
-
-import java.io.File;
-import java.io.IOException;
-
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.expect;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
public class RepositoryAssemblyPhaseTest
- extends TestCase
{
-
- private final TestFileManager fileManager = new TestFileManager( "repository-phase.test.", "" );
-
- @Override
- public void tearDown()
- throws IOException
- {
- fileManager.cleanUp();
- }
-
+ @Rule
+ public TemporaryFolder temporaryFolder = new TemporaryFolder();
+
+ @Test
public void testExecute_ShouldNotIncludeRepositoryIfNonSpecifiedInAssembly()
- throws ArchiveCreationException, AssemblyFormattingException, InvalidAssemblerConfigurationException
+ throws Exception
{
final EasyMockSupport mm = new EasyMockSupport();
@@ -73,7 +63,7 @@ public class RepositoryAssemblyPhaseTest
final MockAndControlForArchiver macArchiver = new MockAndControlForArchiver( mm );
final MockAndControlForConfigSource macCS = new MockAndControlForConfigSource( mm );
- final File tempRoot = fileManager.createTempDir();
+ final File tempRoot = temporaryFolder.getRoot();
macCS.expectGetTemporaryRootDirectory( tempRoot );
@@ -91,8 +81,9 @@ public class RepositoryAssemblyPhaseTest
mm.verifyAll();
}
+ @Test
public void testExecute_ShouldIncludeOneRepository()
- throws ArchiveCreationException, AssemblyFormattingException, InvalidAssemblerConfigurationException
+ throws Exception
{
final EasyMockSupport mm = new EasyMockSupport();
@@ -100,7 +91,7 @@ public class RepositoryAssemblyPhaseTest
final MockAndControlForArchiver macArchiver = new MockAndControlForArchiver( mm );
final MockAndControlForConfigSource macCS = new MockAndControlForConfigSource( mm );
- final File tempRoot = fileManager.createTempDir();
+ final File tempRoot = temporaryFolder.getRoot();
macCS.expectGetTemporaryRootDirectory( tempRoot );
macCS.expectGetProject( new MavenProject( new Model() ) );
@@ -171,7 +162,7 @@ public class RepositoryAssemblyPhaseTest
}
catch ( final ArchiverException e )
{
- Assert.fail( "Should never happen." );
+ fail( "Should never happen." );
}
EasyMock.expectLastCall().atLeastOnce();
@@ -269,7 +260,7 @@ public class RepositoryAssemblyPhaseTest
}
catch ( final RepositoryAssemblyException e )
{
- Assert.fail( "Should never happen" );
+ fail( "Should never happen" );
}
}
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddDirectoryTaskTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddDirectoryTaskTest.java
index c8439cf..2a534e6 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddDirectoryTaskTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddDirectoryTaskTest.java
@@ -19,51 +19,44 @@ package org.apache.maven.plugins.assembly.archive.task;
* under the License.
*/
-import junit.framework.TestCase;
-import org.apache.maven.plugins.assembly.archive.ArchiveCreationException;
-import org.apache.maven.plugins.assembly.testutils.TestFileManager;
import org.codehaus.plexus.archiver.Archiver;
import org.codehaus.plexus.archiver.ArchiverException;
import org.codehaus.plexus.archiver.FileSet;
import org.easymock.classextension.EasyMockSupport;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import java.io.File;
-import java.io.IOException;
import java.util.Collections;
import static org.easymock.EasyMock.anyObject;
import static org.easymock.EasyMock.expect;
+import static org.junit.Assert.fail;
public class AddDirectoryTaskTest
- extends TestCase
{
+ @Rule
+ public TemporaryFolder temporaryFolder = new TemporaryFolder();
private EasyMockSupport mockManager;
- private TestFileManager fileManager;
-
private Archiver archiver;
-
+ @Before
public void setUp()
{
- fileManager = new TestFileManager( "ArchiveAssemblyUtils.test.", "" );
-
mockManager = new EasyMockSupport();
archiver = mockManager.createMock( Archiver.class );
}
- public void tearDown()
- throws IOException
- {
- fileManager.cleanUp();
- }
-
+ @Test
public void testAddDirectory_ShouldNotAddDirectoryIfNonExistent()
- throws ArchiveCreationException
+ throws Exception
{
- File dir = new File( System.getProperty( "java.io.tmpdir" ), "non-existent." + System.currentTimeMillis() );
+ File dir = new File( temporaryFolder.getRoot(), "non-existent." + System.currentTimeMillis() );
configureModeExpectations( -1, -1, -1, -1, false );
@@ -76,10 +69,12 @@ public class AddDirectoryTaskTest
mockManager.verifyAll();
}
+ @Test
+
public void testAddDirectory_ShouldAddDirectory()
- throws ArchiveCreationException
+ throws Exception
{
- File dir = fileManager.createTempDir();
+ File dir = temporaryFolder.getRoot();
try
{
@@ -103,10 +98,11 @@ public class AddDirectoryTaskTest
mockManager.verifyAll();
}
+ @Test
public void testAddDirectory_ShouldAddDirectoryWithDirMode()
- throws ArchiveCreationException
+ throws Exception
{
- File dir = fileManager.createTempDir();
+ File dir = temporaryFolder.getRoot();
try
{
@@ -135,10 +131,11 @@ public class AddDirectoryTaskTest
mockManager.verifyAll();
}
+ @Test
public void testAddDirectory_ShouldAddDirectoryWithIncludesAndExcludes()
- throws ArchiveCreationException
+ throws Exception
{
- File dir = fileManager.createTempDir();
+ File dir = temporaryFolder.getRoot();
try
{
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddFileSetsTaskTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddFileSetsTaskTest.java
index 106c03f..98d861f 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddFileSetsTaskTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddFileSetsTaskTest.java
@@ -19,56 +19,49 @@ package org.apache.maven.plugins.assembly.archive.task;
* under the License.
*/
-import junit.framework.TestCase;
import org.apache.maven.model.Model;
import org.apache.maven.plugins.assembly.archive.ArchiveCreationException;
import org.apache.maven.plugins.assembly.archive.DefaultAssemblyArchiverTest;
import org.apache.maven.plugins.assembly.archive.task.testutils.MockAndControlForAddFileSetsTask;
-import org.apache.maven.plugins.assembly.format.AssemblyFormattingException;
import org.apache.maven.plugins.assembly.model.FileSet;
-import org.apache.maven.plugins.assembly.testutils.TestFileManager;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.logging.console.ConsoleLogger;
import org.easymock.classextension.EasyMockSupport;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import java.io.File;
-import java.io.IOException;
import java.util.ArrayList;
import static org.easymock.EasyMock.expect;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
public class AddFileSetsTaskTest
- extends TestCase
{
+ @Rule
+ public TemporaryFolder temporaryFolder = new TemporaryFolder();
private EasyMockSupport mockManager;
- private TestFileManager fileManager;
-
private MockAndControlForAddFileSetsTask macTask;
- @Override
+ @Before
public void setUp()
{
mockManager = new EasyMockSupport();
- fileManager = new TestFileManager( "add-fileset.test.", "" );
-
- macTask = new MockAndControlForAddFileSetsTask( mockManager, fileManager );
- }
-
- @Override
- public void tearDown()
- throws IOException
- {
- fileManager.cleanUp();
+ macTask = new MockAndControlForAddFileSetsTask( mockManager );
}
+ @Test
public void testGetFileSetDirectory_ShouldReturnAbsoluteSourceDir()
- throws ArchiveCreationException, AssemblyFormattingException
+ throws Exception
{
- final File dir = fileManager.createTempDir();
+ final File dir = temporaryFolder.newFolder();
final FileSet fs = new FileSet();
@@ -79,10 +72,11 @@ public class AddFileSetsTaskTest
assertEquals( dir.getAbsolutePath(), result.getAbsolutePath() );
}
+ @Test
public void testGetFileSetDirectory_ShouldReturnBasedir()
- throws ArchiveCreationException, AssemblyFormattingException
+ throws Exception
{
- final File dir = fileManager.createTempDir();
+ final File dir = temporaryFolder.newFolder();
final FileSet fs = new FileSet();
@@ -91,10 +85,11 @@ public class AddFileSetsTaskTest
assertEquals( dir.getAbsolutePath(), result.getAbsolutePath() );
}
+ @Test
public void testGetFileSetDirectory_ShouldReturnDirFromBasedirAndSourceDir()
- throws ArchiveCreationException, AssemblyFormattingException
+ throws Exception
{
- final File dir = fileManager.createTempDir();
+ final File dir = temporaryFolder.newFolder();
final String srcPath = "source";
@@ -109,10 +104,11 @@ public class AddFileSetsTaskTest
assertEquals( srcDir.getAbsolutePath(), result.getAbsolutePath() );
}
+ @Test
public void testGetFileSetDirectory_ShouldReturnDirFromArchiveBasedirAndSourceDir()
- throws ArchiveCreationException, AssemblyFormattingException
+ throws Exception
{
- final File dir = fileManager.createTempDir();
+ final File dir = temporaryFolder.newFolder();
final String srcPath = "source";
@@ -127,8 +123,9 @@ public class AddFileSetsTaskTest
assertEquals( srcDir.getAbsolutePath(), result.getAbsolutePath() );
}
+ @Test
public void testAddFileSet_ShouldAddDirectory()
- throws ArchiveCreationException, AssemblyFormattingException
+ throws Exception
{
final FileSet fs = new FileSet();
@@ -162,8 +159,9 @@ public class AddFileSetsTaskTest
mockManager.verifyAll();
}
+ @Test
public void testAddFileSet_ShouldAddDirectoryUsingSourceDirNameForDestDir()
- throws ArchiveCreationException, AssemblyFormattingException
+ throws Exception
{
final FileSet fs = new FileSet();
@@ -171,7 +169,7 @@ public class AddFileSetsTaskTest
fs.setDirectory( dirname );
- final File archiveBaseDir = fileManager.createTempDir();
+ final File archiveBaseDir = temporaryFolder.newFolder();
// ensure this exists, so the directory addition will proceed.
final File srcDir = new File( archiveBaseDir, dirname );
@@ -198,8 +196,9 @@ public class AddFileSetsTaskTest
mockManager.verifyAll();
}
+ @Test
public void testAddFileSet_ShouldNotAddDirectoryWhenSourceDirNonExistent()
- throws ArchiveCreationException, AssemblyFormattingException
+ throws Exception
{
final FileSet fs = new FileSet();
@@ -207,7 +206,7 @@ public class AddFileSetsTaskTest
fs.setDirectory( dirname );
- final File archiveBaseDir = fileManager.createTempDir();
+ final File archiveBaseDir = temporaryFolder.newFolder();
macTask.expectGetFinalName( "finalName" );
@@ -231,11 +230,11 @@ public class AddFileSetsTaskTest
mockManager.verifyAll();
}
+ @Test
public void testExecute_ShouldThrowExceptionIfArchiveBasedirProvidedIsNonExistent()
- throws AssemblyFormattingException
+ throws Exception
{
- macTask.archiveBaseDir.delete();
-
+ macTask.archiveBaseDir = new File( temporaryFolder.getRoot(), "archive");
macTask.expectGetArchiveBaseDirectory();
mockManager.replayAll();
@@ -256,11 +255,11 @@ public class AddFileSetsTaskTest
mockManager.verifyAll();
}
+ @Test
public void testExecute_ShouldThrowExceptionIfArchiveBasedirProvidedIsNotADirectory()
- throws AssemblyFormattingException, IOException
+ throws Exception
{
-
- macTask.archiveBaseDir = fileManager.createTempFile();
+ macTask.archiveBaseDir = temporaryFolder.newFile();
macTask.expectGetArchiveBaseDirectory();
mockManager.replayAll();
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/task/testutils/MockAndControlForAddFileSetsTask.java b/src/test/java/org/apache/maven/plugins/assembly/archive/task/testutils/MockAndControlForAddFileSetsTask.java
index cc5fd60..3d4b573 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/task/testutils/MockAndControlForAddFileSetsTask.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/archive/task/testutils/MockAndControlForAddFileSetsTask.java
@@ -21,7 +21,6 @@ package org.apache.maven.plugins.assembly.archive.task.testutils;
import junit.framework.Assert;
import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
-import org.apache.maven.plugins.assembly.testutils.TestFileManager;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.archiver.Archiver;
import org.codehaus.plexus.archiver.ArchiverException;
@@ -39,16 +38,14 @@ public class MockAndControlForAddFileSetsTask
public final AssemblerConfigurationSource configSource;
-
public final Archiver archiver;
public File archiveBaseDir;
- public MockAndControlForAddFileSetsTask( EasyMockSupport mockManager, TestFileManager fileManager )
+ public MockAndControlForAddFileSetsTask( EasyMockSupport mockManager )
{
configSource = mockManager.createMock( AssemblerConfigurationSource.class );
archiver = mockManager.createMock( Archiver.class );
- archiveBaseDir = fileManager.createTempDir();
expect( configSource.getMavenSession() ).andReturn( null ).anyTimes();
}
diff --git a/src/test/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilterTest.java b/src/test/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilterTest.java
index df2718a..26954ce 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilterTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilterTest.java
@@ -19,9 +19,6 @@ package org.apache.maven.plugins.assembly.filter;
* under the License.
*/
-import junit.framework.TestCase;
-
-import org.apache.maven.plugins.assembly.testutils.TestFileManager;
import org.codehaus.plexus.archiver.ArchiveEntry;
import org.codehaus.plexus.archiver.ArchiveFinalizer;
import org.codehaus.plexus.archiver.ArchivedFileSet;
@@ -33,24 +30,30 @@ import org.codehaus.plexus.archiver.diags.NoOpArchiver;
import org.codehaus.plexus.archiver.zip.ZipArchiver;
import org.codehaus.plexus.components.io.resources.PlexusIoResource;
import org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection;
-import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter;
import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.jdom.Document;
-import org.jdom.JDOMException;
import org.jdom.Text;
import org.jdom.input.SAXBuilder;
import org.jdom.xpath.XPath;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import javax.annotation.Nonnull;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
import java.io.File;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
+import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
@@ -61,27 +64,22 @@ import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
public class ComponentsXmlArchiverFileFilterTest
- extends TestCase
{
- private final TestFileManager fileManager = new TestFileManager( "componentsXmlArchiverFileFilter.test", ".zip" );
+// private final TestFileManager fileManager = new TestFileManager( "componentsXmlArchiverFileFilter.test", ".zip" );
+ @Rule
+ public TemporaryFolder temporaryFolder = new TemporaryFolder();
private ComponentsXmlArchiverFileFilter filter;
- @Override
+ @Before
public void setUp()
{
filter = new ComponentsXmlArchiverFileFilter();
}
- @Override
- public void tearDown()
- throws IOException
- {
- fileManager.cleanUp();
- }
-
+ @Test
public void testAddComponentsXml_ShouldAddComponentWithoutRoleHint()
- throws IOException, XmlPullParserException
+ throws Exception
{
final Reader reader = writeComponentsXml(
Collections.singletonList( new ComponentDef( "role", null, "org.apache.maven.Impl" ) ) );
@@ -97,8 +95,9 @@ public class ComponentsXmlArchiverFileFilterTest
assertEquals( "org.apache.maven.Impl", componentDom.getChild( "implementation" ).getValue() );
}
+ @Test
public void testAddComponentsXml_ShouldAddComponentWithRoleHint()
- throws IOException, XmlPullParserException
+ throws Exception
{
final Reader reader = writeComponentsXml(
Collections.singletonList( new ComponentDef( "role", "hint", "org.apache.maven.Impl" ) ) );
@@ -114,8 +113,9 @@ public class ComponentsXmlArchiverFileFilterTest
assertEquals( "org.apache.maven.Impl", componentDom.getChild( "implementation" ).getValue() );
}
+ @Test
public void testAddComponentsXml_ShouldAddTwoComponentsWithRoleHints()
- throws IOException, XmlPullParserException
+ throws Exception
{
final List<ComponentDef> defs = new ArrayList<>();
@@ -141,8 +141,9 @@ public class ComponentsXmlArchiverFileFilterTest
assertEquals( "org.apache.maven.Impl2", componentDom.getChild( "implementation" ).getValue() );
}
+ @Test
public void testAddToArchive_ShouldWriteComponentWithoutHintToFile()
- throws IOException, ArchiverException, JDOMException
+ throws Exception
{
final Xpp3Dom dom = createComponentDom( new ComponentDef( "role", null, "impl" ) );
@@ -168,8 +169,9 @@ public class ComponentsXmlArchiverFileFilterTest
assertEquals( "impl", ( (Text) implementation.selectSingleNode( doc ) ).getText() );
}
+ @Test
public void testAddToArchive_ShouldWriteComponentWithHintToFile()
- throws IOException, ArchiverException, JDOMException
+ throws Exception
{
final Xpp3Dom dom = createComponentDom( new ComponentDef( "role", "hint", "impl" ) );
@@ -195,8 +197,9 @@ public class ComponentsXmlArchiverFileFilterTest
assertEquals( "impl", ( (Text) implementation.selectSingleNode( doc ) ).getText() );
}
+ @Test
public void testAddToArchive_ShouldWriteTwoComponentToFile()
- throws IOException, ArchiverException, JDOMException
+ throws Exception
{
filter.components = new LinkedHashMap<>();
@@ -236,8 +239,9 @@ public class ComponentsXmlArchiverFileFilterTest
}
+ @Test
public void testAddToArchive_ShouldWriteTwoComponentToArchivedFile()
- throws IOException, ArchiverException, JDOMException
+ throws Exception
{
filter.components = new LinkedHashMap<>();
@@ -251,50 +255,24 @@ public class ComponentsXmlArchiverFileFilterTest
final ZipArchiver archiver = new ZipArchiver();
- final File archiveFile = fileManager.createTempFile();
+ final File archiveFile = temporaryFolder.newFile( "archive" );
archiver.setDestFile( archiveFile );
- final File descriptorFile = fileManager.createTempFile();
+ final File descriptorFile = new File( temporaryFolder.getRoot(), "descriptor.xml" );
archiver.setArchiveFinalizers( Collections.<ArchiveFinalizer>singletonList( filter ) );
archiver.createArchive();
-
- ZipFile zf = null;
- FileOutputStream out = null;
- try
+
+ try ( ZipFile zf = new ZipFile( archiveFile ) )
{
- zf = new ZipFile( archiveFile );
-
final ZipEntry ze = zf.getEntry( ComponentsXmlArchiverFileFilter.COMPONENTS_XML_PATH );
assertNotNull( ze );
- out = new FileOutputStream( descriptorFile );
-
- IOUtil.copy( zf.getInputStream( ze ), out );
- out.close();
- out = null;
- zf.close();
- zf = null;
+ Files.copy( zf.getInputStream( ze ), descriptorFile.toPath() );
}
- finally
- {
- IOUtil.close( out );
- try
- {
- if ( zf != null )
- {
- zf.close();
- }
- }
- catch ( final IOException e )
- {
- // Suppressed.
- }
- }
-
final SAXBuilder builder = new SAXBuilder( false );
diff --git a/src/test/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReaderTest.java b/src/test/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReaderTest.java
index 9e4dda2..f29e73d 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReaderTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReaderTest.java
@@ -19,7 +19,26 @@ package org.apache.maven.plugins.assembly.io;
* under the License.
*/
-import junit.framework.TestCase;
+import static org.easymock.EasyMock.expect;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.model.Model;
@@ -37,38 +56,24 @@ import org.apache.maven.plugins.assembly.model.Repository;
import org.apache.maven.plugins.assembly.model.io.xpp3.AssemblyXpp3Writer;
import org.apache.maven.plugins.assembly.model.io.xpp3.ComponentXpp3Reader;
import org.apache.maven.plugins.assembly.model.io.xpp3.ComponentXpp3Writer;
-import org.apache.maven.plugins.assembly.testutils.TestFileManager;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator;
import org.codehaus.plexus.interpolation.fixed.InterpolationState;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.logging.console.ConsoleLogger;
-import org.codehaus.plexus.util.IOUtil;
import org.easymock.classextension.EasyMockSupport;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import static org.easymock.EasyMock.expect;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
public class DefaultAssemblyReaderTest
- extends TestCase
{
-
- private TestFileManager fileManager;
+ @Rule
+ public TemporaryFolder temporaryFolder = new TemporaryFolder();
private EasyMockSupport mockManager;
-
private AssemblerConfigurationSource configSource;
public static StringReader writeToStringReader( Assembly assembly )
@@ -82,10 +87,10 @@ public class DefaultAssemblyReaderTest
return new StringReader( sw.toString() );
}
- @Override
+ @Before
public void setUp()
{
- fileManager = new TestFileManager( "assembly-reader.test.", ".xml" );
+// fileManager = new TestFileManager( "assembly-reader.test.", ".xml" );
mockManager = new EasyMockSupport();
configSource = mockManager.createMock( AssemblerConfigurationSource.class );
@@ -99,15 +104,9 @@ public class DefaultAssemblyReaderTest
expect( configSource.getMavenSession() ).andReturn( null ).anyTimes();
}
- @Override
- public void tearDown()
- throws IOException
- {
- fileManager.cleanUp();
- }
-
+ @Test
public void testIncludeSiteInAssembly_ShouldFailIfSiteDirectoryNonExistent()
- throws IOException
+ throws Exception
{
final File siteDir = File.createTempFile( "assembly-reader.", ".test" );
siteDir.delete();
@@ -132,7 +131,7 @@ public class DefaultAssemblyReaderTest
mockManager.verifyAll();
}
- // public void testReadComponent_ShouldReadComponentFromXml()
+ // @Test public void testReadComponent_ShouldReadComponentFromXml()
// throws IOException, AssemblyReadException
// {
// Component component = new Component();
@@ -160,7 +159,7 @@ public class DefaultAssemblyReaderTest
// assertEquals( "/dir", fs.getDirectory() );
// }
//
- // public void testGetComponentFromFile_ShouldReadComponent()
+ // @Test public void testGetComponentFromFile_ShouldReadComponent()
// throws IOException, AssemblyReadException
// {
// Component component = new Component();
@@ -209,10 +208,11 @@ public class DefaultAssemblyReaderTest
// mockManager.verifyAll();
// }
+ @Test
public void testIncludeSiteInAssembly_ShouldAddSiteDirFileSetWhenDirExists()
- throws IOException, InvalidAssemblerConfigurationException
+ throws Exception
{
- final File siteDir = fileManager.createTempDir();
+ final File siteDir = temporaryFolder.getRoot();
expect( configSource.getSiteDirectory() ).andReturn( siteDir ).anyTimes();
@@ -234,6 +234,7 @@ public class DefaultAssemblyReaderTest
mockManager.verifyAll();
}
+ @Test
public void testMergeComponentWithAssembly_ShouldAddOneFileSetToExistingListOfTwo()
{
final Assembly assembly = new Assembly();
@@ -272,6 +273,7 @@ public class DefaultAssemblyReaderTest
}
+ @Test
public void testMergeComponentWithAssembly_ShouldAddOneFileItemToExistingListOfTwo()
{
final Assembly assembly = new Assembly();
@@ -311,6 +313,7 @@ public class DefaultAssemblyReaderTest
}
+ @Test
public void testMergeComponentWithAssembly_ShouldAddOneDependencySetToExistingListOfTwo()
{
final Assembly assembly = new Assembly();
@@ -344,6 +347,7 @@ public class DefaultAssemblyReaderTest
assertEquals( Artifact.SCOPE_SYSTEM, depSets.get( 2 ).getScope() );
}
+ @Test
public void testMergeComponentWithAssembly_ShouldAddOneRepositoryToExistingListOfTwo()
{
final Assembly assembly = new Assembly();
@@ -424,6 +428,7 @@ public class DefaultAssemblyReaderTest
//
// }
+ @Test
public void testMergeComponentWithAssembly_ShouldAddOneContainerDescriptorHandlerToExistingListOfTwo()
{
final Assembly assembly = new Assembly();
@@ -458,8 +463,9 @@ public class DefaultAssemblyReaderTest
assertEquals( "three", it.next().getHandlerName() );
}
+ @Test
public void testMergeComponentsWithMainAssembly_ShouldAddOneFileSetToAssembly()
- throws IOException, AssemblyReadException
+ throws Exception
{
final Component component = new Component();
@@ -468,23 +474,13 @@ public class DefaultAssemblyReaderTest
component.addFileSet( fileSet );
- final File componentFile = fileManager.createTempFile();
-
- Writer writer = null;
+ final File componentFile = temporaryFolder.newFile();
- try
+ try ( Writer writer = new OutputStreamWriter( new FileOutputStream( componentFile ), "UTF-8" ) )
{
- writer = new OutputStreamWriter( new FileOutputStream( componentFile ), "UTF-8" );
-
final ComponentXpp3Writer componentWriter = new ComponentXpp3Writer();
componentWriter.write( writer, component );
- writer.close();
- writer = null;
- }
- finally
- {
- IOUtil.close( writer );
}
final String filename = componentFile.getName();
@@ -520,8 +516,9 @@ public class DefaultAssemblyReaderTest
mockManager.verifyAll();
}
+ @Test
public void testReadAssembly_ShouldReadAssemblyWithoutComponentsInterpolationOrSiteDirInclusion()
- throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
+ throws Exception
{
final Assembly assembly = new Assembly();
assembly.setId( "test" );
@@ -533,8 +530,9 @@ public class DefaultAssemblyReaderTest
mockManager.verifyAll();
}
+ @Test
public void testReadAssembly_ShouldReadAssemblyWithSiteDirInclusionFromAssemblyWithoutComponentsOrInterpolation()
- throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
+ throws Exception
{
final Assembly assembly = new Assembly();
assembly.setId( "test" );
@@ -543,11 +541,11 @@ public class DefaultAssemblyReaderTest
final StringReader sr = writeToStringReader( assembly );
- final File siteDir = fileManager.createTempDir();
+ final File siteDir = temporaryFolder.newFolder( "site" );
expect( configSource.getSiteDirectory() ).andReturn( siteDir ).anyTimes();
- final File basedir = fileManager.createTempDir();
+ final File basedir = temporaryFolder.getRoot();
expect( configSource.getBasedir() ).andReturn( basedir ).anyTimes();
@@ -577,10 +575,11 @@ public class DefaultAssemblyReaderTest
mockManager.verifyAll();
}
+ @Test
public void testReadAssembly_ShouldReadAssemblyWithComponentWithoutSiteDirInclusionOrInterpolation()
- throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
+ throws Exception
{
- final File componentsFile = fileManager.createTempFile();
+ final File componentsFile = temporaryFolder.newFile();
final File basedir = componentsFile.getParentFile();
final String componentsFilename = componentsFile.getName();
@@ -592,18 +591,9 @@ public class DefaultAssemblyReaderTest
component.addFileSet( fs );
- Writer fw = null;
-
- try
+ try ( Writer fw = new OutputStreamWriter( new FileOutputStream( componentsFile ), "UTF-8" ) )
{
- fw = new OutputStreamWriter( new FileOutputStream( componentsFile ), "UTF-8" );
new ComponentXpp3Writer().write( fw, component );
- fw.close();
- fw = null;
- }
- finally
- {
- IOUtil.close( fw );
}
final Assembly assembly = new Assembly();
@@ -640,11 +630,11 @@ public class DefaultAssemblyReaderTest
mockManager.verifyAll();
}
- public void
- testReadAssembly_ShouldReadAssemblyWithComponentInterpolationWithoutSiteDirInclusionOrAssemblyInterpolation()
- throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
+ @Test
+ public void testReadAssembly_ShouldReadAssemblyWithComponentInterpolationWithoutSiteDirInclusionOrAssemblyInterpolation()
+ throws Exception
{
- final File componentsFile = fileManager.createTempFile();
+ final File componentsFile = temporaryFolder.newFile();
final File basedir = componentsFile.getParentFile();
final String componentsFilename = componentsFile.getName();
@@ -656,18 +646,9 @@ public class DefaultAssemblyReaderTest
component.addFileSet( fs );
- Writer fw = null;
-
- try
+ try( Writer fw = new OutputStreamWriter( new FileOutputStream( componentsFile ), "UTF-8" ) )
{
- fw = new OutputStreamWriter( new FileOutputStream( componentsFile ), "UTF-8" );
new ComponentXpp3Writer().write( fw, component );
- fw.close();
- fw = null;
- }
- finally
- {
- IOUtil.close( fw );
}
final Assembly assembly = new Assembly();
@@ -705,8 +686,9 @@ public class DefaultAssemblyReaderTest
mockManager.verifyAll();
}
+ @Test
public void testReadAssembly_ShouldReadAssemblyWithInterpolationWithoutComponentsOrSiteDirInclusion()
- throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
+ throws Exception
{
final Assembly assembly = new Assembly();
assembly.setId( "${groupId}-assembly" );
@@ -723,7 +705,7 @@ public class DefaultAssemblyReaderTest
{
final StringReader sr = writeToStringReader( assembly );
- final File basedir = fileManager.createTempDir();
+ final File basedir = temporaryFolder.getRoot();
expect( configSource.getBasedir() ).andReturn( basedir ).anyTimes();
@@ -743,8 +725,9 @@ public class DefaultAssemblyReaderTest
return new DefaultAssemblyReader().readAssembly( sr, "testLocation", null, configSource );
}
+ @Test
public void testGetAssemblyFromDescriptorFile_ShouldReadAssembly()
- throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
+ throws Exception
{
final Assembly assembly = new Assembly();
assembly.setId( "test" );
@@ -754,7 +737,7 @@ public class DefaultAssemblyReaderTest
assembly.addFileSet( fs );
- final File assemblyFile = fileManager.createTempFile();
+ final File assemblyFile = temporaryFolder.newFile();
final File basedir = assemblyFile.getParentFile();
@@ -764,17 +747,9 @@ public class DefaultAssemblyReaderTest
DefaultAssemblyArchiverTest.setupInterpolators( configSource );
- Writer writer = null;
- try
+ try ( Writer writer = new OutputStreamWriter( new FileOutputStream( assemblyFile ), "UTF-8" ) )
{
- writer = new OutputStreamWriter( new FileOutputStream( assemblyFile ), "UTF-8" );
new AssemblyXpp3Writer().write( writer, assembly );
- writer.close();
- writer = null;
- }
- finally
- {
- IOUtil.close( writer );
}
mockManager.replayAll();
@@ -786,10 +761,11 @@ public class DefaultAssemblyReaderTest
mockManager.verifyAll();
}
+ @Test
public void testGetAssemblyForDescriptorReference_ShouldReadBinaryAssemblyRef()
- throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
+ throws Exception
{
- final File basedir = fileManager.createTempDir();
+ final File basedir = temporaryFolder.getRoot();
expect( configSource.getBasedir() ).andReturn( basedir ).anyTimes();
@@ -808,8 +784,9 @@ public class DefaultAssemblyReaderTest
mockManager.verifyAll();
}
+ @Test
public void testReadAssemblies_ShouldGetAssemblyDescriptorFromSingleFile()
- throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
+ throws Exception
{
final Assembly assembly = new Assembly();
assembly.setId( "test" );
@@ -819,7 +796,7 @@ public class DefaultAssemblyReaderTest
assembly.addFileSet( fs );
- final File basedir = fileManager.createTempDir();
+ final File basedir = temporaryFolder.getRoot();
final List<String> files = writeAssembliesToFile( Collections.singletonList( assembly ), basedir );
@@ -835,13 +812,11 @@ public class DefaultAssemblyReaderTest
assertEquals( assembly.getId(), result.getId() );
}
+ @Test
public void testReadAssemblies_ShouldFailWhenSingleDescriptorFileMissing()
- throws IOException, InvalidAssemblerConfigurationException
+ throws Exception
{
- final File basedir = fileManager.createTempDir();
-
- final File assemblyFile = new File( basedir, "test.xml" );
- assemblyFile.delete();
+ final File basedir = temporaryFolder.getRoot();
try
{
@@ -855,13 +830,11 @@ public class DefaultAssemblyReaderTest
}
}
+ @Test
public void testReadAssemblies_ShouldIgnoreMissingSingleDescriptorFileWhenIgnoreIsConfigured()
- throws IOException, InvalidAssemblerConfigurationException
+ throws Exception
{
- final File basedir = fileManager.createTempDir();
-
- final File assemblyFile = new File( basedir, "test.xml" );
- assemblyFile.delete();
+ final File basedir = temporaryFolder.getRoot();
try
{
@@ -874,8 +847,9 @@ public class DefaultAssemblyReaderTest
}
}
+ @Test
public void testReadAssemblies_ShouldGetAssemblyDescriptorFromFileArray()
- throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
+ throws Exception
{
final Assembly assembly1 = new Assembly();
assembly1.setId( "test" );
@@ -887,7 +861,7 @@ public class DefaultAssemblyReaderTest
assemblies.add( assembly1 );
assemblies.add( assembly2 );
- final File basedir = fileManager.createTempDir();
+ final File basedir = temporaryFolder.getRoot();
final List<String> files = writeAssembliesToFile( assemblies, basedir );
@@ -906,10 +880,11 @@ public class DefaultAssemblyReaderTest
assertEquals( assembly2.getId(), result2.getId() );
}
+ @Test
public void testReadAssemblies_ShouldGetAssemblyDescriptorFromMultipleRefs()
- throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
+ throws Exception
{
- final File basedir = fileManager.createTempDir();
+ final File basedir = temporaryFolder.getRoot();
final List<Assembly> assemblies =
performReadAssemblies( basedir, null, new String[]{ "bin", "src" }, null );
@@ -926,8 +901,9 @@ public class DefaultAssemblyReaderTest
assertEquals( "src", result2.getId() );
}
+ @Test
public void testReadAssemblies_ShouldGetAssemblyDescriptorFromDirectory()
- throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
+ throws Exception
{
final Assembly assembly1 = new Assembly();
assembly1.setId( "test" );
@@ -939,7 +915,7 @@ public class DefaultAssemblyReaderTest
assemblies.add( assembly1 );
assemblies.add( assembly2 );
- final File basedir = fileManager.createTempDir();
+ final File basedir = temporaryFolder.getRoot();
writeAssembliesToFile( assemblies, basedir );
@@ -957,8 +933,9 @@ public class DefaultAssemblyReaderTest
assertEquals( assembly2.getId(), result2.getId() );
}
+ @Test
public void testReadAssemblies_ShouldGetTwoAssemblyDescriptorsFromDirectoryWithThreeFiles()
- throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
+ throws Exception
{
final Assembly assembly1 = new Assembly();
assembly1.setId( "test" );
@@ -970,11 +947,13 @@ public class DefaultAssemblyReaderTest
assemblies.add( assembly1 );
assemblies.add( assembly2 );
- final File basedir = fileManager.createTempDir();
+ final File basedir = temporaryFolder.getRoot();
writeAssembliesToFile( assemblies, basedir );
- fileManager.createFile( basedir, "readme.txt", "This is just a readme file, not a descriptor." );
+ Files.write( basedir.toPath().resolve( "readme.txt" ),
+ Arrays.asList( "This is just a readme file, not a descriptor." ),
+ StandardCharsets.UTF_8 );
final List<Assembly> results = performReadAssemblies( basedir, null, null, basedir );
@@ -999,17 +978,9 @@ public class DefaultAssemblyReaderTest
{
final File assemblyFile = new File( dir, assembly.getId() + ".xml" );
- Writer writer = null;
- try
+ try ( Writer writer = new OutputStreamWriter( new FileOutputStream( assemblyFile ), "UTF-8" ) )
{
- writer = new OutputStreamWriter( new FileOutputStream( assemblyFile ), "UTF-8" );
new AssemblyXpp3Writer().write( writer, assembly );
- writer.close();
- writer = null;
- }
- finally
- {
- IOUtil.close( writer );
}
files.add( assemblyFile.getAbsolutePath() );
diff --git a/src/test/java/org/apache/maven/plugins/assembly/testutils/TestFileManager.java b/src/test/java/org/apache/maven/plugins/assembly/testutils/TestFileManager.java
deleted file mode 100644
index ae5280c..0000000
--- a/src/test/java/org/apache/maven/plugins/assembly/testutils/TestFileManager.java
+++ /dev/null
@@ -1,209 +0,0 @@
-package org.apache.maven.plugins.assembly.testutils;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.IOUtil;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-public class TestFileManager
-{
-
- public static final String TEMP_DIR_PATH = System.getProperty( "java.io.tmpdir" );
-
- private final List<File> filesToDelete = new ArrayList<>();
-
- private final String baseFilename;
-
- private final String fileSuffix;
-
- private StackTraceElement callerInfo;
-
- private boolean warnAboutCleanup = false;
-
- public TestFileManager( final String baseFilename, final String fileSuffix )
- {
- this.baseFilename = baseFilename;
- this.fileSuffix = fileSuffix;
-
- initializeCleanupMonitoring();
- }
-
- private void initializeCleanupMonitoring()
- {
- callerInfo = new NullPointerException().getStackTrace()[2];
-
- final Runnable warning = new Runnable()
- {
-
- public void run()
- {
- maybeWarnAboutCleanUp();
- }
-
- };
-
- Thread cleanupWarning = new Thread( warning );
-
- Runtime.getRuntime().addShutdownHook( cleanupWarning );
- }
-
- private void maybeWarnAboutCleanUp()
- {
- if ( warnAboutCleanup )
- {
- System.out.println( "[WARNING] TestFileManager from: " + callerInfo.getClassName() + " not cleaned up!" );
- }
- }
-
- public void markForDeletion( final File toDelete )
- {
- filesToDelete.add( toDelete );
- warnAboutCleanup = true;
- }
-
- public synchronized File createTempDir()
- {
- try
- {
- Thread.sleep( 20 );
- }
- catch ( final InterruptedException ignore )
- {
- }
-
- final File dir = new File( TEMP_DIR_PATH, baseFilename + System.currentTimeMillis() );
-
- //noinspection ResultOfMethodCallIgnored
- dir.mkdirs();
- markForDeletion( dir );
-
- return dir;
- }
-
- public synchronized File createTempFile()
- throws IOException
- {
- final File tempFile = File.createTempFile( baseFilename, fileSuffix );
- tempFile.deleteOnExit();
- markForDeletion( tempFile );
-
- return tempFile;
- }
-
- public void cleanUp()
- {
- for ( final Iterator<File> it = filesToDelete.iterator(); it.hasNext(); )
- {
- final File file = it.next();
-
- if ( file.exists() )
- {
- try
- {
- FileUtils.forceDelete( file );
- }
- catch ( final Exception e )
- {
- System.err.println( "Error while deleting test file/dir: " + file + "; ignoring." );
- }
- }
-
- it.remove();
- }
-
- warnAboutCleanup = false;
- }
-
- /**
- * NOTE: the file content is written using platform encoding.
- */
- @SuppressWarnings( "ResultOfMethodCallIgnored" )
- public File createFile( final File dir, final String filename, final String contents )
- throws IOException
- {
- final File file = new File( dir, filename );
-
- file.getParentFile().mkdirs();
-
- FileWriter writer = null;
-
- try
- {
- writer = new FileWriter( file ); // platform encoding
-
- writer.write( contents );
-
- writer.close();
- writer = null;
- }
- finally
- {
- IOUtil.close( writer );
- }
-
- markForDeletion( file );
-
- return file;
- }
-
- /**
- * NOTE: the file content is read using platform encoding.
- */
- public String getFileContents( final File file )
- throws IOException
- {
- String result = null;
-
- FileReader reader = null;
- try
- {
- reader = new FileReader( file ); // platform encoding
-
- result = IOUtil.toString( reader );
-
- reader.close();
- reader = null;
- }
- finally
- {
- IOUtil.close( reader );
- }
-
- return result;
- }
-
- @Override
- protected void finalize()
- throws Throwable
- {
- maybeWarnAboutCleanUp();
-
- super.finalize();
- }
-
-}