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/25 16:20:25 UTC

[maven-assembly-plugin] 01/04: Set of tests migrated to Mockito

This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch mockito
in repository https://gitbox.apache.org/repos/asf/maven-assembly-plugin.git

commit 67c6a7d33cb96eae1c04fa34ccb8ba7a90085136
Author: rfscholte <rf...@apache.org>
AuthorDate: Fri Apr 24 15:42:30 2020 +0200

    Set of tests migrated to Mockito
---
 .../archive/DefaultAssemblyArchiverTest.java       |  87 ++++---
 .../archiver/AssemblyProxyArchiverTest.java        |  24 +-
 .../phase/DependencySetAssemblyPhaseTest.java      |   3 +
 .../archive/phase/FileItemAssemblyPhaseTest.java   |   7 +-
 .../archive/phase/FileSetAssemblyPhaseTest.java    |  11 +-
 .../archive/phase/ModuleSetAssemblyPhaseTest.java  |  22 +-
 .../assembly/archive/task/AddArtifactTaskTest.java |   3 +
 .../archive/task/AddDependencySetsTaskTest.java    |   9 +-
 .../assembly/archive/task/AddFileSetsTaskTest.java |   6 +-
 .../MockAndControlForAddArtifactTask.java          |   2 +-
 .../assembly/io/DefaultAssemblyReaderTest.java     | 249 ++++-----------------
 .../assembly/utils/AssemblyFormatUtilsTest.java    |  73 ++----
 .../plugins/assembly/utils/FilterUtilsTest.java    | 218 ++++++------------
 13 files changed, 226 insertions(+), 488 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 4294b66..44005c8 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
@@ -19,6 +19,24 @@ package org.apache.maven.plugins.assembly.archive;
  * under the License.
  */
 
+import static org.easymock.EasyMock.anyBoolean;
+import static org.easymock.EasyMock.anyInt;
+import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.expectLastCall;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.model.Model;
 import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
@@ -52,23 +70,10 @@ import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnitRunner;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import static org.easymock.EasyMock.anyBoolean;
-import static org.easymock.EasyMock.anyInt;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
-
+@RunWith( MockitoJUnitRunner.class )
 public class DefaultAssemblyArchiverTest
 {
     @Rule
@@ -78,25 +83,17 @@ public class DefaultAssemblyArchiverTest
 
     public static void setupInterpolators( AssemblerConfigurationSource configSource )
     {
-        expect( configSource.getRepositoryInterpolator() ).andReturn(
-            FixedStringSearchInterpolator.create() ).anyTimes();
-        expect( configSource.getCommandLinePropsInterpolator() ).andReturn(
-            FixedStringSearchInterpolator.create() ).anyTimes();
-        expect( configSource.getEnvInterpolator() ).andReturn( FixedStringSearchInterpolator.create() ).anyTimes();
-        expect( configSource.getMainProjectInterpolator() ).andReturn(
-            FixedStringSearchInterpolator.create() ).anyTimes();
-
+        when( configSource.getRepositoryInterpolator() ).thenReturn( FixedStringSearchInterpolator.create() );
+        when( configSource.getCommandLinePropsInterpolator() ).thenReturn( FixedStringSearchInterpolator.create() );
+        when( configSource.getEnvInterpolator() ).thenReturn( FixedStringSearchInterpolator.create() );
     }
 
     public static void setupInterpolators( AssemblerConfigurationSource configSource, MavenProject mavenProject )
     {
-        expect( configSource.getRepositoryInterpolator() ).andReturn(
-            FixedStringSearchInterpolator.create() ).anyTimes();
-        expect( configSource.getCommandLinePropsInterpolator() ).andReturn(
-            FixedStringSearchInterpolator.create() ).anyTimes();
+        expect( configSource.getRepositoryInterpolator() ).andReturn( FixedStringSearchInterpolator.create() ).anyTimes();
+        expect( configSource.getCommandLinePropsInterpolator() ).andReturn( FixedStringSearchInterpolator.create() ).anyTimes();
         expect( configSource.getEnvInterpolator() ).andReturn( FixedStringSearchInterpolator.create() ).anyTimes();
-        expect( configSource.getMainProjectInterpolator() ).andReturn(
-            AbstractAssemblyMojo.mainProjectInterpolator( mavenProject ) ).anyTimes();
+        expect( configSource.getMainProjectInterpolator() ).andReturn( AbstractAssemblyMojo.mainProjectInterpolator( mavenProject ) ).atLeastOnce();
 
     }
 
@@ -210,37 +207,29 @@ public class DefaultAssemblyArchiverTest
 
         macArchiverManager.expectGetArchiver( "dummy", archiver );
 
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
 
         final String simpleConfig = "value";
 
-        expect( configSource.getArchiverConfig() ).andReturn(
-            "<configuration><simpleConfig>" + simpleConfig + "</simpleConfig></configuration>" ).anyTimes();
+        when( configSource.getArchiverConfig() ).thenReturn(
+            "<configuration><simpleConfig>" + simpleConfig + "</simpleConfig></configuration>" );
 
         final MavenProject project = new MavenProject( new Model() );
 
-        expect( configSource.getProject() ).andReturn( project ).anyTimes();
-
-        expect( configSource.getMavenSession() ).andReturn( null ).anyTimes();
-
-        expect( configSource.isDryRun() ).andReturn( false ).anyTimes();
-
-        expect( configSource.getWorkingDirectory() ).andReturn( new File( "." ) ).anyTimes();
-
-        expect( configSource.isUpdateOnly() ).andReturn( false ).anyTimes();
+        when( configSource.getProject() ).thenReturn( project );
+        when( configSource.getWorkingDirectory() ).thenReturn( new File( "." ) );
 
         final ArtifactRepository lr = mm.createMock( ArtifactRepository.class );
 
         expect( lr.getBasedir() ).andReturn( "/path/to/local/repo" ).anyTimes();
 
-        expect( configSource.getLocalRepository() ).andReturn( lr ).anyTimes();
-        expect( configSource.isIgnorePermissions() ).andReturn( true );
-        setupInterpolators( configSource, project );
+        when( configSource.isIgnorePermissions() ).thenReturn( true );
+        setupInterpolators( configSource );
 
-        expect( configSource.getOverrideUid() ).andReturn( 0 ).atLeastOnce();
-        expect( configSource.getOverrideUserName() ).andReturn( "root" ).atLeastOnce();
-        expect( configSource.getOverrideGid() ).andReturn( 0 ).atLeastOnce();
-        expect( configSource.getOverrideGroupName() ).andReturn( "root" ).atLeastOnce();
+        when( configSource.getOverrideUid() ).thenReturn( 0 );
+        when( configSource.getOverrideUserName() ).thenReturn( "root" );
+        when( configSource.getOverrideGid() ).thenReturn( 0 );
+        when( configSource.getOverrideGroupName() ).thenReturn( "root" );
 
         mm.replayAll();
 
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 b823c93..6e2d7a3 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
@@ -22,12 +22,22 @@ package org.apache.maven.plugins.assembly.archive.archiver;
 import static org.hamcrest.Matchers.is;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+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 javax.annotation.Nonnull;
+
 import org.codehaus.plexus.archiver.Archiver;
 import org.codehaus.plexus.archiver.ArchiverException;
 import org.codehaus.plexus.archiver.FileSet;
@@ -42,17 +52,11 @@ import org.codehaus.plexus.logging.console.ConsoleLogger;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
+import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
+import org.mockito.junit.MockitoJUnitRunner;
 
-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;
-
+@RunWith( MockitoJUnitRunner.class )
 public class AssemblyProxyArchiverTest
 {
     @Rule
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/DependencySetAssemblyPhaseTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/DependencySetAssemblyPhaseTest.java
index c37b404..38ef532 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/DependencySetAssemblyPhaseTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/DependencySetAssemblyPhaseTest.java
@@ -40,7 +40,10 @@ import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;
 import org.easymock.classextension.EasyMockSupport;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnitRunner;
 
+@RunWith( MockitoJUnitRunner.class )
 public class DependencySetAssemblyPhaseTest
 {
 
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhaseTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhaseTest.java
index 3be332b..62d4ac5 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhaseTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhaseTest.java
@@ -19,8 +19,8 @@ package org.apache.maven.plugins.assembly.archive.phase;
  * under the License.
  */
 
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.eq;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -44,7 +44,10 @@ import org.codehaus.plexus.logging.console.ConsoleLogger;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnitRunner;
 
+@RunWith( MockitoJUnitRunner.class )
 public class FileItemAssemblyPhaseTest
 {
     @Rule
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 eb43fb5..f4f3377 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,6 +19,9 @@ package org.apache.maven.plugins.assembly.archive.phase;
  * under the License.
  */
 
+import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.expect;
+
 import org.apache.maven.model.Model;
 import org.apache.maven.plugins.assembly.archive.ArchiveCreationException;
 import org.apache.maven.plugins.assembly.archive.DefaultAssemblyArchiverTest;
@@ -31,10 +34,10 @@ import org.codehaus.plexus.logging.Logger;
 import org.easymock.EasyMock;
 import org.easymock.classextension.EasyMockSupport;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnitRunner;
 
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.expect;
-
+@RunWith( MockitoJUnitRunner.class )
 public class FileSetAssemblyPhaseTest
 {
     final EasyMockSupport mm = new EasyMockSupport();
@@ -89,7 +92,7 @@ public class FileSetAssemblyPhaseTest
 
         macTask.expectAdditionOfSingleFileSet( project, "final-name", false, modes, 1, true );
 
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource );
+        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
 
         mm.replayAll();
 
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 297ac95..9dc57cc 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
@@ -24,7 +24,6 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -53,6 +52,7 @@ import org.apache.maven.plugins.assembly.model.ModuleSources;
 import org.apache.maven.plugins.assembly.utils.TypeConversionUtils;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.ProjectBuilder;
+import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;
 import org.easymock.classextension.EasyMock;
@@ -60,7 +60,10 @@ import org.easymock.classextension.EasyMockSupport;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnitRunner;
 
+@RunWith( MockitoJUnitRunner.class )
 public class ModuleSetAssemblyPhaseTest
 {
     @Rule
@@ -153,7 +156,7 @@ public class ModuleSetAssemblyPhaseTest
 
         artifactProject.setArtifact( artifact );
 
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource );
+        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
 
         mm.replayAll();
 
@@ -198,7 +201,7 @@ public class ModuleSetAssemblyPhaseTest
         when( artifact.getArtifactId() ).thenReturn( "artifact" );
 
         artifactProject.setArtifact( artifact );
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource );
+        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project /* or artifactProject */ );
 
         mm.replayAll();
 
@@ -241,7 +244,7 @@ public class ModuleSetAssemblyPhaseTest
         Artifact artifact = mock( Artifact.class );
 
         project.setArtifact( artifact );
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource );
+        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
 
         mm.replayAll();
 
@@ -315,7 +318,7 @@ public class ModuleSetAssemblyPhaseTest
         final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
         macTask.expectResolveDependencySets();
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource );
+        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, module );
 
         mm.replayAll();
 
@@ -400,7 +403,7 @@ public class ModuleSetAssemblyPhaseTest
         final Set<MavenProject> projects = singleton( project );
 
         macTask.expectResolveDependencySets();
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource );
+        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
 
         mm.replayAll();
 
@@ -422,7 +425,6 @@ public class ModuleSetAssemblyPhaseTest
         final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
         
         Artifact artifact = mock( Artifact.class );
-        when( artifact.getClassifier() ).thenReturn( "test" );
 
         final ModuleBinaries binaries = new ModuleBinaries();
 
@@ -491,7 +493,7 @@ public class ModuleSetAssemblyPhaseTest
         final Set<MavenProject> projects = singleton( project );
 
         macTask.expectResolveDependencySets();
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource );
+        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
 
         mm.replayAll();
 
@@ -550,7 +552,7 @@ public class ModuleSetAssemblyPhaseTest
         binaries.setOutputFileNameMapping( "artifact" );
         binaries.setUnpack( false );
         binaries.setFileMode( "777" );
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource );
+        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
 
         mm.replayAll();
 
@@ -600,7 +602,7 @@ public class ModuleSetAssemblyPhaseTest
         final int[] modes = { -1, -1, mode, mode };
 
         macTask.expectAdditionOfSingleFileSet( project, "final-name", false, modes, 1, true, false );
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource );
+        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
 
         mm.replayAll();
 
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddArtifactTaskTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddArtifactTaskTest.java
index 32d13fa..6f85f8a 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddArtifactTaskTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddArtifactTaskTest.java
@@ -47,7 +47,10 @@ import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnitRunner;
 
+@RunWith( MockitoJUnitRunner.class )
 public class AddArtifactTaskTest
 {
     @Rule
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTaskTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTaskTest.java
index 464de0a..8d621da 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTaskTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTaskTest.java
@@ -42,6 +42,8 @@ import org.easymock.classextension.EasyMockSupport;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import java.io.File;
 import java.io.IOException;
@@ -49,6 +51,7 @@ import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
 
+@RunWith( MockitoJUnitRunner.class )
 public class AddDependencySetsTaskTest
 {
     @Rule
@@ -114,7 +117,7 @@ public class AddDependencySetsTaskTest
 
         macTask.expectGetMode( 0222, 0222 );
 
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource );
+        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, mainProject );
 
         mockManager.replayAll();
 
@@ -191,7 +194,7 @@ public class AddDependencySetsTaskTest
 
         final DependencySet ds = new DependencySet();
         ds.setOutputDirectory( "/out" );
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource );
+        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
 
         mockManager.replayAll();
 
@@ -267,7 +270,7 @@ public class AddDependencySetsTaskTest
                                                                       Collections.singleton(
                                                                           artifact ), project,
                                                                       macTask.projectBuilder, logger );
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource );
+        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
 
         mockManager.replayAll();
 
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 98d861f..09419ab 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
@@ -146,7 +146,7 @@ public class AddFileSetsTaskTest
 
         final MavenProject project = new MavenProject( new Model() );
 
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource );
+        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
         mockManager.replayAll();
 
         final AddFileSetsTask task = new AddFileSetsTask( new ArrayList<FileSet>() );
@@ -182,7 +182,7 @@ public class AddFileSetsTaskTest
         //macTask.expectGetProject( null );
 
         final MavenProject project = new MavenProject( new Model() );
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource );
+        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
 
         mockManager.replayAll();
 
@@ -216,7 +216,7 @@ public class AddFileSetsTaskTest
         expect( macTask.archiver.getOverrideFileMode() ).andReturn( -1 );
 
         final MavenProject project = new MavenProject( new Model() );
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource );
+        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
 
         mockManager.replayAll();
 
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java b/src/test/java/org/apache/maven/plugins/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java
index d5c8f51..4cb2ca3 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java
@@ -193,7 +193,7 @@ public class MockAndControlForAddArtifactTask
 
     public void expectInterpolators()
     {
-        DefaultAssemblyArchiverTest.setupInterpolators( configSource );
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, this.project );
 
     }
 }
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 f29e73d..4792b7a 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,10 +19,11 @@ package org.apache.maven.plugins.assembly.io;
  * under the License.
  */
 
-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 static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -40,7 +41,6 @@ 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;
 import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
 import org.apache.maven.plugins.assembly.InvalidAssemblerConfigurationException;
@@ -61,19 +61,19 @@ 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.easymock.classextension.EasyMockSupport;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnitRunner;
 
+@RunWith( MockitoJUnitRunner.class )
 public class DefaultAssemblyReaderTest
 {
     @Rule
     public TemporaryFolder temporaryFolder = new TemporaryFolder();
 
-    private EasyMockSupport mockManager;
-
     private AssemblerConfigurationSource configSource;
 
     public static StringReader writeToStringReader( Assembly assembly )
@@ -90,18 +90,7 @@ public class DefaultAssemblyReaderTest
     @Before
     public void setUp()
     {
-//        fileManager = new TestFileManager( "assembly-reader.test.", ".xml" );
-        mockManager = new EasyMockSupport();
-
-        configSource = mockManager.createMock( AssemblerConfigurationSource.class );
-
-        ArtifactRepository localRepo = mockManager.createMock( ArtifactRepository.class );
-
-        expect( localRepo.getBasedir() ).andReturn( "/path/to/local/repo" ).anyTimes();
-        expect( configSource.getLocalRepository() ).andReturn( localRepo ).anyTimes();
-        expect( configSource.getRemoteRepositories() ).andReturn(
-            Collections.<ArtifactRepository>emptyList() ).anyTimes();
-        expect( configSource.getMavenSession() ).andReturn( null ).anyTimes();
+        configSource = mock( AssemblerConfigurationSource.class );
     }
 
     @Test
@@ -111,12 +100,10 @@ public class DefaultAssemblyReaderTest
         final File siteDir = File.createTempFile( "assembly-reader.", ".test" );
         siteDir.delete();
 
-        expect( configSource.getSiteDirectory() ).andReturn( siteDir ).anyTimes();
+        when( configSource.getSiteDirectory() ).thenReturn( siteDir );
 
         final Assembly assembly = new Assembly();
 
-        mockManager.replayAll();
-
         try
         {
             new DefaultAssemblyReader().includeSiteInAssembly( assembly, configSource );
@@ -127,99 +114,18 @@ public class DefaultAssemblyReaderTest
         {
             // this should happen.
         }
-
-        mockManager.verifyAll();
     }
 
-    // @Test public void testReadComponent_ShouldReadComponentFromXml()
-    // throws IOException, AssemblyReadException
-    // {
-    // Component component = new Component();
-    //
-    // FileSet fileSet = new FileSet();
-    // fileSet.setDirectory( "/dir" );
-    //
-    // component.addFileSet( fileSet );
-    //
-    // StringWriter sw = new StringWriter();
-    //
-    // ComponentXpp3Writer componentWriter = new ComponentXpp3Writer();
-    //
-    // componentWriter.write( sw, component );
-    //
-    // Component result = new DefaultAssemblyReader().readComponent( new StringReader( sw.toString() ) );
-    //
-    // List<FileSet> fileSets = result.getFileSets();
-    //
-    // assertNotNull( fileSets );
-    // assertEquals( 1, fileSets.size() );
-    //
-    // FileSet fs = (FileSet) fileSets.get( 0 );
-    //
-    // assertEquals( "/dir", fs.getDirectory() );
-    // }
-    //
-    // @Test public void testGetComponentFromFile_ShouldReadComponent()
-    // throws IOException, AssemblyReadException
-    // {
-    // Component component = new Component();
-    //
-    // FileSet fileSet = new FileSet();
-    // fileSet.setDirectory( "/dir" );
-    //
-    // component.addFileSet( fileSet );
-    //
-    // File componentFile = fileManager.createTempFile();
-    //
-    // FileWriter writer = null;
-    //
-    // try
-    // {
-    // writer = new FileWriter( componentFile );
-    //
-    // ComponentXpp3Writer componentWriter = new ComponentXpp3Writer();
-    //
-    // componentWriter.write( writer, component );
-    // }
-    // finally
-    // {
-    // IOUtil.close( writer );
-    // }
-    //
-    // File basedir = componentFile.getParentFile();
-    // String filename = componentFile.getName();
-    //
-    // configSource.getBasedir();
-    // configSourceControl.setReturnValue( basedir );
-    //
-    // mockManager.replayAll();
-    //
-    // Component result = new DefaultAssemblyReader().getComponentFromFile( filename, configSource );
-    //
-    // List<FileSet> fileSets = result.getFileSets();
-    //
-    // assertNotNull( fileSets );
-    // assertEquals( 1, fileSets.size() );
-    //
-    // FileSet fs = (FileSet) fileSets.get( 0 );
-    //
-    // assertEquals( "/dir", fs.getDirectory() );
-    //
-    // mockManager.verifyAll();
-    // }
-
     @Test
     public void testIncludeSiteInAssembly_ShouldAddSiteDirFileSetWhenDirExists()
         throws Exception
     {
         final File siteDir = temporaryFolder.getRoot();
 
-        expect( configSource.getSiteDirectory() ).andReturn( siteDir ).anyTimes();
+        when( configSource.getSiteDirectory() ).thenReturn( siteDir );
 
         final Assembly assembly = new Assembly();
 
-        mockManager.replayAll();
-
         new DefaultAssemblyReader().includeSiteInAssembly( assembly, configSource );
 
         final List<FileSet> fileSets = assembly.getFileSets();
@@ -230,8 +136,6 @@ public class DefaultAssemblyReaderTest
         final FileSet fs = fileSets.get( 0 );
 
         assertEquals( siteDir.getPath(), fs.getDirectory() );
-
-        mockManager.verifyAll();
     }
 
     @Test
@@ -381,53 +285,6 @@ public class DefaultAssemblyReaderTest
         assertEquals( Artifact.SCOPE_SYSTEM, depSets.get( 2 ).getScope() );
     }
 
-    // FIXME: Deep merging should take place...
-    // public void
-    // testMergeComponentWithAssembly_ShouldMergeOneFileSetToOneOfExistingTwo()
-    // {
-    // Assembly assembly = new Assembly();
-    //
-    // FileSet fs = new FileSet();
-    // fs.setDirectory( "/dir" );
-    // fs.addInclude( "**/test.txt" );
-    //
-    // assembly.addFileSet( fs );
-    //
-    // fs = new FileSet();
-    // fs.setDirectory( "/other-dir" );
-    // assembly.addFileSet( fs );
-    //
-    // fs = new FileSet();
-    // fs.setDirectory( "/dir" );
-    // fs.addInclude( "**/components.txt" );
-    //
-    // Component component = new Component();
-    //
-    // component.addFileSet( fs );
-    //
-    // new DefaultAssemblyReader().mergeComponentWithAssembly( component,
-    // assembly );
-    //
-    // List<FileSet> fileSets = assembly.getFileSets();
-    //
-    // assertNotNull( fileSets );
-    // assertEquals( 2, fileSets.size() );
-    //
-    // FileSet rfs1 = (FileSet) fileSets.get( 0 );
-    // assertEquals( "/dir", rfs1.getDirectory() );
-    //
-    // List includes = rfs1.getIncludes();
-    //
-    // assertNotNull( includes );
-    // assertEquals( 2, includes.size() );
-    // assertTrue( includes.contains( "**/test.txt" ) );
-    // assertTrue( includes.contains( "**/components.txt" ) );
-    //
-    // FileSet rfs2 = (FileSet) fileSets.get( 1 );
-    // assertEquals( "/other-dir", rfs2.getDirectory() );
-    //
-    // }
-
     @Test
     public void testMergeComponentWithAssembly_ShouldAddOneContainerDescriptorHandlerToExistingListOfTwo()
     {
@@ -492,16 +349,14 @@ public class DefaultAssemblyReaderTest
 
         final MavenProject project = new MavenProject();
 
-        expect( configSource.getProject() ).andReturn( project ).anyTimes();
-        expect( configSource.getBasedir() ).andReturn( basedir ).anyTimes();
+        when( configSource.getProject() ).thenReturn( project );
+        when( configSource.getBasedir() ).thenReturn( basedir );
         DefaultAssemblyArchiverTest.setupInterpolators( configSource );
         InterpolationState is = new InterpolationState();
         ComponentXpp3Reader.ContentTransformer componentIp =
             AssemblyInterpolator.componentInterpolator( FixedStringSearchInterpolator.create(), is,
                                                         new ConsoleLogger( Logger.LEVEL_DEBUG, "console" ) );
 
-        mockManager.replayAll();
-
         new DefaultAssemblyReader().mergeComponentsWithMainAssembly( assembly, null, configSource, componentIp );
 
         final List<FileSet> fileSets = assembly.getFileSets();
@@ -512,8 +367,6 @@ public class DefaultAssemblyReaderTest
         final FileSet fs = fileSets.get( 0 );
 
         assertEquals( "/dir", fs.getDirectory() );
-
-        mockManager.verifyAll();
     }
 
     @Test
@@ -526,8 +379,6 @@ public class DefaultAssemblyReaderTest
         final Assembly result = doReadAssembly( assembly );
 
         assertEquals( assembly.getId(), result.getId() );
-
-        mockManager.verifyAll();
     }
 
     @Test
@@ -543,11 +394,11 @@ public class DefaultAssemblyReaderTest
 
         final File siteDir = temporaryFolder.newFolder( "site" );
 
-        expect( configSource.getSiteDirectory() ).andReturn( siteDir ).anyTimes();
+        when( configSource.getSiteDirectory() ).thenReturn( siteDir );
 
         final File basedir = temporaryFolder.getRoot();
 
-        expect( configSource.getBasedir() ).andReturn( basedir ).anyTimes();
+        when( configSource.getBasedir() ).thenReturn( basedir );
 
         final Model model = new Model();
         model.setGroupId( "group" );
@@ -556,11 +407,10 @@ public class DefaultAssemblyReaderTest
 
         final MavenProject project = new MavenProject( model );
 
-        expect( configSource.getProject() ).andReturn( project ).anyTimes();
+        when( configSource.getProject() ).thenReturn( project );
 
         DefaultAssemblyArchiverTest.setupInterpolators( configSource );
 
-        mockManager.replayAll();
 
         final Assembly result = new DefaultAssemblyReader().readAssembly( sr, "testLocation", null, configSource );
 
@@ -571,8 +421,6 @@ public class DefaultAssemblyReaderTest
         assertEquals( 1, fileSets.size() );
 
         assertEquals( "/site", fileSets.get( 0 ).getOutputDirectory() );
-
-        mockManager.verifyAll();
     }
 
     @Test
@@ -603,7 +451,7 @@ public class DefaultAssemblyReaderTest
 
         final StringReader sr = writeToStringReader( assembly );
 
-        expect( configSource.getBasedir() ).andReturn( basedir ).anyTimes();
+        when( configSource.getBasedir() ).thenReturn( basedir );
 
         final Model model = new Model();
         model.setGroupId( "group" );
@@ -611,12 +459,10 @@ public class DefaultAssemblyReaderTest
         model.setVersion( "version" );
 
         final MavenProject project = new MavenProject( model );
-        expect( configSource.getProject() ).andReturn( project ).anyTimes();
+        when( configSource.getProject() ).thenReturn( project );
 
         DefaultAssemblyArchiverTest.setupInterpolators( configSource );
 
-        mockManager.replayAll();
-
         final Assembly result = new DefaultAssemblyReader().readAssembly( sr, "testLocation", null, configSource );
 
         assertEquals( assembly.getId(), result.getId() );
@@ -626,8 +472,6 @@ public class DefaultAssemblyReaderTest
         assertEquals( 1, fileSets.size() );
 
         assertEquals( "/dir", fileSets.get( 0 ).getDirectory() );
-
-        mockManager.verifyAll();
     }
 
     @Test
@@ -658,7 +502,7 @@ public class DefaultAssemblyReaderTest
 
         final StringReader sr = writeToStringReader( assembly );
 
-        expect( configSource.getBasedir() ).andReturn( basedir ).atLeastOnce();
+        when( configSource.getBasedir() ).thenReturn( basedir );
 
         final Model model = new Model();
         model.setGroupId( "group" );
@@ -667,12 +511,10 @@ public class DefaultAssemblyReaderTest
 
         final MavenProject project = new MavenProject( model );
 
-        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
+        when( configSource.getProject() ).thenReturn( project );
 
         DefaultAssemblyArchiverTest.setupInterpolators( configSource );
 
-        mockManager.replayAll();
-
         final Assembly result = new DefaultAssemblyReader().readAssembly( sr, "testLocation", null, configSource );
 
         assertEquals( assembly.getId(), result.getId() );
@@ -682,8 +524,6 @@ public class DefaultAssemblyReaderTest
         assertEquals( 1, fileSets.size() );
 
         assertEquals( "group-dir", fileSets.get( 0 ).getDirectory() );
-
-        mockManager.verifyAll();
     }
 
     @Test
@@ -696,8 +536,6 @@ public class DefaultAssemblyReaderTest
         final Assembly result = doReadAssembly( assembly );
 
         assertEquals( "group-assembly", result.getId() );
-
-        mockManager.verifyAll();
     }
 
     private Assembly doReadAssembly( Assembly assembly )
@@ -707,7 +545,7 @@ public class DefaultAssemblyReaderTest
 
         final File basedir = temporaryFolder.getRoot();
 
-        expect( configSource.getBasedir() ).andReturn( basedir ).anyTimes();
+        when( configSource.getBasedir() ).thenReturn( basedir );
 
         final Model model = new Model();
         model.setGroupId( "group" );
@@ -716,12 +554,10 @@ public class DefaultAssemblyReaderTest
 
         final MavenProject project = new MavenProject( model );
 
-        expect( configSource.getProject() ).andReturn( project ).anyTimes();
+        when( configSource.getProject() ).thenReturn( project );
 
         DefaultAssemblyArchiverTest.setupInterpolators( configSource );
 
-        mockManager.replayAll();
-
         return new DefaultAssemblyReader().readAssembly( sr, "testLocation", null, configSource );
     }
 
@@ -741,9 +577,9 @@ public class DefaultAssemblyReaderTest
 
         final File basedir = assemblyFile.getParentFile();
 
-        expect( configSource.getBasedir() ).andReturn( basedir ).anyTimes();
+        when( configSource.getBasedir() ).thenReturn( basedir );
 
-        expect( configSource.getProject() ).andReturn( new MavenProject( new Model() ) ).anyTimes();
+        when( configSource.getProject() ).thenReturn( new MavenProject( new Model() ) );
 
         DefaultAssemblyArchiverTest.setupInterpolators( configSource );
 
@@ -752,13 +588,9 @@ public class DefaultAssemblyReaderTest
             new AssemblyXpp3Writer().write( writer, assembly );
         }
 
-        mockManager.replayAll();
-
         final Assembly result = new DefaultAssemblyReader().getAssemblyFromDescriptorFile( assemblyFile, configSource );
 
         assertEquals( assembly.getId(), result.getId() );
-
-        mockManager.verifyAll();
     }
 
     @Test
@@ -767,21 +599,15 @@ public class DefaultAssemblyReaderTest
     {
         final File basedir = temporaryFolder.getRoot();
 
-        expect( configSource.getBasedir() ).andReturn( basedir ).anyTimes();
-
-        expect( configSource.getProject() ).andReturn( new MavenProject( new Model() ) ).anyTimes();
+        when( configSource.getBasedir() ).thenReturn( basedir );
 
-        expect( configSource.isIgnoreMissingDescriptor() ).andReturn( false ).anyTimes();
+        when( configSource.getProject() ).thenReturn( new MavenProject( new Model() ) );
 
         DefaultAssemblyArchiverTest.setupInterpolators( configSource );
 
-        mockManager.replayAll();
-
         final Assembly result = new DefaultAssemblyReader().getAssemblyForDescriptorReference( "bin", configSource );
 
         assertEquals( "bin", result.getId() );
-
-        mockManager.verifyAll();
     }
 
     @Test
@@ -1001,26 +827,27 @@ public class DefaultAssemblyReaderTest
                                                   final boolean ignoreMissing )
         throws AssemblyReadException, InvalidAssemblerConfigurationException
     {
-        expect( configSource.getDescriptorReferences() ).andReturn( descriptorRefs );
+        when( configSource.getDescriptorReferences() ).thenReturn( descriptorRefs );
 
-        expect( configSource.getDescriptors() ).andReturn( descriptors );
+        when( configSource.getDescriptors() ).thenReturn( descriptors );
 
-        expect( configSource.getDescriptorSourceDirectory() ).andReturn( descriptorDir );
+        when( configSource.getDescriptorSourceDirectory() ).thenReturn( descriptorDir );
 
-        expect( configSource.getBasedir() ).andReturn( basedir ).anyTimes();
+        when( configSource.getBasedir() ).thenReturn( basedir ); //.atLeastOnce();
 
-        expect( configSource.getProject() ).andReturn( new MavenProject( new Model() ) ).anyTimes();
-
-        expect( configSource.isIgnoreMissingDescriptor() ).andReturn( ignoreMissing ).anyTimes();
-        DefaultAssemblyArchiverTest.setupInterpolators( configSource );
-
-        mockManager.replayAll();
-
-        final List<Assembly> assemblies = new DefaultAssemblyReader().readAssemblies( configSource );
+        if ( descriptors == null && descriptorRefs == null && descriptorDir == null )
+        {
+            when( configSource.isIgnoreMissingDescriptor() ).thenReturn( ignoreMissing ); //.atLeastOnce();
+        }
+        
+        if ( !ignoreMissing )
+        {
+            when( configSource.getProject() ).thenReturn( new MavenProject( new Model() ) ); //.atLeastOnce();
 
-        mockManager.verifyAll();
+            DefaultAssemblyArchiverTest.setupInterpolators( configSource );
+        }
 
-        return assemblies;
+        return new DefaultAssemblyReader().readAssemblies( configSource );
     }
 
 }
diff --git a/src/test/java/org/apache/maven/plugins/assembly/utils/AssemblyFormatUtilsTest.java b/src/test/java/org/apache/maven/plugins/assembly/utils/AssemblyFormatUtilsTest.java
index af34c81..78cf6b8 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/utils/AssemblyFormatUtilsTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/utils/AssemblyFormatUtilsTest.java
@@ -1,8 +1,5 @@
 package org.apache.maven.plugins.assembly.utils;
 
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.handler.ArtifactHandler;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -22,6 +19,18 @@ import org.apache.maven.artifact.handler.ArtifactHandler;
  * under the License.
  */
 
+import static org.easymock.EasyMock.expect;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.atLeast;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.verify;
+
+import java.util.Properties;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.handler.ArtifactHandler;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Model;
@@ -32,16 +41,10 @@ import org.apache.maven.plugins.assembly.model.Assembly;
 import org.apache.maven.project.MavenProject;
 import org.easymock.classextension.EasyMockSupport;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnitRunner;
 
-import java.util.Properties;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import static org.easymock.EasyMock.expect;
-
+@RunWith( MockitoJUnitRunner.class )
 public class AssemblyFormatUtilsTest
 {
 
@@ -339,17 +342,15 @@ public class AssemblyFormatUtilsTest
         final MavenProject artifactProject = createProject( "group", "artifact", artifactVersion, null );
 
         Artifact artifact = mock( Artifact.class );
-        when( artifact.getVersion() ).thenReturn( artifactVersion );
         when( artifact.getBaseVersion() ).thenReturn( artifactBaseVersion );
 
         artifactProject.setArtifact( artifact );
 
         final MavenSession session = mock( MavenSession.class );
-        when( session.getUserProperties() ).thenReturn( new Properties() );
 
         final AssemblerConfigurationSource cs = mockManager.createMock( AssemblerConfigurationSource.class );
         expect( cs.getMavenSession() ).andReturn( session );
-        DefaultAssemblyArchiverTest.setupInterpolators( cs );
+        DefaultAssemblyArchiverTest.setupInterpolators( cs, mainProject );
 
         mockManager.replayAll();
 
@@ -683,7 +684,6 @@ public class AssemblyFormatUtilsTest
 
         final MavenSession session = mock( MavenSession.class );
         when( session.getExecutionProperties() ).thenReturn( System.getProperties() );
-        when( session.getUserProperties() ).thenReturn( new Properties() );
 
         final AssemblerConfigurationSource cs = mockManager.createMock( AssemblerConfigurationSource.class );
         expect( cs.getMavenSession() ).andReturn( session ).anyTimes();
@@ -786,7 +786,6 @@ public class AssemblyFormatUtilsTest
 
         final MavenSession session = mock( MavenSession.class );
         when( session.getExecutionProperties() ).thenReturn( System.getProperties() );
-        when( session.getUserProperties() ).thenReturn( new Properties() );
 
         final AssemblerConfigurationSource cs = mockManager.createMock( AssemblerConfigurationSource.class );
         expect( cs.getMavenSession() ).andReturn( session ).anyTimes();
@@ -810,21 +809,19 @@ public class AssemblyFormatUtilsTest
     private void verifyDistroName( final String assemblyId, final String finalName, final boolean appendAssemblyId,
                                    final String checkValue )
     {
-        final MockAndControlForGetDistroName mac = new MockAndControlForGetDistroName( finalName, appendAssemblyId );
-
-        mockManager.replayAll();
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.isAssemblyIdAppended() ).thenReturn( appendAssemblyId );
+        when( configSource.getFinalName() ).thenReturn( finalName );
 
         final Assembly assembly = new Assembly();
         assembly.setId( assemblyId );
 
-        final String result = AssemblyFormatUtils.getDistributionName( assembly, mac.configSource );
+        final String result = AssemblyFormatUtils.getDistributionName( assembly, configSource );
 
         assertEquals( checkValue, result );
 
-        mockManager.verifyAll();
-
-        // clear it out for the next call.
-        mockManager.resetAll();
+        verify( configSource, atLeast( 1 ) ).isAssemblyIdAppended();
+        verify( configSource, atLeast( 1 ) ).getFinalName();
     }
 
     @Test
@@ -839,30 +836,4 @@ public class AssemblyFormatUtilsTest
         assertTrue( AssemblyFormatUtils.isUnixRootReference( "/etc/home" ) );
     }
 
-    private final class MockAndControlForGetDistroName
-    {
-        final AssemblerConfigurationSource configSource;
-
-        private final boolean isAssemblyIdAppended;
-
-        private final String finalName;
-
-        public MockAndControlForGetDistroName( final String finalName, final boolean isAssemblyIdAppended )
-        {
-            this.finalName = finalName;
-            this.isAssemblyIdAppended = isAssemblyIdAppended;
-
-            configSource = mockManager.createMock( AssemblerConfigurationSource.class );
-
-            enableExpectations();
-        }
-
-        private void enableExpectations()
-        {
-            expect( configSource.isAssemblyIdAppended() ).andReturn( isAssemblyIdAppended ).atLeastOnce();
-
-            expect( configSource.getFinalName() ).andReturn( finalName ).atLeastOnce();
-        }
-    }
-
 }
diff --git a/src/test/java/org/apache/maven/plugins/assembly/utils/FilterUtilsTest.java b/src/test/java/org/apache/maven/plugins/assembly/utils/FilterUtilsTest.java
index c1793b0..b5df696 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/utils/FilterUtilsTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/utils/FilterUtilsTest.java
@@ -19,18 +19,11 @@ package org.apache.maven.plugins.assembly.utils;
  * under the License.
  */
 
-import org.hamcrest.Matchers;
-
-import junit.framework.TestCase;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.model.Model;
-import org.apache.maven.plugins.assembly.InvalidAssemblerConfigurationException;
-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.Assert;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -39,47 +32,38 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import static org.easymock.EasyMock.expect;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
+import org.apache.maven.plugins.assembly.InvalidAssemblerConfigurationException;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.logging.Logger;
+import org.codehaus.plexus.logging.console.ConsoleLogger;
+import org.hamcrest.Matchers;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnitRunner;
 
+@RunWith( MockitoJUnitRunner.class )
 public class FilterUtilsTest
-    extends TestCase
 {
-
-    private final EasyMockSupport mockManager = new EasyMockSupport();
-
     private Logger logger;
 
-    private static Model buildModel( final String groupId, final String artifactId )
-    {
-        final Model model = new Model();
-        model.setGroupId( groupId );
-        model.setArtifactId( artifactId );
-
-        return model;
-    }
-
-    @Override
+    @Before
     public void setUp()
     {
-        clearAll();
-    }
-
-    private void clearAll()
-    {
         logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
     }
 
+    @Test
     public void testFilterArtifacts_ShouldThrowExceptionUsingStrictModeWithUnmatchedInclude()
     {
-        final Artifact artifact = mockManager.createMock( Artifact.class );
-
-        expect( artifact.getGroupId() ).andReturn( "group" ).atLeastOnce();
-
-        expect( artifact.getArtifactId() ).andReturn( "artifact" ).atLeastOnce();
-
-        expect( artifact.getId() ).andReturn( "group:artifact:type:version" ).atLeastOnce();
-
-        expect( artifact.getDependencyConflictId() ).andReturn( "group:artifact:type" ).atLeastOnce();
+        final Artifact artifact = mock( Artifact.class );
+        when( artifact.getGroupId() ).thenReturn( "group" );
+        when( artifact.getArtifactId() ).thenReturn( "artifact" );
+        when( artifact.getId() ).thenReturn( "group:artifact:type:version" );
+        when( artifact.getDependencyConflictId() ).thenReturn( "group:artifact:type" );
 
         final List<String> includes = new ArrayList<>();
 
@@ -90,8 +74,6 @@ public class FilterUtilsTest
         final Set<Artifact> artifacts = new HashSet<>();
         artifacts.add( artifact );
 
-        mockManager.replayAll();
-
         try
         {
             FilterUtils.filterArtifacts( artifacts, includes, excludes, true, false, logger );
@@ -102,52 +84,53 @@ public class FilterUtilsTest
         {
             // expected.
         }
-
-        mockManager.verifyAll();
     }
 
+    @Test
     public void testFilterArtifacts_ShouldNotRemoveArtifactDirectlyIncluded()
-        throws InvalidAssemblerConfigurationException
+        throws Exception
     {
         verifyArtifactInclusion( "group", "artifact", "group:artifact", null, null, null );
         verifyArtifactInclusion( "group", "artifact", "group:artifact:jar", null, null, null );
     }
 
+    @Test
     public void testFilterArtifacts_ShouldNotRemoveArtifactTransitivelyIncluded()
-        throws InvalidAssemblerConfigurationException
+        throws Exception
     {
         verifyArtifactInclusion( "group", "artifact", "group:dependentArtifact", null,
                                  Arrays.asList( "current:project:jar:1.0", "group:dependentArtifact:jar:version" ),
                                  null );
     }
 
+    @Test
     public void testFilterArtifacts_ShouldRemoveArtifactTransitivelyExcluded()
-        throws InvalidAssemblerConfigurationException
+        throws Exception
     {
         verifyArtifactExclusion( "group", "artifact", null, "group:dependentArtifact",
                                  Arrays.asList( "current:project:jar:1.0", "group:dependentArtifact:jar:version" ),
                                  null );
     }
 
+    @Test
     public void testFilterArtifacts_ShouldRemoveArtifactDirectlyExcluded()
-        throws InvalidAssemblerConfigurationException
+        throws Exception
     {
         verifyArtifactExclusion( "group", "artifact", null, "group:artifact", null, null );
-
-        clearAll();
-
         verifyArtifactExclusion( "group", "artifact", null, "group:artifact:jar", null, null );
     }
 
+    @Test
     public void testFilterArtifacts_ShouldNotRemoveArtifactNotIncludedAndNotExcluded()
-        throws InvalidAssemblerConfigurationException
+        throws Exception
     {
         verifyArtifactInclusion( "group", "artifact", null, null, null, null );
         verifyArtifactInclusion( "group", "artifact", null, null, null, null );
     }
 
+    @Test
     public void testFilterArtifacts_ShouldRemoveArtifactExcludedByAdditionalFilter()
-        throws InvalidAssemblerConfigurationException
+        throws Exception
     {
         final ArtifactFilter filter = new ArtifactFilter()
         {
@@ -162,36 +145,42 @@ public class FilterUtilsTest
         verifyArtifactExclusion( "group", "artifact", "fail:fail", null, null, filter );
     }
 
+    @Test
     public void testFilterProjects_ShouldNotRemoveProjectDirectlyIncluded()
     {
         verifyProjectInclusion( "group", "artifact", "group:artifact", null, null );
         verifyProjectInclusion( "group", "artifact", "group:artifact:jar", null, null );
     }
 
+    @Test
     public void testFilterProjects_ShouldNotRemoveProjectTransitivelyIncluded()
     {
         verifyProjectInclusion( "group", "artifact", "group:dependentArtifact", null,
                                 Arrays.asList( "current:project:jar:1.0", "group:dependentArtifact:jar:version" ) );
     }
 
+    @Test
     public void testFilterProjects_ShouldRemoveProjectTransitivelyExcluded()
     {
         verifyProjectExclusion( "group", "artifact", null, "group:dependentArtifact",
                                 Arrays.asList( "current:project:jar:1.0", "group:dependentArtifact:jar:version" ) );
     }
 
+    @Test
     public void testFilterProjects_ShouldRemoveProjectDirectlyExcluded()
     {
         verifyProjectExclusion( "group", "artifact", null, "group:artifact", null );
         verifyProjectExclusion( "group", "artifact", null, "group:artifact:jar", null );
     }
 
+    @Test
     public void testFilterProjects_ShouldNotRemoveProjectNotIncludedAndNotExcluded()
     {
         verifyProjectInclusion( "group", "artifact", null, null, null );
         verifyProjectInclusion( "group", "artifact", null, null, null );
     }
 
+    @Test
     public void testTransitiveScopes()
     {
         Assert.assertThat( FilterUtils.newScopeFilter( "compile" ).getIncluded(),
@@ -234,9 +223,18 @@ public class FilterUtilsTest
                                           final boolean verifyInclusion, final ArtifactFilter additionalFilter )
         throws InvalidAssemblerConfigurationException
     {
-        final ArtifactMockAndControl mac = new ArtifactMockAndControl( groupId, artifactId, depTrail );
+        Artifact artifact = mock( Artifact.class );
 
-        mockManager.replayAll();
+        // this is always enabled, for verification purposes.
+        when( artifact.getDependencyConflictId() ).thenReturn( groupId + ":" + artifactId + ":jar" );
+        when( artifact.getGroupId() ).thenReturn( groupId );
+        when( artifact.getArtifactId() ).thenReturn( artifactId );
+        when( artifact.getId() ).thenReturn( groupId + ":" + artifactId + ":version:null:jar" );
+
+        if ( depTrail != null )
+        {
+            when( artifact.getDependencyTrail() ).thenReturn( depTrail );
+        }
 
         List<String> inclusions;
         if ( inclusionPattern != null )
@@ -258,8 +256,7 @@ public class FilterUtilsTest
             exclusions = Collections.emptyList();
         }
 
-        final Set<Artifact> artifacts = new HashSet<>();
-        artifacts.add( mac.artifact );
+        final Set<Artifact> artifacts = new HashSet<>( Collections.singleton( artifact ) );
 
         FilterUtils.filterArtifacts( artifacts, inclusions, exclusions, false, depTrail != null, logger,
                                      additionalFilter );
@@ -267,21 +264,16 @@ public class FilterUtilsTest
         if ( verifyInclusion )
         {
             assertEquals( 1, artifacts.size() );
-            assertEquals( mac.artifact.getDependencyConflictId(),
+            assertEquals( artifact.getDependencyConflictId(),
                           artifacts.iterator().next().getDependencyConflictId() );
         }
         else
         {
             // just make sure this trips, to meet the mock's expectations.
-            mac.artifact.getDependencyConflictId();
+            artifact.getDependencyConflictId();
 
             assertTrue( artifacts.isEmpty() );
         }
-
-        mockManager.verifyAll();
-
-        // get ready for multiple calls per test.
-        mockManager.resetAll();
     }
 
     private void verifyProjectInclusion( final String groupId, final String artifactId, final String inclusionPattern,
@@ -300,15 +292,25 @@ public class FilterUtilsTest
                                          final String exclusionPattern, final List<String> depTrail,
                                          final boolean verifyInclusion )
     {
-        final ProjectWithArtifactMockControl pmac = new ProjectWithArtifactMockControl( groupId, artifactId, depTrail );
+        final Artifact artifact = mock( Artifact.class );
+
+        // this is always enabled, for verification purposes.
+        when( artifact.getDependencyConflictId() ).thenReturn( groupId + ":" + artifactId + ":jar" );
+        when( artifact.getGroupId() ).thenReturn( groupId );
+        when( artifact.getArtifactId() ).thenReturn( artifactId );
+        when( artifact.getId() ).thenReturn( groupId + ":" + artifactId + ":version:null:jar" );
 
-        mockManager.replayAll();
+        if ( depTrail != null )
+        {
+            when( artifact.getDependencyTrail() ).thenReturn( depTrail );
+        }
 
-        // make sure the mock is satisfied...you can't disable this expectation.
-        pmac.mac.artifact.getDependencyConflictId();
+        MavenProject project = mock( MavenProject.class );
+        when( project.getId() ).thenReturn( "group:artifact:jar:1.0" );
+        when( project.getArtifact() ).thenReturn( artifact );
 
         final Set<MavenProject> projects = new HashSet<>();
-        projects.add( pmac );
+        projects.add( project );
 
         List<String> inclusions;
         if ( inclusionPattern != null )
@@ -334,87 +336,15 @@ public class FilterUtilsTest
 
         Set<MavenProject> result =
             FilterUtils.filterProjects( projects, inclusions, exclusions, depTrail != null, logger );
-
+        
         if ( verifyInclusion )
         {
             assertEquals( 1, result.size() );
-            assertEquals( pmac.getId(), result.iterator().next().getId() );
+            assertEquals( project.getId(), result.iterator().next().getId() );
         }
         else
         {
             assertTrue( result.isEmpty() );
         }
-
-        mockManager.verifyAll();
-
-        // get ready for multiple calls per test.
-        mockManager.resetAll();
-    }
-
-    private final class ProjectWithArtifactMockControl
-        extends MavenProject
-    {
-        final ArtifactMockAndControl mac;
-
-        ProjectWithArtifactMockControl( final String groupId, final String artifactId, final List<String> depTrail )
-        {
-            super( buildModel( groupId, artifactId ) );
-
-            mac = new ArtifactMockAndControl( groupId, artifactId, depTrail );
-
-            setArtifact( mac.artifact );
-
-            setVersion( "1.0" );
-        }
-
-    }
-
-    private final class ArtifactMockAndControl
-    {
-        final Artifact artifact;
-
-        final String groupId;
-
-        final String artifactId;
-
-        final List<String> dependencyTrail;
-
-        ArtifactMockAndControl( final String groupId, final String artifactId, final List<String> dependencyTrail )
-        {
-            this.groupId = groupId;
-            this.artifactId = artifactId;
-            this.dependencyTrail = dependencyTrail;
-
-            artifact = mockManager.createMock( Artifact.class );
-
-            // this is always enabled, for verification purposes.
-            enableGetDependencyConflictId();
-            enableGetGroupIdArtifactIdAndId();
-
-            if ( dependencyTrail != null )
-            {
-                enableGetDependencyTrail();
-            }
-        }
-
-        void enableGetDependencyTrail()
-        {
-            expect( artifact.getDependencyTrail() ).andReturn( dependencyTrail ).anyTimes();
-        }
-
-        void enableGetDependencyConflictId()
-        {
-            expect( artifact.getDependencyConflictId() ).andReturn( groupId + ":" + artifactId + ":jar" ).anyTimes();
-        }
-
-        void enableGetGroupIdArtifactIdAndId()
-        {
-            expect( artifact.getGroupId() ).andReturn( groupId ).anyTimes();
-
-            expect( artifact.getArtifactId() ).andReturn( artifactId ).anyTimes();
-
-            expect( artifact.getId() ).andReturn( groupId + ":" + artifactId + ":version:null:jar" ).anyTimes();
-        }
     }
-
 }