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:24 UTC

[maven-assembly-plugin] branch mockito created (now 06e445c)

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

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


      at 06e445c  Complete replace easymock with mockito

This branch includes the following new commits:

     new 67c6a7d  Set of tests migrated to Mockito
     new c830294  Clean up anyTimes()
     new d84f30e  Migrate all AssemblerConfigurationSource to mockito
     new 06e445c  Complete replace easymock with mockito

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[maven-assembly-plugin] 04/04: Complete replace easymock with mockito

Posted by rf...@apache.org.
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 06e445c1416aa2cdeb4c0829e84c22ac6a5fc852
Author: rfscholte <rf...@apache.org>
AuthorDate: Sat Apr 25 18:19:21 2020 +0200

    Complete replace easymock with mockito
---
 pom.xml                                            |  12 -
 .../archive/DefaultAssemblyArchiverTest.java       | 367 ++++++++------------
 .../archive/ManifestCreationFinalizerTest.java     |  27 +-
 .../phase/DependencySetAssemblyPhaseTest.java      |  94 +++---
 .../archive/phase/FileSetAssemblyPhaseTest.java    |  29 +-
 .../archive/phase/ModuleSetAssemblyPhaseTest.java  | 371 +++++++--------------
 .../archive/phase/RepositoryAssemblyPhaseTest.java | 165 ++-------
 .../assembly/archive/task/AddArtifactTaskTest.java | 150 ++++-----
 .../archive/task/AddDependencySetsTaskTest.java    | 201 ++++++-----
 .../archive/task/AddDirectoryTaskTest.java         | 157 +++------
 .../assembly/archive/task/AddFileSetsTaskTest.java | 113 ++-----
 .../MockAndControlForAddArtifactTask.java          | 148 --------
 .../MockAndControlForAddDependencySetsTask.java    | 231 -------------
 .../MockAndControlForAddFileSetsTask.java          |  69 ----
 .../interpolation/AssemblyInterpolatorTest.java    |  62 ++--
 .../assembly/utils/AssemblyFormatUtilsTest.java    |  30 +-
 16 files changed, 630 insertions(+), 1596 deletions(-)

diff --git a/pom.xml b/pom.xml
index 0b27d7c..1bf018e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -205,18 +205,6 @@ under the License.
       <scope>test</scope> 
     </dependency>
     <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymockclassextension</artifactId>
-      <version>2.5.2</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymock</artifactId>
-      <version>2.5.2</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>jdom</groupId>
       <artifactId>jdom</artifactId>
       <version>1.0</version>
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 8770006..dd41811 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,15 +19,12 @@ 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.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.atLeastOnce;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
@@ -44,7 +41,6 @@ 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.phase.AssemblyArchiverPhase;
-import org.apache.maven.plugins.assembly.artifact.DependencyResolver;
 import org.apache.maven.plugins.assembly.model.Assembly;
 import org.apache.maven.plugins.assembly.mojos.AbstractAssemblyMojo;
 import org.apache.maven.project.MavenProject;
@@ -55,7 +51,6 @@ import org.codehaus.plexus.archiver.Archiver;
 import org.codehaus.plexus.archiver.ArchiverException;
 import org.codehaus.plexus.archiver.diags.NoOpArchiver;
 import org.codehaus.plexus.archiver.manager.ArchiverManager;
-import org.codehaus.plexus.archiver.manager.NoSuchArchiverException;
 import org.codehaus.plexus.archiver.tar.TarArchiver;
 import org.codehaus.plexus.archiver.tar.TarLongFileMode;
 import org.codehaus.plexus.archiver.war.WarArchiver;
@@ -63,9 +58,6 @@ 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.easymock.EasyMock;
-import org.easymock.classextension.EasyMockSupport;
-import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -99,56 +91,32 @@ public class DefaultAssemblyArchiverTest
     public void setup()
         throws PlexusContainerException
     {
-        container = new DefaultPlexusContainer();
+        this.container = new DefaultPlexusContainer();
     }
 
     @Test( expected = InvalidAssemblerConfigurationException.class )
     public void failWhenAssemblyIdIsNull()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final MockAndControlForAssemblyArchiver macMgr = new MockAndControlForAssemblyArchiver( mm );
-
-        mm.replayAll();
-
-        final DefaultAssemblyArchiver archiver = createSubject( macMgr, null, null );
+        final DefaultAssemblyArchiver archiver = createSubject( null, null, null );
         archiver.createArchive( new Assembly(), "full-name", "zip", null, false, null, null );
-
-        mm.verifyAll();
     }
 
     @Test
     public void testCreateArchive()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final MockAndControlForAssemblyArchiver macMgr = new MockAndControlForAssemblyArchiver( mm );
-
-        macMgr.expectGetArchiver( "zip", Archiver.class );
-
-        final AssemblyArchiverPhase phase = mm.createControl().createMock( AssemblyArchiverPhase.class );
-
-        phase.execute( (Assembly) anyObject(), (Archiver) anyObject(), (AssemblerConfigurationSource) anyObject() );
+        Archiver archiver = mock( Archiver.class );
+        
+        final ArchiverManager archiverManager = mock( ArchiverManager.class );
+        when( archiverManager.getArchiver( "zip" ) ).thenReturn( archiver );
 
-        final File tempDir = new File ( temporaryFolder.getRoot(), "temp" );
+        final AssemblyArchiverPhase phase = mock( AssemblyArchiverPhase.class );
 
         final File outDir = temporaryFolder.newFolder( "out" );
 
-        macMgr.archiver.setDestFile( new File( outDir, "full-name.zip" ) );
-
-        try
-        {
-            macMgr.archiver.createArchive();
-        }
-        catch ( final ArchiverException | IOException e )
-        {
-            fail( "Should never happen" );
-        }
-
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
-        when( configSource.getTemporaryRootDirectory() ).thenReturn( tempDir );
+        when( configSource.getTemporaryRootDirectory() ).thenReturn( new File ( temporaryFolder.getRoot(), "temp" ) );
         when( configSource.getOverrideUid() ).thenReturn( 0 );
         when( configSource.getOverrideUserName() ).thenReturn( "root" );
         when( configSource.getOverrideGid() ).thenReturn( 0 );
@@ -160,9 +128,7 @@ public class DefaultAssemblyArchiverTest
         final Assembly assembly = new Assembly();
         assembly.setId( "id" );
 
-        mm.replayAll();
-
-        final DefaultAssemblyArchiver subject = createSubject( macMgr, Collections.singletonList( phase ), null );
+        final DefaultAssemblyArchiver subject = createSubject( archiverManager, Collections.singletonList( phase ), null );
 
         subject.createArchive( assembly, "full-name", "zip", configSource, false, null, null );
         
@@ -180,21 +146,29 @@ public class DefaultAssemblyArchiverTest
         verify( configSource ).isIgnoreDirFormatExtensions();
         verify( configSource ).isIgnorePermissions();
         verify( configSource, times( 2 ) ).isUpdateOnly();
-
-        mm.verifyAll();
+        
+        verify( phase ).execute( eq( assembly ), any( Archiver.class ), eq( configSource ) );
+
+        verify( archiver ).createArchive();
+        verify( archiver ).setDestFile( new File( outDir, "full-name.zip" ) );
+        verify( archiver, times( 2 ) ).setForced( true );
+        verify( archiver ).setIgnorePermissions( false );
+        verify( archiver ).setOverrideUid( 0 );
+        verify( archiver ).setOverrideUserName( "root" );
+        verify( archiver ).setOverrideGid( 0 );
+        verify( archiver ).setOverrideGroupName( "root" );
+        
+        verify( archiverManager ).getArchiver( "zip" );
     }
 
     @Test
     public void testCreateArchiver_ShouldConfigureArchiver()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final MockAndControlForAssemblyArchiver macArchiverManager = new MockAndControlForAssemblyArchiver( mm );
-
         final TestArchiverWithConfig archiver = new TestArchiverWithConfig();
 
-        macArchiverManager.expectGetArchiver( "dummy", archiver );
+        final ArchiverManager archiverManager = mock( ArchiverManager.class );
+        when( archiverManager.getArchiver( "dummy" ) ).thenReturn( archiver );
 
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
 
@@ -216,29 +190,25 @@ public class DefaultAssemblyArchiverTest
         when( configSource.getOverrideGid() ).thenReturn( 0 );
         when( configSource.getOverrideGroupName() ).thenReturn( "root" );
 
-        mm.replayAll();
-
         final DefaultAssemblyArchiver subject =
-            createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
+            createSubject( archiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
 
         subject.createArchiver( "dummy", false, "finalName", configSource, null, false, null, null );
 
         assertEquals( simpleConfig, archiver.getSimpleConfig() );
-
-        mm.verifyAll();
+        
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( archiverManager ).getArchiver( "dummy" );
     }
 
     @Test
     public void testCreateArchiver_ShouldCreateTarArchiverWithNoCompression()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
         final TestTarArchiver ttArchiver = new TestTarArchiver();
 
-        final MockAndControlForAssemblyArchiver macArchiverManager = new MockAndControlForAssemblyArchiver( mm );
-
-        macArchiverManager.expectGetArchiver( "tar", ttArchiver );
+        final ArchiverManager archiverManager = mock( ArchiverManager.class );
+        when( archiverManager.getArchiver( "tar" ) ).thenReturn( ttArchiver );
 
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
         when( configSource.getTarLongFileMode() ).thenReturn( TarLongFileMode.fail.toString() );
@@ -248,10 +218,8 @@ public class DefaultAssemblyArchiverTest
         when( configSource.getOverrideUserName() ).thenReturn( "root" );
         when( configSource.getOverrideGid() ).thenReturn( 0 );
         when( configSource.getOverrideGroupName() ).thenReturn( "root" );
-        
-        mm.replayAll();
 
-        final DefaultAssemblyArchiver subject = createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
+        final DefaultAssemblyArchiver subject = createSubject( archiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
 
         subject.createArchiver( "tar", false, "finalName", configSource, null, false, null, null );
 
@@ -270,20 +238,17 @@ public class DefaultAssemblyArchiverTest
         verify( configSource ).isIgnorePermissions();
         verify( configSource, times( 2 ) ).isUpdateOnly();
 
-        mm.verifyAll();
+        verify( archiverManager ).getArchiver( "tar" );
     }
 
     @Test
     public void testCreateArchiver_ShouldCreateWarArchiverWithIgnoreWebxmlSetToFalse()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
         final TestWarArchiver twArchiver = new TestWarArchiver();
 
-        final MockAndControlForAssemblyArchiver macArchiverManager = new MockAndControlForAssemblyArchiver( mm );
-
-        macArchiverManager.expectGetArchiver( "war", twArchiver );
+        final ArchiverManager archiverManager = mock( ArchiverManager.class );
+        when( archiverManager.getArchiver( "war" ) ).thenReturn( twArchiver );
 
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
         when( configSource.getOverrideGid() ).thenReturn( 0 );
@@ -294,9 +259,7 @@ public class DefaultAssemblyArchiverTest
         when( configSource.getWorkingDirectory() ).thenReturn( new File( "." ) );
         when( configSource.isIgnorePermissions() ).thenReturn( true );
         
-        mm.replayAll();
-        
-        final DefaultAssemblyArchiver subject = createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
+        final DefaultAssemblyArchiver subject = createSubject( archiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
 
         subject.createArchiver( "war", false, null, configSource, null, false, null, null );
 
@@ -315,20 +278,18 @@ public class DefaultAssemblyArchiverTest
         verify( configSource ).isDryRun();
         verify( configSource ).isIgnorePermissions();
         verify( configSource, times( 2 ) ).isUpdateOnly();
-
+        
+        verify( archiverManager ).getArchiver( "war" );
     }
 
     @Test
     public void testCreateArchiver_ShouldCreateZipArchiver()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
         final ZipArchiver archiver = new ZipArchiver();
 
-        final MockAndControlForAssemblyArchiver macArchiverManager = new MockAndControlForAssemblyArchiver( mm );
-
-        macArchiverManager.expectGetArchiver( "zip", archiver );
+        final ArchiverManager archiverManager = mock( ArchiverManager.class );
+        when( archiverManager.getArchiver( "zip" ) ).thenReturn( archiver );
 
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
         when( configSource.getOverrideGid() ).thenReturn( 0 );
@@ -338,10 +299,8 @@ public class DefaultAssemblyArchiverTest
         when( configSource.getWorkingDirectory() ).thenReturn( new File( "." ) );
         when( configSource.isIgnorePermissions() ).thenReturn( true );
 
-        mm.replayAll();
-
         final DefaultAssemblyArchiver subject =
-            createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
+            createSubject( archiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
 
         subject.createArchiver( "zip", false, null, configSource, null, false, null, null );
 
@@ -355,177 +314,180 @@ public class DefaultAssemblyArchiverTest
         verify( configSource ).isDryRun();
         verify( configSource ).isIgnorePermissions();
         verify( configSource, times( 2 ) ).isUpdateOnly();
+        
+        verify( archiverManager ).getArchiver( "zip" );
     }
 
     @Test
     public void testCreateWarArchiver_ShouldDisableIgnoreWebxmlOption()
-        throws NoSuchArchiverException
+        throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
         final TestWarArchiver twArchiver = new TestWarArchiver();
 
-        final MockAndControlForAssemblyArchiver macArchiverManager = new MockAndControlForAssemblyArchiver( mm );
-
-        macArchiverManager.expectGetArchiver( "war", twArchiver );
-
-        mm.replayAll();
+        final ArchiverManager archiverManager = mock( ArchiverManager.class );
+        when( archiverManager.getArchiver( "war" ) ).thenReturn( twArchiver );
 
         final DefaultAssemblyArchiver subject =
-            createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
+            createSubject( archiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
 
         subject.createWarArchiver();
 
         assertFalse( twArchiver.ignoreWebxml );
+
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( archiverManager ).getArchiver( "war" );
     }
 
     @Test
     public void testCreateTarArchiver_ShouldNotInitializeCompression()
-        throws NoSuchArchiverException, ArchiverException
+        throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final TestTarArchiver ttArchiver = new TestTarArchiver();
+        final TestTarArchiver archiver = new TestTarArchiver();
+        
+        final ArchiverManager archiverManager = mock( ArchiverManager.class );
+        when( archiverManager.getArchiver( "tar" ) ).thenReturn( archiver );
 
-        final DefaultAssemblyArchiver subject = createSubject( mm, ttArchiver );
+        final DefaultAssemblyArchiver subject = createSubject( archiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
 
         subject.createTarArchiver( "tar", TarLongFileMode.fail );
 
-        assertNull( ttArchiver.compressionMethod );
-        assertEquals( TarLongFileMode.fail, ttArchiver.longFileMode );
+        assertNull( new TestTarArchiver().compressionMethod );
+        assertEquals( TarLongFileMode.fail, archiver.longFileMode );
 
-        mm.verifyAll();
-    }
-
-    private DefaultAssemblyArchiver createSubject( EasyMockSupport mm, TestTarArchiver ttArchiver )
-        throws NoSuchArchiverException
-    {
-        final MockAndControlForAssemblyArchiver macArchiverManager = new MockAndControlForAssemblyArchiver( mm );
-
-        macArchiverManager.expectGetArchiver( "tar", ttArchiver );
-
-        mm.replayAll();
-
-        return createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( archiverManager ).getArchiver( "tar" );
     }
 
     @Test
     public void testCreateTarArchiver_TarGzFormat_ShouldInitializeGZipCompression()
-        throws NoSuchArchiverException, ArchiverException
+        throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final TestTarArchiver ttArchiver = new TestTarArchiver();
-
-        final DefaultAssemblyArchiver subject = createSubject( mm, ttArchiver );
+        final TestTarArchiver archiver = new TestTarArchiver();
+        
+        final ArchiverManager archiverManager = mock( ArchiverManager.class );
+        when( archiverManager.getArchiver( "tar" ) ).thenReturn( archiver );
+        
+        final DefaultAssemblyArchiver subject = createSubject( archiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
 
         subject.createTarArchiver( "tar.gz", TarLongFileMode.fail );
 
-        assertEquals( TarArchiver.TarCompressionMethod.gzip, ttArchiver.compressionMethod );
-        assertEquals( TarLongFileMode.fail, ttArchiver.longFileMode );
+        assertEquals( TarArchiver.TarCompressionMethod.gzip, archiver.compressionMethod );
+        assertEquals( TarLongFileMode.fail, archiver.longFileMode );
 
-        mm.verifyAll();
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( archiverManager ).getArchiver( "tar" );
     }
 
     @Test
     public void testCreateTarArchiver_TgzFormat_ShouldInitializeGZipCompression()
-        throws NoSuchArchiverException, ArchiverException
+        throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final TestTarArchiver ttArchiver = new TestTarArchiver();
-
-        final DefaultAssemblyArchiver subject = createSubject( mm, ttArchiver );
+        final TestTarArchiver archiver = new TestTarArchiver();
+        
+        final ArchiverManager archiverManager = mock( ArchiverManager.class );
+        when( archiverManager.getArchiver( "tar" ) ).thenReturn( archiver );
+        
+        final DefaultAssemblyArchiver subject = createSubject( archiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
 
         subject.createTarArchiver( "tgz", TarLongFileMode.fail );
 
-        assertEquals( TarArchiver.TarCompressionMethod.gzip, ttArchiver.compressionMethod );
-        assertEquals( TarLongFileMode.fail, ttArchiver.longFileMode );
+        assertEquals( TarArchiver.TarCompressionMethod.gzip, archiver.compressionMethod );
+        assertEquals( TarLongFileMode.fail, archiver.longFileMode );
 
-        mm.verifyAll();
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( archiverManager ).getArchiver( "tar" );
     }
 
     @Test
     public void testCreateTarArchiver_TarBz2Format_ShouldInitializeBZipCompression()
-        throws NoSuchArchiverException, ArchiverException
+        throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final TestTarArchiver ttArchiver = new TestTarArchiver();
+        final TestTarArchiver archiver = new TestTarArchiver();
+        
+        final ArchiverManager archiverManager = mock( ArchiverManager.class );
+        when( archiverManager.getArchiver( "tar" ) ).thenReturn( archiver );
 
-        final DefaultAssemblyArchiver subject = createSubject( mm, ttArchiver );
+        final DefaultAssemblyArchiver subject = createSubject( archiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
 
         subject.createTarArchiver( "tar.bz2", TarLongFileMode.fail );
 
-        assertEquals( TarArchiver.TarCompressionMethod.bzip2, ttArchiver.compressionMethod );
-        assertEquals( TarLongFileMode.fail, ttArchiver.longFileMode );
+        assertEquals( TarArchiver.TarCompressionMethod.bzip2, archiver.compressionMethod );
+        assertEquals( TarLongFileMode.fail, archiver.longFileMode );
 
-        mm.verifyAll();
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( archiverManager ).getArchiver( "tar" );
     }
 
     @Test
     public void testCreateTarArchiver_Tbz2Format_ShouldInitializeBZipCompression()
-        throws NoSuchArchiverException, ArchiverException
+        throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final TestTarArchiver ttArchiver = new TestTarArchiver();
+        final TestTarArchiver archiver = new TestTarArchiver();
+        
+        final ArchiverManager archiverManager = mock( ArchiverManager.class );
+        when( archiverManager.getArchiver( "tar" ) ).thenReturn( archiver );
 
-        final DefaultAssemblyArchiver subject = createSubject( mm, ttArchiver );
+        final DefaultAssemblyArchiver subject = createSubject( archiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
 
         subject.createTarArchiver( "tbz2", TarLongFileMode.fail );
 
-        assertEquals( TarArchiver.TarCompressionMethod.bzip2, ttArchiver.compressionMethod );
-        assertEquals( TarLongFileMode.fail, ttArchiver.longFileMode );
+        assertEquals( TarArchiver.TarCompressionMethod.bzip2, archiver.compressionMethod );
+        assertEquals( TarLongFileMode.fail, archiver.longFileMode );
 
-        mm.verifyAll();
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( archiverManager ).getArchiver( "tar" );
     }
 
     @Test
     public void testCreateTarArchiver_TarXzFormat_ShouldInitializeXzCompression()
-        throws NoSuchArchiverException, ArchiverException
+        throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final TestTarArchiver ttArchiver = new TestTarArchiver();
+        final TestTarArchiver archiver = new TestTarArchiver();
 
-        final DefaultAssemblyArchiver subject = createSubject( mm, ttArchiver );
+        final ArchiverManager archiverManager = mock( ArchiverManager.class );
+        when( archiverManager.getArchiver( "tar" ) ).thenReturn( archiver );
+        
+        final DefaultAssemblyArchiver subject = createSubject( archiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
 
         subject.createTarArchiver( "tar.xz", TarLongFileMode.fail );
 
-        assertEquals( TarArchiver.TarCompressionMethod.xz, ttArchiver.compressionMethod );
-        assertEquals( TarLongFileMode.fail, ttArchiver.longFileMode );
+        assertEquals( TarArchiver.TarCompressionMethod.xz, archiver.compressionMethod );
+        assertEquals( TarLongFileMode.fail, archiver.longFileMode );
 
-        mm.verifyAll();
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( archiverManager ).getArchiver( "tar" );
     }
 
     @Test
     public void testCreateTarArchiver_TXzFormat_ShouldInitializeXzCompression()
-        throws NoSuchArchiverException, ArchiverException
+        throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final TestTarArchiver ttArchiver = new TestTarArchiver();
+        final TestTarArchiver archiver = new TestTarArchiver();
+        
+        final ArchiverManager archiverManager = mock( ArchiverManager.class );
+        when( archiverManager.getArchiver( "tar" ) ).thenReturn( archiver );
 
-        final DefaultAssemblyArchiver subject = createSubject( mm, ttArchiver );
+        final DefaultAssemblyArchiver subject = createSubject( archiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
 
         subject.createTarArchiver( "txz", TarLongFileMode.fail );
 
-        assertEquals( TarArchiver.TarCompressionMethod.xz, ttArchiver.compressionMethod );
-        assertEquals( TarLongFileMode.fail, ttArchiver.longFileMode );
+        assertEquals( TarArchiver.TarCompressionMethod.xz, archiver.compressionMethod );
+        assertEquals( TarLongFileMode.fail, archiver.longFileMode );
 
-        mm.verifyAll();
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( archiverManager ).getArchiver( "tar" );
     }
 
     @Test
     public void testCreateTarArchiver_InvalidFormat_ShouldFailWithInvalidCompression()
-        throws NoSuchArchiverException, ArchiverException
+        throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
         final TestTarArchiver ttArchiver = new TestTarArchiver();
+        
+        final ArchiverManager archiverManager = mock( ArchiverManager.class );
+        when( archiverManager.getArchiver( "tar" ) ).thenReturn( ttArchiver );
 
-        final DefaultAssemblyArchiver subject = createSubject( mm, ttArchiver );
+        final DefaultAssemblyArchiver subject = createSubject( archiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
 
         try
         {
@@ -537,14 +499,15 @@ public class DefaultAssemblyArchiverTest
         {
             // expected.
         }
-
-        mm.verifyAll();
+        
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( archiverManager ).getArchiver( "tar" );
     }
 
-    private DefaultAssemblyArchiver createSubject( final MockAndControlForAssemblyArchiver macMgr,
+    private DefaultAssemblyArchiver createSubject( final ArchiverManager archiverManager,
                                                    final List<AssemblyArchiverPhase> phases, Logger logger )
     {
-        final DefaultAssemblyArchiver subject = new DefaultAssemblyArchiver( macMgr.archiverManager, phases );
+        final DefaultAssemblyArchiver subject = new DefaultAssemblyArchiver( archiverManager, phases );
 
         subject.setContainer( container );
 
@@ -622,68 +585,4 @@ public class DefaultAssemblyArchiverTest
         }
     }
 
-    private final class MockAndControlForAssemblyArchiver
-    {
-        final ArchiverManager archiverManager;
-
-        final DependencyResolver dependencyResolver;
-
-        private final EasyMockSupport mm;
-
-        Archiver archiver;
-
-        public MockAndControlForAssemblyArchiver( final EasyMockSupport mm )
-        {
-            this.mm = mm;
-            archiverManager = mm.createControl().createMock( ArchiverManager.class );
-
-            dependencyResolver = mm.createControl().createMock( DependencyResolver.class );
-
-        }
-
-        void createArchiver( final Class<? extends Archiver> archiverClass )
-        {
-            archiver = mm.createControl().createMock( archiverClass );
-
-            archiver.setForced( anyBoolean() );
-            expectLastCall().times( 2 );
-
-            archiver.setIgnorePermissions( false );
-            expectLastCall();
-
-            archiver.setOverrideUid( anyInt() );
-            expectLastCall();
-
-            archiver.setOverrideUserName( EasyMock.<String>anyObject() );
-            expectLastCall();
-
-            archiver.setOverrideGid( anyInt() );
-            expectLastCall();
-
-            archiver.setOverrideGroupName( EasyMock.<String>anyObject() );
-            expectLastCall();
-        }
-
-        void expectGetArchiver( final String format, final Class<? extends Archiver> archiverClass )
-        {
-            createArchiver( archiverClass );
-
-            try
-            {
-                expect( archiverManager.getArchiver( format ) ).andReturn( archiver );
-            }
-            catch ( final NoSuchArchiverException e )
-            {
-                Assert.fail( "should never happen" );
-            }
-
-        }
-
-        void expectGetArchiver( final String format, final Archiver archiver )
-            throws NoSuchArchiverException
-        {
-            expect( archiverManager.getArchiver( format ) ).andReturn( archiver );
-        }
-    }
-
 }
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 c349898..6d332d4 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
@@ -37,10 +37,8 @@ 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;
@@ -65,18 +63,10 @@ public class ManifestCreationFinalizerTest
     public void testShouldDoNothingWhenArchiverIsNotJarArchiver()
         throws Exception
     {
-        EasyMockSupport mm = new EasyMockSupport();
-
-        MockAndControlForArchiver macArchiver = new MockAndControlForArchiver( mm );
-
         MavenProject project = new MavenProject( new Model() );
         MavenArchiveConfiguration config = new MavenArchiveConfiguration();
 
-        mm.replayAll();
-
-        new ManifestCreationFinalizer( null, project, config ).finalizeArchiveCreation( macArchiver.archiver );
-
-        mm.verifyAll();
+        new ManifestCreationFinalizer( null, project, config ).finalizeArchiveCreation( null );
     }
 
     @Test
@@ -150,24 +140,9 @@ public class ManifestCreationFinalizerTest
 
         IOUtil.copy( reader, writer );
 
-        System.out.println( "Test Manifest:\n\n" + writer );
-
         assertTrue( writer.toString().contains( testKey + ": " + testValue ) );
 
         // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4823678
         ( (JarURLConnection) resource.openConnection() ).getJarFile().close();
     }
-
-    private final class MockAndControlForArchiver
-    {
-        final Archiver archiver;
-
-
-        MockAndControlForArchiver( EasyMockSupport mm )
-        {
-
-            archiver = mm.createMock( Archiver.class );
-        }
-    }
-
 }
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 13e361a..24d755b 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
@@ -19,26 +19,30 @@ package org.apache.maven.plugins.assembly.archive.phase;
  * under the License.
  */
 
+import static org.mockito.ArgumentMatchers.anyListOf;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isNull;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import java.io.IOException;
 import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.Set;
 
 import org.apache.maven.artifact.Artifact;
 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.archive.task.testutils.MockAndControlForAddDependencySetsTask;
 import org.apache.maven.plugins.assembly.artifact.DependencyResolutionException;
 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.model.DependencySet;
 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.Test;
 import org.junit.runner.RunWith;
 import org.mockito.junit.MockitoJUnitRunner;
@@ -46,8 +50,17 @@ import org.mockito.junit.MockitoJUnitRunner;
 @RunWith( MockitoJUnitRunner.class )
 public class DependencySetAssemblyPhaseTest
 {
-
-    final EasyMockSupport mm = new EasyMockSupport();
+    private DependencySetAssemblyPhase phase;
+    
+    private DependencyResolver dependencyResolver;
+    
+    @Before
+    public void setUp()
+    {
+        this.dependencyResolver = mock( DependencyResolver.class );
+        
+        this.phase = new DependencySetAssemblyPhase( null, dependencyResolver, null );
+    }
 
     @Test
     public void testExecute_ShouldAddOneDependencyFromProject()
@@ -75,64 +88,47 @@ public class DependencySetAssemblyPhaseTest
         assembly.setIncludeBaseDirectory( false );
         assembly.addDependencySet( ds );
 
-        final MockAndControlForAddDependencySetsTask macTask =
-            new MockAndControlForAddDependencySetsTask( mm, project );
-
         project.setArtifacts( Collections.singleton( artifact ) );
 
-        final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
-
-        macTask.expectResolveDependencySets();
-
-        mm.replayAll();
-
-        createPhase( macTask, logger, macTask.dependencyResolver ).execute( assembly, macTask.archiver,
-                                                                            null );
-
-        mm.verifyAll();
-    }
+        when( dependencyResolver.resolveDependencySets( eq( assembly ),
+                                                        isNull(AssemblerConfigurationSource.class),
+                                                        anyListOf( DependencySet.class ) ) ).thenReturn( new LinkedHashMap<DependencySet, Set<Artifact>>() );
+        
+        this.phase.execute( assembly, null, null );
 
-    private MavenProject newMavenProject( final String groupId, final String artifactId, final String version )
-    {
-        final Model model = new Model();
-        model.setGroupId( groupId );
-        model.setArtifactId( artifactId );
-        model.setVersion( version );
-
-        return new MavenProject( model );
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( dependencyResolver ).resolveDependencySets( eq( assembly ),
+                                                            isNull(AssemblerConfigurationSource.class),
+                                                            anyListOf( DependencySet.class ) );
     }
 
     @Test
     public void testExecute_ShouldNotAddDependenciesWhenProjectHasNone()
-        throws AssemblyFormattingException, ArchiveCreationException, IOException,
-        InvalidAssemblerConfigurationException, DependencyResolutionException
+        throws Exception
     {
         final Assembly assembly = new Assembly();
-
         assembly.setId( "test" );
         assembly.setIncludeBaseDirectory( false );
+        
+        when( dependencyResolver.resolveDependencySets( eq( assembly ), 
+                                                        isNull( AssemblerConfigurationSource.class ),
+                                                        anyListOf( DependencySet.class ) ) ).thenReturn( new LinkedHashMap<DependencySet, Set<Artifact>>() );
 
-        final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
-
-        final MockAndControlForAddDependencySetsTask macTask = new MockAndControlForAddDependencySetsTask( mm, null );
+        this.phase.execute( assembly, null, null );
 
-        macTask.expectResolveDependencySets();
-
-        mm.replayAll();
-
-        createPhase( macTask, logger, macTask.dependencyResolver ).execute( assembly, null, null );
-
-        mm.verifyAll();
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( dependencyResolver ).resolveDependencySets( eq( assembly ),
+                                                            isNull( AssemblerConfigurationSource.class ),
+                                                            anyListOf( DependencySet.class ) );        
     }
-
-    private DependencySetAssemblyPhase createPhase( final MockAndControlForAddDependencySetsTask macTask,
-                                                    final Logger logger, DependencyResolver dr )
+    
+    private MavenProject newMavenProject( final String groupId, final String artifactId, final String version )
     {
-        final DependencySetAssemblyPhase phase = new DependencySetAssemblyPhase( null, dr, null );
-
-        phase.enableLogging( logger );
+        final Model model = new Model();
+        model.setGroupId( groupId );
+        model.setArtifactId( artifactId );
+        model.setVersion( version );
 
-        return phase;
+        return new MavenProject( model );
     }
-
 }
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 b9cfc0d..05f53e5 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 static org.easymock.EasyMock.expect;
 import static org.mockito.Mockito.atLeastOnce;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
@@ -28,12 +27,11 @@ import static org.mockito.Mockito.when;
 import org.apache.maven.model.Model;
 import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
 import org.apache.maven.plugins.assembly.archive.DefaultAssemblyArchiverTest;
-import org.apache.maven.plugins.assembly.archive.task.testutils.MockAndControlForAddFileSetsTask;
 import org.apache.maven.plugins.assembly.model.Assembly;
 import org.apache.maven.plugins.assembly.model.FileSet;
 import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.archiver.Archiver;
 import org.codehaus.plexus.logging.Logger;
-import org.easymock.classextension.EasyMockSupport;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -44,8 +42,6 @@ public class FileSetAssemblyPhaseTest
 {
     private FileSetAssemblyPhase phase;
     
-    final EasyMockSupport mm = new EasyMockSupport();
-    
     @Before
     public void setUp() 
     {
@@ -61,16 +57,9 @@ public class FileSetAssemblyPhaseTest
         throws Exception
     {
         final Assembly assembly = new Assembly();
-
         assembly.setId( "test" );
 
-        final MockAndControlForAddFileSetsTask macTask = new MockAndControlForAddFileSetsTask( mm );
-
-        mm.replayAll();
-
-        this.phase.execute( assembly, macTask.archiver, null );
-
-        mm.verifyAll();
+        this.phase.execute( assembly, null, null );
     }
 
     @Test
@@ -90,8 +79,6 @@ public class FileSetAssemblyPhaseTest
 
         assembly.addFileSet( fs );
 
-        final MockAndControlForAddFileSetsTask macTask = new MockAndControlForAddFileSetsTask( mm );
-
         final MavenProject project = new MavenProject( new Model() );
 
         final int dirMode = Integer.parseInt( "777", 8 );
@@ -100,8 +87,9 @@ public class FileSetAssemblyPhaseTest
         final int[] modes = { -1, -1, dirMode, fileMode };
 
         // the logger sends a debug message with this info inside the addFileSet(..) method..
-        expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( modes[0] );
-        expect( macTask.archiver.getOverrideFileMode() ).andReturn( modes[1] );
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( modes[0] );
+        when( archiver.getOverrideFileMode() ).thenReturn( modes[1] );
     
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
         when( configSource.getProject() ).thenReturn( project );
@@ -109,9 +97,7 @@ public class FileSetAssemblyPhaseTest
         
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
-        mm.replayAll();
-
-        this.phase.execute( assembly, macTask.archiver, configSource );
+        this.phase.execute( assembly, archiver, configSource );
 
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource ).getArchiveBaseDirectory();
@@ -119,6 +105,7 @@ public class FileSetAssemblyPhaseTest
         verify( configSource, atLeastOnce() ).getMavenSession();
         verify( configSource, atLeastOnce() ).getProject();
 
-        mm.verifyAll();
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
     }
 }
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 35073d7..b215699 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
@@ -20,14 +20,17 @@ package org.apache.maven.plugins.assembly.archive.phase;
  */
 
 import static java.util.Collections.singleton;
-import static org.easymock.EasyMock.anyInt;
-import static org.easymock.EasyMock.expect;
 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.any;
+import static org.mockito.Mockito.anyListOf;
 import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.isNull;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.verify;
 
@@ -36,6 +39,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Set;
 
@@ -45,22 +49,18 @@ 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.archive.DefaultAssemblyArchiverTest;
-import org.apache.maven.plugins.assembly.archive.task.testutils.MockAndControlForAddArtifactTask;
-import org.apache.maven.plugins.assembly.archive.task.testutils.MockAndControlForAddDependencySetsTask;
-import org.apache.maven.plugins.assembly.archive.task.testutils.MockAndControlForAddFileSetsTask;
 import org.apache.maven.plugins.assembly.artifact.DependencyResolver;
 import org.apache.maven.plugins.assembly.model.Assembly;
+import org.apache.maven.plugins.assembly.model.DependencySet;
 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.utils.TypeConversionUtils;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.ProjectBuilder;
+import org.codehaus.plexus.archiver.Archiver;
 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.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
@@ -72,8 +72,24 @@ public class ModuleSetAssemblyPhaseTest
 {
     @Rule
     public TemporaryFolder temporaryFolder = new TemporaryFolder();
-
-    private final Logger logger = new ConsoleLogger( Logger.LEVEL_INFO, "test" );
+    
+    private ModuleSetAssemblyPhase phase;
+    
+    private DependencyResolver dependencyResolver;
+    
+    private ProjectBuilder projectBuilder;
+
+    private Logger logger;
+    
+    @Before
+    public void setUp()
+    {
+        this.dependencyResolver = mock( DependencyResolver.class );
+        
+        this.logger = mock( Logger.class );
+        
+        this.phase = new ModuleSetAssemblyPhase( projectBuilder, dependencyResolver, logger );
+    }
 
     @Test
     public void testIsDeprecatedModuleSourcesConfigPresent_ShouldCatchOutputDir()
@@ -81,9 +97,7 @@ public class ModuleSetAssemblyPhaseTest
         final ModuleSources sources = new ModuleSources();
         sources.setOutputDirectory( "outdir" );
 
-        final ModuleSetAssemblyPhase phase = createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null );
-
-        assertTrue( phase.isDeprecatedModuleSourcesConfigPresent( sources ) );
+        assertTrue( this.phase.isDeprecatedModuleSourcesConfigPresent( sources ) );
     }
 
     @Test
@@ -92,9 +106,7 @@ public class ModuleSetAssemblyPhaseTest
         final ModuleSources sources = new ModuleSources();
         sources.addInclude( "**/included.txt" );
 
-        final ModuleSetAssemblyPhase phase = createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null );
-
-        assertTrue( phase.isDeprecatedModuleSourcesConfigPresent( sources ) );
+        assertTrue( this.phase.isDeprecatedModuleSourcesConfigPresent( sources ) );
     }
 
     @Test
@@ -103,9 +115,7 @@ public class ModuleSetAssemblyPhaseTest
         final ModuleSources sources = new ModuleSources();
         sources.addExclude( "**/excluded.txt" );
 
-        final ModuleSetAssemblyPhase phase = createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null );
-
-        assertTrue( phase.isDeprecatedModuleSourcesConfigPresent( sources ) );
+        assertTrue( this.phase.isDeprecatedModuleSourcesConfigPresent( sources ) );
     }
 
     @Test
@@ -114,9 +124,7 @@ public class ModuleSetAssemblyPhaseTest
         final ModuleSources sources = new ModuleSources();
         sources.setFileMode( "777" );
 
-        final ModuleSetAssemblyPhase phase = createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null );
-
-        assertFalse( phase.isDeprecatedModuleSourcesConfigPresent( sources ) );
+        assertFalse( this.phase.isDeprecatedModuleSourcesConfigPresent( sources ) );
     }
 
     @Test
@@ -125,17 +133,13 @@ public class ModuleSetAssemblyPhaseTest
         final ModuleSources sources = new ModuleSources();
         sources.setDirectoryMode( "777" );
 
-        final ModuleSetAssemblyPhase phase = createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null );
-
-        assertFalse( phase.isDeprecatedModuleSourcesConfigPresent( sources ) );
+        assertFalse( this.phase.isDeprecatedModuleSourcesConfigPresent( sources ) );
     }
 
     @Test
     public void testCreateFileSet_ShouldUseModuleDirOnlyWhenOutDirIsNull()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
         final Model model = new Model();
         model.setArtifactId( "artifact" );
 
@@ -161,12 +165,7 @@ public class ModuleSetAssemblyPhaseTest
 
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
-        mm.replayAll();
-
-        final FileSet result =
-            createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).createFileSet( fs, sources,
-                                                                                                artifactProject,
-                                                                                                configSource );
+        final FileSet result = this.phase.createFileSet( fs, sources, artifactProject, configSource );
 
         assertEquals( "artifact/", result.getOutputDirectory() );
 
@@ -174,16 +173,12 @@ public class ModuleSetAssemblyPhaseTest
         verify( configSource, atLeastOnce() ).getFinalName();
         verify( configSource, atLeastOnce() ).getMavenSession();
         verify( configSource, atLeastOnce() ).getProject();
-
-        mm.verifyAll();
     }
 
     @Test
     public void testCreateFileSet_ShouldPrependModuleDirWhenOutDirIsProvided()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
         final Model model = new Model();
         model.setArtifactId( "artifact" );
 
@@ -210,12 +205,7 @@ public class ModuleSetAssemblyPhaseTest
         artifactProject.setArtifact( artifact );
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, project /* or artifactProject */ );
 
-        mm.replayAll();
-
-        final FileSet result =
-            createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).createFileSet( fs, sources,
-                                                                                                artifactProject,
-                                                                                                configSource );
+        final FileSet result = this.phase.createFileSet( fs, sources, artifactProject, configSource );
 
         assertEquals( "artifact/out/", result.getOutputDirectory() );
 
@@ -223,16 +213,12 @@ public class ModuleSetAssemblyPhaseTest
         verify( configSource, atLeastOnce() ).getFinalName();
         verify( configSource, atLeastOnce() ).getMavenSession();
         verify( configSource, atLeastOnce() ).getProject();
-
-        mm.verifyAll();
     }
 
     @Test
     public void testCreateFileSet_ShouldAddExcludesForSubModulesWhenExcludeSubModDirsIsTrue()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
 
         final FileSet fs = new FileSet();
@@ -256,11 +242,7 @@ public class ModuleSetAssemblyPhaseTest
         project.setArtifact( artifact );
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
-        mm.replayAll();
-
-        final FileSet result =
-            createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).createFileSet( fs, sources, project,
-                                                                                                configSource );
+        final FileSet result = this.phase.createFileSet( fs, sources, project, configSource );
 
         assertEquals( 1, result.getExcludes().size() );
         assertEquals( "submodule/**", result.getExcludes().get( 0 ) );
@@ -269,8 +251,6 @@ public class ModuleSetAssemblyPhaseTest
         verify( configSource, atLeastOnce() ).getFinalName();
         verify( configSource, atLeastOnce() ).getMavenSession();
         verify( configSource, atLeastOnce() ).getProject();
-
-        mm.verifyAll();
     }
 
     @Test
@@ -280,19 +260,15 @@ public class ModuleSetAssemblyPhaseTest
         final Assembly assembly = new Assembly();
         assembly.setIncludeBaseDirectory( false );
 
-        createPhase( null, null ).execute( assembly, null, null );
+        this.phase.execute( assembly, null, null );
     }
 
     @Test
     public void testExecute_ShouldAddOneModuleSetWithOneModuleInIt()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
         final MavenProject project = createProject( "group", "artifact", "version", null );
 
-        final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
-
         final MavenProject module = createProject( "group", "module", "version", project );
 
         Artifact artifact = mock( Artifact.class );
@@ -301,7 +277,6 @@ public class ModuleSetAssemblyPhaseTest
         module.setArtifact( artifact );
 
         final List<MavenProject> projects = new ArrayList<>();
-
         projects.add( module );
 
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
@@ -309,42 +284,32 @@ public class ModuleSetAssemblyPhaseTest
         when( configSource.getFinalName() ).thenReturn( "final-name" );
         when( configSource.getProject() ).thenReturn( project );
         
-        macTask.expectGetDestFile( new File( "junk" ) );
-        expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( 0777 );
-        expect( macTask.archiver.getOverrideFileMode() ).andReturn( 0777 );
-        macTask.archiver.setFileMode( anyInt() );
-        org.easymock.EasyMock.expectLastCall().times( 2 );
-
-        final int mode = TypeConversionUtils.modeToInt( "777", new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
-
-        macTask.expectAddFile( moduleArtifactFile, "out/artifact", mode );
-
-        final Assembly assembly = new Assembly();
-        assembly.setIncludeBaseDirectory( false );
-
-        final ModuleSet ms = new ModuleSet();
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getDestFile() ).thenReturn( new File( "junk" ) );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( 0777 );
+        when( archiver.getOverrideFileMode() ).thenReturn( 0777 );
 
         final ModuleBinaries bin = new ModuleBinaries();
-
         bin.setOutputFileNameMapping( "artifact" );
         bin.setOutputDirectory( "out" );
         bin.setFileMode( "777" );
         bin.setUnpack( false );
         bin.setIncludeDependencies( false );
 
+        final ModuleSet ms = new ModuleSet();
         ms.setBinaries( bin );
 
+        final Assembly assembly = new Assembly();
+        assembly.setIncludeBaseDirectory( false );
         assembly.addModuleSet( ms );
 
-        final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
-
-        macTask.expectResolveDependencySets();
+        when( dependencyResolver.resolveDependencySets( eq( assembly ), 
+                                                        eq( ms ),
+                                                        eq( configSource ),
+                                                        anyListOf( DependencySet.class ) ) ).thenReturn( new LinkedHashMap<DependencySet, Set<Artifact>>() );
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, module );
 
-        mm.replayAll();
-
-        final ModuleSetAssemblyPhase phase = createPhase( logger, macTask.dependencyResolver, null );
-        phase.execute( assembly, macTask.archiver, configSource );
+        this.phase.execute( assembly, archiver, configSource );
 
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource, atLeastOnce() ).getFinalName();
@@ -352,24 +317,29 @@ public class ModuleSetAssemblyPhaseTest
         verify( configSource, atLeastOnce() ).getProject();
         verify( configSource, atLeastOnce() ).getReactorProjects();
 
-        mm.verifyAll();
+        verify( archiver ).addFile( moduleArtifactFile, "out/artifact", 511 );
+        verify( archiver, atLeastOnce() ).getDestFile();
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
+        verify( archiver, times( 2 ) ).setFileMode( 511 );
+
+        verify( dependencyResolver ).resolveDependencySets( eq( assembly ), 
+                                                            eq( ms ),
+                                                            eq( configSource ), 
+                                                            anyListOf( DependencySet.class ) );
     }
 
     @Test
     public void testAddModuleBinaries_ShouldReturnImmediatelyWhenBinariesIsNull()
         throws Exception
     {
-        createPhase( null, null ).addModuleBinaries( null, null, null, null, null, null );
+        this.phase.addModuleBinaries( null, null, null, null, null, null );
     }
 
     @Test
     public void testAddModuleBinaries_ShouldFilterPomModule()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
-
         final ModuleBinaries binaries = new ModuleBinaries();
 
         binaries.setUnpack( false );
@@ -384,24 +354,14 @@ public class ModuleSetAssemblyPhaseTest
         project.setArtifact( artifact );
 
         final Set<MavenProject> projects = singleton( project );
-
-        mm.replayAll();
-
-        createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).addModuleBinaries( null, null, binaries,
-                                                                                                projects,
-                                                                                                macTask.archiver,
-                                                                                                null );
-
-        mm.verifyAll();
+        
+        this.phase.addModuleBinaries( null, null, binaries, projects, null, null );
     }
 
     @Test
     public void testAddModuleBinaries_ShouldAddOneModuleAttachmentArtifactAndNoDeps()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
         when( configSource.getFinalName() ).thenReturn( "final-name" );
 
@@ -410,14 +370,10 @@ public class ModuleSetAssemblyPhaseTest
         final File artifactFile = temporaryFolder.newFile();
         when( artifact.getFile() ).thenReturn( artifactFile );
 
-        macTask.expectGetDestFile( new File( "junk" ) );
-        expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
-        expect( macTask.archiver.getOverrideFileMode() ).andReturn( 0222 );
-        macTask.archiver.setFileMode( anyInt() );
-        org.easymock.EasyMock.expectLastCall().times( 2 );
-        macTask.expectAddFile( artifactFile, "out/artifact",
-                               TypeConversionUtils.modeToInt( "777",
-                                                              new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) ) );
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getDestFile() ).thenReturn( new File( "junk" ) );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( 0222 );
+        when( archiver.getOverrideFileMode() ).thenReturn( 0222 );
 
         final ModuleBinaries binaries = new ModuleBinaries();
 
@@ -433,33 +389,36 @@ public class ModuleSetAssemblyPhaseTest
 
         final Set<MavenProject> projects = singleton( project );
 
-        macTask.expectResolveDependencySets();
+        when( dependencyResolver.resolveDependencySets( isNull( Assembly.class ), 
+                                                        isNull( ModuleSet.class ),
+                                                        eq( configSource ),
+                                                        anyListOf( DependencySet.class ) ) ).thenReturn( new LinkedHashMap<DependencySet, Set<Artifact>>() );
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
-        mm.replayAll();
-
-        final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
-
-        createPhase( logger, macTask.dependencyResolver, null ).addModuleBinaries( null, null, binaries, projects,
-                                                                                   macTask.archiver,
-                                                                                   configSource );
+        this.phase.addModuleBinaries( null, null, binaries, projects, archiver, configSource );
 
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource, atLeastOnce() ).getFinalName();
         verify( configSource, atLeastOnce() ).getMavenSession();
         verify( configSource, atLeastOnce() ).getProject();
 
-        mm.verifyAll();
+        verify( archiver ).addFile( artifactFile, "out/artifact", 511 );
+        verify( archiver, atLeastOnce() ).getDestFile();
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
+        verify( archiver ).setFileMode( 511 );
+        verify( archiver ).setFileMode( 146 );
+
+        verify( dependencyResolver ).resolveDependencySets( isNull( Assembly.class ), 
+                                                            isNull( ModuleSet.class ),
+                                                            eq( configSource ), 
+                                                            anyListOf( DependencySet.class ) );
     }
 
     @Test
     public void testAddModuleBinaries_ShouldFailWhenOneModuleDoesntHaveAttachmentWithMatchingClassifier()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
-        
         Artifact artifact = mock( Artifact.class );
 
         final ModuleBinaries binaries = new ModuleBinaries();
@@ -475,14 +434,10 @@ public class ModuleSetAssemblyPhaseTest
 
         final Set<MavenProject> projects = singleton( project );
 
-        mm.replayAll();
-
-        final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
-
         try
         {
-            createPhase( logger, null ).addModuleBinaries( null, null, binaries, projects, macTask.archiver,
-                                                           null );
+            
+            this.phase.addModuleBinaries( null, null, binaries, projects, null, null );
 
             fail( "Should throw an invalid configuration exception because of module with missing attachment." );
         }
@@ -492,18 +447,12 @@ public class ModuleSetAssemblyPhaseTest
                 + "Please exclude this module from the module-set.", e.getMessage());
             // should throw this because of missing attachment.
         }
-
-        mm.verifyAll();
     }
 
     @Test
     public void testAddModuleBinaries_ShouldAddOneModuleArtifactAndNoDeps()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
-
         Artifact artifact = mock( Artifact.class );
         final File artifactFile = temporaryFolder.newFile();
         when( artifact.getFile() ).thenReturn( artifactFile );
@@ -511,14 +460,10 @@ public class ModuleSetAssemblyPhaseTest
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
         when( configSource.getFinalName() ).thenReturn( "final-name" );
         
-        macTask.expectGetDestFile( new File( "junk" ) );
-        macTask.expectAddFile( artifactFile, "out/artifact",
-                               TypeConversionUtils.modeToInt( "777",
-                                                              new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) ) );
-        expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
-        expect( macTask.archiver.getOverrideFileMode() ).andReturn( 0222 );
-        macTask.archiver.setFileMode( anyInt() );
-        org.easymock.EasyMock.expectLastCall().times( 2 );
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getDestFile() ).thenReturn( new File( "junk" ) );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( 0222 );
+        when( archiver.getOverrideFileMode() ).thenReturn( 0222 );
 
         final ModuleBinaries binaries = new ModuleBinaries();
 
@@ -533,23 +478,30 @@ public class ModuleSetAssemblyPhaseTest
 
         final Set<MavenProject> projects = singleton( project );
 
-        macTask.expectResolveDependencySets();
+        when( dependencyResolver.resolveDependencySets( isNull( Assembly.class ), 
+                                                        isNull( ModuleSet.class ),
+                                                        any( AssemblerConfigurationSource.class ),
+                                                        anyListOf( DependencySet.class ) ) ).thenReturn( new LinkedHashMap<DependencySet, Set<Artifact>>() );
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
-        mm.replayAll();
-
-        final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
-
-        createPhase( logger, macTask.dependencyResolver, null ).addModuleBinaries( null, null, binaries, projects,
-                                                                                   macTask.archiver,
-                                                                                   configSource );
+        this.phase.addModuleBinaries( null, null, binaries, projects, archiver, configSource );
 
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource, atLeastOnce() ).getFinalName();
         verify( configSource, atLeastOnce() ).getMavenSession();
         verify( configSource, atLeastOnce() ).getProject();
-
-        mm.verifyAll();
+        
+        verify( dependencyResolver ).resolveDependencySets( isNull( Assembly.class ), 
+                                                            isNull( ModuleSet.class ),
+                                                            any( AssemblerConfigurationSource.class ),
+                                                            anyListOf( DependencySet.class ) );
+
+        verify( archiver ).addFile( artifactFile, "out/artifact", 511 );
+        verify( archiver, atLeastOnce() ).getDestFile();
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
+        verify( archiver ).setFileMode( 511 );
+        verify( archiver ).setFileMode( 146);
     }
 
     @Test
@@ -559,8 +511,7 @@ public class ModuleSetAssemblyPhaseTest
         Artifact artifact = mock( Artifact.class );
         try
         {
-            createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ),
-                         null ).addModuleArtifact( artifact, null, null, null, null );
+            this.phase.addModuleArtifact( artifact, null, null, null, null );
 
             fail( "Expected ArchiveCreationException since artifact file is null." );
         }
@@ -574,10 +525,6 @@ public class ModuleSetAssemblyPhaseTest
     public void testAddModuleArtifact_ShouldAddOneArtifact()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
-
         Artifact artifact = mock( Artifact.class );
         final File artifactFile = temporaryFolder.newFile();
         when( artifact.getFile() ).thenReturn( artifactFile );
@@ -588,15 +535,10 @@ public class ModuleSetAssemblyPhaseTest
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
         when( configSource.getFinalName() ).thenReturn( "final-name" );
         
-        macTask.expectGetDestFile( new File( "junk" ) );
-        expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
-        expect( macTask.archiver.getOverrideFileMode() ).andReturn( 0222 );
-        macTask.archiver.setFileMode( anyInt() );
-        org.easymock.EasyMock.expectLastCall().times( 2 );
-
-        macTask.expectAddFile( artifactFile, "out/artifact",
-                               TypeConversionUtils.modeToInt( "777",
-                                                              new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) ) );
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getDestFile() ).thenReturn( new File( "junk" ) );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( 0222 );
+        when( archiver.getOverrideFileMode() ).thenReturn( 0222 );
 
         final ModuleBinaries binaries = new ModuleBinaries();
         binaries.setOutputDirectory( "out" );
@@ -605,36 +547,32 @@ public class ModuleSetAssemblyPhaseTest
         binaries.setFileMode( "777" );
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
-        mm.replayAll();
-
-        createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ),
-                     null ).addModuleArtifact( artifact, project, macTask.archiver,
-                                               configSource, binaries );
+        this.phase.addModuleArtifact( artifact, project, archiver, configSource, binaries );
 
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource, atLeastOnce() ).getFinalName();
         verify( configSource, atLeastOnce() ).getMavenSession();
         verify( configSource, atLeastOnce() ).getProject();
 
-        mm.verifyAll();
+        verify( archiver ).addFile( artifactFile, "out/artifact", 511 );
+        verify( archiver, atLeastOnce() ).getDestFile();
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
+        verify( archiver ).setFileMode( 511 );
+        verify( archiver ).setFileMode( 146 );
     }
 
     @Test
     public void testAddModuleSourceFileSets_ShouldReturnImmediatelyIfSourcesIsNull()
         throws Exception
     {
-        createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).addModuleSourceFileSets( null, null, null,
-                                                                                                      null );
+        this.phase.addModuleSourceFileSets( null, null, null, null );
     }
 
     @Test
     public void testAddModuleSourceFileSets_ShouldAddOneSourceDirectory()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final MockAndControlForAddFileSetsTask macTask = new MockAndControlForAddFileSetsTask( mm );
-
         final MavenProject project = createProject( "group", "artifact", "version", null );
 
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
@@ -644,34 +582,24 @@ public class ModuleSetAssemblyPhaseTest
 
         final Set<MavenProject> projects = singleton( project );
 
-        final ModuleSources sources = new ModuleSources();
-
         final FileSet fs = new FileSet();
         fs.setDirectory( "/src" );
         fs.setDirectoryMode( "777" );
         fs.setFileMode( "777" );
 
+        final ModuleSources sources = new ModuleSources();
         sources.addFileSet( fs );
 
-        final int mode = TypeConversionUtils.modeToInt( "777", new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
-        final int[] modes = { -1, -1, mode, mode };
-
         // the logger sends a debug message with this info inside the addFileSet(..) method..
-        if ( true )
-        {
-            expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( modes[0] );
-            expect( macTask.archiver.getOverrideFileMode() ).andReturn( modes[1] );
-        }
-        
-        
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( -1 );
+        when( archiver.getOverrideFileMode() ).thenReturn( -1 );
         
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
-        mm.replayAll();
-
-        final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
+        when( logger.isDebugEnabled() ).thenReturn( true );
 
-        createPhase( logger, null ).addModuleSourceFileSets( sources, projects, macTask.archiver,
+        this.phase.addModuleSourceFileSets( sources, projects, archiver,
                                                              configSource );
 
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
@@ -680,15 +608,14 @@ public class ModuleSetAssemblyPhaseTest
         verify( configSource, atLeastOnce() ).getProject();
         verify( configSource, atLeastOnce() ).getMavenSession();
 
-        mm.verifyAll();
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
     }
 
     @Test
     public void testGetModuleProjects_ShouldReturnNothingWhenReactorContainsOnlyCurrentProject()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
         final MavenProject project = createProject( "group", "artifact", "version", null );
 
         final List<MavenProject> projects = Collections.singletonList( project );
@@ -700,8 +627,6 @@ public class ModuleSetAssemblyPhaseTest
         final ModuleSet moduleSet = new ModuleSet();
         moduleSet.setIncludeSubModules( true );
 
-        mm.replayAll();
-
         final Set<MavenProject> moduleProjects =
             ModuleSetAssemblyPhase.getModuleProjects( moduleSet, configSource, logger );
 
@@ -710,16 +635,12 @@ public class ModuleSetAssemblyPhaseTest
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource ).getReactorProjects();
         verify( configSource, atLeastOnce() ).getProject();
-
-        mm.verifyAll();
     }
 
     @Test
     public void testGetModuleProjects_ShouldReturnNothingWhenReactorContainsTwoSiblingProjects()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
         final MavenProject project = createProject( "group", "artifact", "version", null );
         final MavenProject project2 = createProject( "group", "artifact2", "version", null );
 
@@ -734,8 +655,6 @@ public class ModuleSetAssemblyPhaseTest
         final ModuleSet moduleSet = new ModuleSet();
         moduleSet.setIncludeSubModules( true );
 
-        mm.replayAll();
-
         final Set<MavenProject> moduleProjects =
             ModuleSetAssemblyPhase.getModuleProjects( moduleSet, configSource, logger );
 
@@ -744,16 +663,12 @@ public class ModuleSetAssemblyPhaseTest
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource ).getReactorProjects();
         verify( configSource, atLeastOnce() ).getProject();
-
-        mm.verifyAll();
     }
 
     @Test
     public void testGetModuleProjects_ShouldReturnModuleOfCurrentProject()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
         final MavenProject project = createProject( "group", "artifact", "version", null );
         final MavenProject project2 = createProject( "group", "artifact2", "version", project );
 
@@ -768,8 +683,6 @@ public class ModuleSetAssemblyPhaseTest
         final ModuleSet moduleSet = new ModuleSet();
         moduleSet.setIncludeSubModules( true );
 
-        mm.replayAll();
-
         final Set<MavenProject> moduleProjects =
             ModuleSetAssemblyPhase.getModuleProjects( moduleSet, configSource, logger );
 
@@ -782,16 +695,12 @@ public class ModuleSetAssemblyPhaseTest
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource ).getReactorProjects();
         verify( configSource, atLeastOnce() ).getProject();
-
-        mm.verifyAll();
     }
 
     @Test
     public void testGetModuleProjects_ShouldReturnDescendentModulesOfCurrentProject()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
         final MavenProject project = createProject( "group", "artifact", "version", null );
         final MavenProject project2 = createProject( "group", "artifact2", "version", project );
         final MavenProject project3 = createProject( "group", "artifact3", "version", project2 );
@@ -808,8 +717,6 @@ public class ModuleSetAssemblyPhaseTest
         final ModuleSet moduleSet = new ModuleSet();
         moduleSet.setIncludeSubModules( true );
 
-        mm.replayAll();
-
         final Set<MavenProject> moduleProjects =
             ModuleSetAssemblyPhase.getModuleProjects( moduleSet, configSource, logger );
 
@@ -824,16 +731,12 @@ public class ModuleSetAssemblyPhaseTest
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource ).getReactorProjects();
         verify( configSource, atLeastOnce() ).getProject();
-
-        mm.verifyAll();
     }
 
     @Test
     public void testGetModuleProjects_ShouldExcludeModuleAndDescendentsTransitively()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
         final MavenProject project = createProject( "group", "artifact", "version", null );
 
         Artifact artifact1 = mock( Artifact.class );
@@ -870,8 +773,6 @@ public class ModuleSetAssemblyPhaseTest
 
         moduleSet.addExclude( "group:artifact2" );
 
-        mm.replayAll();
-
         final Set<MavenProject> moduleProjects =
             ModuleSetAssemblyPhase.getModuleProjects( moduleSet, configSource, logger );
 
@@ -880,8 +781,6 @@ public class ModuleSetAssemblyPhaseTest
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource ).getReactorProjects();
         verify( configSource, atLeastOnce() ).getProject();
-
-        mm.verifyAll();
     }
 
     private void verifyResultIs( final List<MavenProject> check, final Set<MavenProject> moduleProjects )
@@ -953,24 +852,4 @@ public class ModuleSetAssemblyPhaseTest
 
         return project;
     }
-
-    private ModuleSetAssemblyPhase createPhase( final Logger logger,
-                                                final MockAndControlForAddDependencySetsTask macTask )
-    {
-        ProjectBuilder projectBuilder = null;
-
-        if ( macTask != null )
-        {
-            projectBuilder = macTask.projectBuilder;
-        }
-
-        DependencyResolver dr = EasyMock.createMock( DependencyResolver.class );
-        return new ModuleSetAssemblyPhase( projectBuilder, dr, logger );
-    }
-
-    private ModuleSetAssemblyPhase createPhase( final Logger logger, DependencyResolver dr,
-                                                ProjectBuilder projectBuilder1 )
-    {
-        return new ModuleSetAssemblyPhase( projectBuilder1, dr, logger );
-    }
 }
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 830c1ca..74dd87f 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,12 +19,11 @@ package org.apache.maven.plugins.assembly.archive.phase;
  * under the License.
  */
 
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.expect;
-import static org.junit.Assert.fail;
+import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.atLeastOnce;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
 import static org.mockito.Mockito.when;
 
 import java.io.File;
@@ -34,20 +33,16 @@ import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
 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.utils.TypeConversionUtils;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.archiver.Archiver;
-import org.codehaus.plexus.archiver.ArchiverException;
 import org.codehaus.plexus.archiver.FileSet;
-import org.codehaus.plexus.archiver.util.DefaultFileSet;
 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;
-import org.easymock.classextension.EasyMockSupport;
+import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
@@ -60,45 +55,40 @@ public class RepositoryAssemblyPhaseTest
     @Rule
     public TemporaryFolder temporaryFolder = new TemporaryFolder();
     
+    private RepositoryAssemblyPhase phase;
+    
+    private RepositoryAssembler repositoryAssembler;
+    
+    @Before
+    public void setUp()
+    {
+        this.repositoryAssembler = mock( RepositoryAssembler.class );
+        this.phase = new RepositoryAssemblyPhase( repositoryAssembler );
+        this.phase.enableLogging( mock( Logger.class ) );
+    }
+    
     @Test
     public void testExecute_ShouldNotIncludeRepositoryIfNonSpecifiedInAssembly()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final MockAndControlForRepositoryAssembler macRepo = new MockAndControlForRepositoryAssembler( mm );
-        final MockAndControlForArchiver macArchiver = new MockAndControlForArchiver( mm );
-
-        final File tempRoot = temporaryFolder.getRoot();
-
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
-        when( configSource.getTemporaryRootDirectory() ).thenReturn( tempRoot );
+        when( configSource.getTemporaryRootDirectory() ).thenReturn( temporaryFolder.getRoot() );
 
         final Assembly assembly = new Assembly();
-
         assembly.setId( "test" );
 
-        mm.replayAll();
-
-        createPhase( macRepo.repositoryAssembler, new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) ).execute( assembly,
-                                                                                                             macArchiver.archiver,
-                                                                                                             configSource );
+        this.phase.execute( assembly, null, configSource );
         
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource, atLeastOnce() ).getTemporaryRootDirectory();
-
-        mm.verifyAll();
+        
+        verifyZeroInteractions( repositoryAssembler );
     }
 
     @Test
     public void testExecute_ShouldIncludeOneRepository()
         throws Exception
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final MockAndControlForRepositoryAssembler macRepo = new MockAndControlForRepositoryAssembler( mm );
-        final MockAndControlForArchiver macArchiver = new MockAndControlForArchiver( mm );
-
         final File tempRoot = temporaryFolder.getRoot();
 
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
@@ -110,31 +100,24 @@ public class RepositoryAssemblyPhaseTest
         when( configSource.getTemporaryRootDirectory() ).thenReturn( tempRoot );
 
         final Assembly assembly = new Assembly();
-
         assembly.setId( "test" );
 
         final Repository repo = new Repository();
-
         repo.setOutputDirectory( "out" );
         repo.setDirectoryMode( "777" );
         repo.setFileMode( "777" );
+        assembly.addRepository( repo );
 
         final int mode = TypeConversionUtils.modeToInt( "777", new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
 
-        final File outDir = new File( tempRoot, "out" );
-
-        macArchiver.expectModeChange( -1, -1, mode, mode, true );
-        macArchiver.expectAddDirectory( outDir, "out/", null, null );
-
-        macRepo.expectAssemble();
-
-        assembly.addRepository( repo );
+        final int defaultDirMode = -1;
+        final int defaultFileMode = -1;
 
-        mm.replayAll();
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( defaultDirMode );
+        when( archiver.getOverrideFileMode() ).thenReturn( defaultFileMode );
 
-        createPhase( macRepo.repositoryAssembler, new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) ).execute( assembly,
-                                                                                                             macArchiver.archiver,
-                                                                                                             configSource );
+        this.phase.execute( assembly, archiver, configSource );
 
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource ).getCommandLinePropsInterpolator();
@@ -144,90 +127,16 @@ public class RepositoryAssemblyPhaseTest
         verify( configSource ).getMavenSession();
         verify( configSource, atLeastOnce() ).getProject();
         verify( configSource, atLeastOnce() ).getTemporaryRootDirectory();
-
-        mm.verifyAll();
-    }
-
-    private RepositoryAssemblyPhase createPhase( final RepositoryAssembler repositoryAssembler, final Logger logger )
-    {
-        final RepositoryAssemblyPhase phase = new RepositoryAssemblyPhase( repositoryAssembler );
-        phase.enableLogging( logger );
-
-        return phase;
-    }
-
-    private final class MockAndControlForArchiver
-    {
-        final Archiver archiver;
-
-        public MockAndControlForArchiver( final EasyMockSupport mockManager )
-        {
-
-            archiver = mockManager.createMock( Archiver.class );
-        }
-
-        public void expectAddDirectory( final File outDir, final String location, final String[] includes,
-                                        final String[] excludes )
-        {
-            try
-            {
-                final DefaultFileSet fs = new DefaultFileSet();
-                fs.setDirectory( outDir );
-                fs.setPrefix( location );
-                fs.setIncludes( includes );
-                fs.setExcludes( excludes );
-
-                archiver.addFileSet( (FileSet) anyObject() );
-            }
-            catch ( final ArchiverException e )
-            {
-                fail( "Should never happen." );
-            }
-
-            EasyMock.expectLastCall().atLeastOnce();
-        }
-
-        void expectModeChange( final int defaultDirMode, final int defaultFileMode, final int dirMode,
-                               final int fileMode, final boolean expectTwoSets )
-        {
-            expect( archiver.getOverrideDirectoryMode() ).andReturn( defaultDirMode );
-
-            expect( archiver.getOverrideFileMode() ).andReturn( defaultFileMode );
-
-            if ( expectTwoSets )
-            {
-                archiver.setDirectoryMode( dirMode );
-                archiver.setFileMode( fileMode );
-            }
-
-            archiver.setDirectoryMode( defaultDirMode );
-            archiver.setFileMode( defaultFileMode );
-        }
-    }
-
-    private final class MockAndControlForRepositoryAssembler
-    {
-        final RepositoryAssembler repositoryAssembler;
-
-        MockAndControlForRepositoryAssembler( final EasyMockSupport mockManager )
-        {
-            repositoryAssembler = mockManager.createMock( RepositoryAssembler.class );
-        }
-
-        public void expectAssemble()
-        {
-            try
-            {
-                repositoryAssembler.buildRemoteRepository( (File) anyObject(), (RepositoryInfo) anyObject(),
-                                                           (RepositoryBuilderConfigSource) anyObject() );
-                EasyMock.expectLastCall().atLeastOnce();
-            }
-            catch ( final RepositoryAssemblyException e )
-            {
-                fail( "Should never happen" );
-            }
-
-        }
+        
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
+        verify( archiver ).setDirectoryMode( mode );
+        verify( archiver ).setFileMode( mode );
+        verify( archiver ).setDirectoryMode( defaultDirMode );
+        verify( archiver ).setFileMode( defaultFileMode );
+        verify( archiver ).addFileSet( any( FileSet.class ) );        
+
+        verify( repositoryAssembler ).buildRemoteRepository( any( File.class ), any( RepositoryInfo.class ),
+                                                             any( RepositoryBuilderConfigSource.class ) );
     }
-
 }
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 3e44596..a9b8af8 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
@@ -19,10 +19,9 @@ package org.apache.maven.plugins.assembly.archive.task;
  * under the License.
  */
 
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.expect;
-import static org.junit.Assert.fail;
+import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.isNull;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -38,16 +37,14 @@ import org.apache.maven.model.Model;
 import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
 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.MockAndControlForAddArtifactTask;
 import org.apache.maven.plugins.assembly.format.AssemblyFormattingException;
 import org.apache.maven.plugins.assembly.model.DependencySet;
 import org.apache.maven.plugins.assembly.utils.TypeConversionUtils;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.archiver.ArchivedFileSet;
-import org.codehaus.plexus.archiver.ArchiverException;
+import org.codehaus.plexus.archiver.Archiver;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;
-import org.easymock.classextension.EasyMockSupport;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Rule;
@@ -62,10 +59,6 @@ public class AddArtifactTaskTest
     @Rule
     public TemporaryFolder temporaryFolder = new TemporaryFolder();
 
-    private EasyMockSupport mockManager;
-
-    private MockAndControlForAddArtifactTask mac;
-    
     private MavenProject mainProject;
     
     private AssemblerConfigurationSource configSource;
@@ -74,8 +67,6 @@ public class AddArtifactTaskTest
     public void setUp()
         throws IOException
     {
-        mockManager = new EasyMockSupport();
-
         Model model = new Model();
         model.setGroupId( "group" );
         model.setArtifactId( "main" );
@@ -83,8 +74,6 @@ public class AddArtifactTaskTest
 
         this.mainProject = new MavenProject( model );
 
-        mac = new MockAndControlForAddArtifactTask( mockManager );
-        
         this.configSource = mock( AssemblerConfigurationSource.class );
         when( configSource.getFinalName() ).thenReturn( "final-name" );
     }
@@ -107,24 +96,25 @@ public class AddArtifactTaskTest
         File artifactFile = temporaryFolder.newFile();
         when( artifact.getFile() ).thenReturn( artifactFile );
 
-        expect( mac.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
-        expect( mac.archiver.getOverrideFileMode() ).andReturn( 0222 );
-        mac.expectGetDestFile( new File( "junk" ) );
-        mac.expectAddFile( artifactFile, outputLocation );
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( 0222 );
+        when( archiver.getOverrideFileMode() ).thenReturn( 0222 );
+        when( archiver.getDestFile() ).thenReturn( new File( "junk" ) );
         
         when( configSource.getProject() ).thenReturn( mainProject );
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, mainProject );
 
-        mockManager.replayAll();
-
         AddArtifactTask task = createTask( artifact );
 
-        task.execute( mac.archiver, configSource );
+        task.execute( archiver, configSource );
 
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource, atLeastOnce() ).getProject();
 
-        mockManager.verifyAll();
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
+        verify( archiver, atLeastOnce() ).getDestFile();
+        verify( archiver ).addFile( artifactFile, outputLocation );
     }
 
     @Test
@@ -143,17 +133,16 @@ public class AddArtifactTaskTest
         File artifactFile = temporaryFolder.newFile();
         when( artifact.getFile() ).thenReturn( artifactFile );
 
-        expect( mac.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
-        expect( mac.archiver.getOverrideFileMode() ).andReturn( 0222 );
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( 0222 );
+        when( archiver.getOverrideFileMode() ).thenReturn( 0222 );
+        when( archiver.getDestFile() ).thenReturn( new File( "junk" ) );
 
-        mac.expectGetDestFile( new File( "junk" ) );
-        mac.expectAddFile( artifactFile, outputDir + artifactId + "-" + version + "." + ext );
         when( configSource.getProject() ).thenReturn( mainProject );
+
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, mainProject );
-        mockManager.replayAll();
 
-        AddArtifactTask task =
-            new AddArtifactTask( artifact, new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null );
+        AddArtifactTask task = new AddArtifactTask( artifact, new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null );
         task.setOutputDirectory( outputDir );
         task.setFileNameMapping( new DependencySet().getOutputFileNameMapping() );
 
@@ -164,12 +153,15 @@ public class AddArtifactTaskTest
         MavenProject project = new MavenProject( model );
         task.setProject( project );
 
-        task.execute( mac.archiver, configSource );
+        task.execute( archiver, configSource );
 
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource, atLeastOnce() ).getProject();
-
-        mockManager.verifyAll();
+        
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
+        verify( archiver, atLeastOnce() ).getDestFile();
+        verify( archiver ).addFile( artifactFile, outputDir + artifactId + "-" + version + "." + ext );
     }
 
     private AddArtifactTask createTask( Artifact artifact )
@@ -185,75 +177,79 @@ public class AddArtifactTaskTest
     public void testShouldAddArchiveFileWithUnpack()
         throws ArchiveCreationException, AssemblyFormattingException, IOException
     {
-        mac.expectModeChange( -1, -1, -1, -1, 1 );
+        final int originalDirMode = -1;
+        final int originalFileMode = -1;
+
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getDestFile() ).thenReturn( new File( "junk" ) );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( originalDirMode );
+        when( archiver.getOverrideFileMode() ).thenReturn( originalFileMode );
+        
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, mainProject );
 
         Artifact artifact = mock( Artifact.class );
         when( artifact.getFile() ).thenReturn( temporaryFolder.newFile() );
         
-        mac.expectGetDestFile( new File( "junk" ) );
-        try
-        {
-            mac.archiver.addArchivedFileSet( (ArchivedFileSet) anyObject(), (Charset) anyObject() );
-        }
-        catch ( ArchiverException e )
-        {
-            fail( "Should never happen." );
-        }
-
-        mockManager.replayAll();
-
         AddArtifactTask task = createTask( artifact );
-
         task.setUnpack( true );
 
-        task.execute( mac.archiver, configSource );
-
-        mockManager.verifyAll();
+        task.execute( archiver, configSource );
+        
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( archiver ).addArchivedFileSet( any( ArchivedFileSet.class ), isNull( Charset.class ) );
+        verify( archiver, atLeastOnce() ).getDestFile();
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
     }
 
     @Test
     public void testShouldAddArchiveFileWithUnpackAndModes()
         throws ArchiveCreationException, AssemblyFormattingException, IOException
     {
-        int directoryMode = TypeConversionUtils.modeToInt( "777", new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
-        int fileMode = TypeConversionUtils.modeToInt( "777", new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
-
-        mac.expectModeChange( -1, -1, directoryMode, fileMode, 2 );
+        final int directoryMode = TypeConversionUtils.modeToInt( "777", new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
+        final int fileMode = TypeConversionUtils.modeToInt( "777", new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
+        final int originalDirMode = -1;
+        final int originalFileMode = -1;
+        
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getDestFile() ).thenReturn( new File( "junk" ) );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( originalDirMode );
+        when( archiver.getOverrideFileMode() ).thenReturn( originalFileMode );
+        
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, mainProject );
 
         Artifact artifact = mock( Artifact.class );
         when( artifact.getFile() ).thenReturn( temporaryFolder.newFile() );
-        
-        mac.expectGetDestFile( new File( "junk" ) );
-        try
-        {
-            mac.archiver.addArchivedFileSet( (ArchivedFileSet) anyObject(), (Charset) anyObject() );
-        }
-        catch ( ArchiverException e )
-        {
-            fail( "Should never happen." );
-        }
-
-        mockManager.replayAll();
 
         AddArtifactTask task = createTask( artifact );
-
         task.setUnpack( true );
-
         task.setDirectoryMode( directoryMode );
         task.setFileMode( fileMode );
 
-        task.execute( mac.archiver, configSource );
+        task.execute( archiver, configSource );
 
-        mockManager.verifyAll();
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( archiver ).addArchivedFileSet( any( ArchivedFileSet.class ), isNull( Charset.class ) );
+        verify( archiver, atLeastOnce() ).getDestFile();
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
+        verify( archiver ).setDirectoryMode( directoryMode );
+        verify( archiver ).setFileMode( fileMode );
+        verify( archiver ).setDirectoryMode( originalDirMode );
+        verify( archiver ).setFileMode( originalFileMode );
     }
 
     @Test
     public void testShouldAddArchiveFileWithUnpackIncludesAndExcludes()
         throws ArchiveCreationException, AssemblyFormattingException, IOException
     {
-        mac.expectModeChange( -1, -1, -1, -1, 1 );
+        final int originalDirMode = -1;
+        final int originalFileMode = -1;
+        
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( originalDirMode );
+        when( archiver.getOverrideFileMode() ).thenReturn( originalFileMode );
+        when( archiver.getDestFile() ).thenReturn( new File( "junk" ) );
 
         String[] includes = { "**/*.txt" };
         String[] excludes = { "**/README.txt" };
@@ -261,21 +257,19 @@ public class AddArtifactTaskTest
         Artifact artifact = mock( Artifact.class );
         when( artifact.getFile() ).thenReturn( temporaryFolder.newFile() );
 
-        mac.expectGetDestFile( new File( "junk" ) );
-        mac.expectAddArchivedFileSet();
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, mainProject );
 
-        mockManager.replayAll();
-
         AddArtifactTask task = createTask( artifact );
-
         task.setUnpack( true );
         task.setIncludes( Arrays.asList( includes ) );
         task.setExcludes( Arrays.asList( excludes ) );
 
-        task.execute( mac.archiver, configSource );
+        task.execute( archiver, configSource );
 
-        mockManager.verifyAll();
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( archiver ).addArchivedFileSet( any( ArchivedFileSet.class ), isNull( Charset.class ) );
+        verify( archiver, atLeastOnce() ).getDestFile();
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
     }
-
 }
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 e03ad81..654ffba 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
@@ -19,13 +19,14 @@ package org.apache.maven.plugins.assembly.archive.task;
  * under the License.
  */
 
-import static org.easymock.EasyMock.anyInt;
-import static org.easymock.EasyMock.expect;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
+import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.isNull;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -37,16 +38,18 @@ 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.archive.DefaultAssemblyArchiverTest;
-import org.apache.maven.plugins.assembly.archive.task.testutils.MockAndControlForAddDependencySetsTask;
 import org.apache.maven.plugins.assembly.format.AssemblyFormattingException;
 import org.apache.maven.plugins.assembly.model.DependencySet;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuilder;
 import org.apache.maven.project.ProjectBuildingException;
 import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.project.ProjectBuildingResult;
+import org.codehaus.plexus.archiver.ArchivedFileSet;
+import org.codehaus.plexus.archiver.Archiver;
+import org.codehaus.plexus.archiver.ArchiverException;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;
-import org.easymock.EasyMock;
-import org.easymock.classextension.EasyMockSupport;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
@@ -55,6 +58,7 @@ import org.mockito.junit.MockitoJUnitRunner;
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.charset.Charset;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Properties;
@@ -66,8 +70,6 @@ public class AddDependencySetsTaskTest
     @Rule
     public TemporaryFolder temporaryFolder = new TemporaryFolder();
 
-    private final EasyMockSupport mockManager = new EasyMockSupport();
-
     @Test
     public void testAddDependencySet_ShouldInterpolateDefaultOutputFileNameMapping()
         throws Exception
@@ -113,49 +115,54 @@ public class AddDependencySetsTaskTest
 
         depProject.setArtifact( depArtifact );
 
-        final MockAndControlForAddDependencySetsTask macTask =
-            new MockAndControlForAddDependencySetsTask( mockManager, mainProject );
-
-        macTask.expectBuildFromRepository( depProject );
+        ProjectBuildingResult pbr = mock( ProjectBuildingResult.class );
+        when( pbr.getProject() ).thenReturn( depProject );
+        
+        final ProjectBuilder projectBuilder = mock( ProjectBuilder.class );
+        when( projectBuilder.build( any( Artifact.class ), any( ProjectBuildingRequest.class ) ) ).thenReturn( pbr );
 
-        final MavenSession session = mockManager.createMock( MavenSession.class );
-        final ProjectBuildingRequest projectBuildingRequest = mockManager.createMock( ProjectBuildingRequest.class );
-        expect( session.getProjectBuildingRequest() ).andReturn( projectBuildingRequest );
-        expect( session.getExecutionProperties() ).andReturn( new Properties() ).times( 2 );
+        final MavenSession session = mock( MavenSession.class );
+        when( session.getProjectBuildingRequest() ).thenReturn( mock( ProjectBuildingRequest.class ) );
+        when( session.getExecutionProperties() ).thenReturn( new Properties() );
 
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
         when( configSource.getFinalName() ).thenReturn( mainAid + "-" + mainVer );
         when( configSource.getProject() ).thenReturn( mainProject );
         when( configSource.getMavenSession() ).thenReturn( session );
 
-        macTask.expectGetDestFile( new File( "junk" ) );
-        macTask.expectAddFile( newFile, outDir + depAid + "-" + depVer + "." + depExt, 10 );
-
-        macTask.archiver.setFileMode( anyInt() );
-        EasyMock.expectLastCall().times( 2 );
-        expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
-        expect( macTask.archiver.getOverrideFileMode() ).andReturn( 0222 );
-        macTask.archiver.setDirectoryMode( anyInt() );
-        EasyMock.expectLastCall().times( 2 );
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getDestFile() ).thenReturn( new File( "junk" ) );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( 0222 );
+        when( archiver.getOverrideFileMode() ).thenReturn( 0222 );
 
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, mainProject );
 
-        mockManager.replayAll();
-
         final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
         final AddDependencySetsTask task =
             new AddDependencySetsTask( Collections.singletonList( ds ), Collections.singleton( depArtifact ),
-                                       depProject, macTask.projectBuilder, logger );
+                                       depProject, projectBuilder, logger );
 
-        task.addDependencySet( ds, macTask.archiver, configSource );
+        task.addDependencySet( ds, archiver, configSource );
         
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource ).getFinalName();
         verify( configSource, atLeastOnce() ).getMavenSession();
         verify( configSource, atLeastOnce() ).getProject();
-
-        mockManager.verifyAll();
+        
+        verify( archiver, atLeastOnce() ).getDestFile();
+        verify( archiver ).addFile( newFile, outDir + depAid + "-" + depVer + "." + depExt, 10 );
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
+        verify( archiver ).setDirectoryMode( 10 );
+        verify( archiver ).setDirectoryMode( 146 );
+        verify( archiver ).setFileMode( 10 );
+        verify( archiver ).setFileMode( 146 );
+
+        verify( session ).getProjectBuildingRequest();
+        verify( session, times( 2 ) ).getExecutionProperties();
+        
+        verify( projectBuilder ).build( any( Artifact.class ), any( ProjectBuildingRequest.class ) );
     }
 
     @Test
@@ -164,22 +171,15 @@ public class AddDependencySetsTaskTest
     {
         final MavenProject project = new MavenProject( new Model() );
 
-        final MockAndControlForAddDependencySetsTask macTask =
-            new MockAndControlForAddDependencySetsTask( mockManager );
-
         final DependencySet ds = new DependencySet();
         ds.setOutputDirectory( "/out" );
 
-        mockManager.replayAll();
-
         final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
         final AddDependencySetsTask task =
-            new AddDependencySetsTask( Collections.singletonList( ds ), null, project, macTask.projectBuilder, logger );
+            new AddDependencySetsTask( Collections.singletonList( ds ), null, project, null, logger );
 
         task.addDependencySet( ds, null, null );
-
-        mockManager.verifyAll();
     }
 
     // TODO: Find a better way of testing the project-stubbing behavior when a ProjectBuildingException takes place.
@@ -191,9 +191,6 @@ public class AddDependencySetsTaskTest
 
         final ProjectBuildingException pbe = new ProjectBuildingException( "test", "Test error.", new Throwable() );
 
-        final MockAndControlForAddDependencySetsTask macTask =
-            new MockAndControlForAddDependencySetsTask( mockManager, project );
-
         final String aid = "test-dep";
         final String version = "2.0-SNAPSHOT";
         final String type = "jar";
@@ -210,52 +207,56 @@ public class AddDependencySetsTaskTest
 
         final File destFile = new File( "assembly-dep-set.zip" );
 
-        macTask.expectGetDestFile( destFile );
-        macTask.expectBuildFromRepository( pbe );
-        final MavenSession session = mockManager.createMock( MavenSession.class );
-        final ProjectBuildingRequest projectBuildingRequest = mockManager.createMock( ProjectBuildingRequest.class );
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getDestFile() ).thenReturn( destFile );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( 0222 );
+        when( archiver.getOverrideFileMode() ).thenReturn( 0222 );
 
-        expect( session.getProjectBuildingRequest() ).andReturn( projectBuildingRequest );
-        expect( session.getExecutionProperties() ).andReturn( new Properties() ).times( 2 );
+        final ProjectBuilder projectBuilder = mock( ProjectBuilder.class );
+        when( projectBuilder.build( any(Artifact.class), any(ProjectBuildingRequest.class) ) ).thenThrow( pbe );
+        
+        final MavenSession session = mock( MavenSession.class );
+        when( session.getProjectBuildingRequest() ).thenReturn( mock( ProjectBuildingRequest.class ) );
+        when( session.getExecutionProperties() ).thenReturn( new Properties() );
 
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
         when( configSource.getFinalName() ).thenReturn( "final-name" );
         when( configSource.getMavenSession() ).thenReturn( session );
         when( configSource.getProject() ).thenReturn( project );
         
-        macTask.expectAddFile( file, "out/" + aid + "-" + version + "." + type );
-
-        expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
-        expect( macTask.archiver.getOverrideFileMode() ).andReturn( 0222 );
 
         final DependencySet ds = new DependencySet();
         ds.setOutputDirectory( "/out" );
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
-        mockManager.replayAll();
-
         final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
         final AddDependencySetsTask task =
             new AddDependencySetsTask( Collections.singletonList( ds ), Collections.singleton( depArtifact ),
-                                       project, macTask.projectBuilder, logger );
+                                       project, projectBuilder, logger );
 
-        task.addDependencySet( ds, macTask.archiver, configSource );
+        task.addDependencySet( ds, archiver, configSource );
 
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource ).getFinalName();
         verify( configSource, atLeastOnce() ).getMavenSession();
         verify( configSource, atLeastOnce() ).getProject();
+        
+        verify( archiver ).addFile( file, "out/" + aid + "-" + version + "." + type );
+        verify( archiver, atLeastOnce() ).getDestFile();
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
+
+        verify( session ).getProjectBuildingRequest();
+        verify( session, times( 2 ) ).getExecutionProperties();
 
-        mockManager.verifyAll();
+        verify( projectBuilder ).build( any(Artifact.class), any(ProjectBuildingRequest.class) );
     }
 
     @Test
     public void testAddDependencySet_ShouldAddOneDependencyFromProjectWithoutUnpacking()
-        throws AssemblyFormattingException, ArchiveCreationException, IOException,
-        InvalidAssemblerConfigurationException
+        throws Exception
     {
-        
         verifyOneDependencyAdded( "out", false );
     }
 
@@ -267,8 +268,8 @@ public class AddDependencySetsTaskTest
     }
 
     private void verifyOneDependencyAdded( final String outputLocation, final boolean unpack )
-        throws AssemblyFormattingException, ArchiveCreationException, IOException,
-        InvalidAssemblerConfigurationException
+        throws AssemblyFormattingException, ArchiverException, ArchiveCreationException, IOException,
+        InvalidAssemblerConfigurationException, ProjectBuildingException
     {
         final MavenProject project = new MavenProject( new Model() );
 
@@ -281,13 +282,9 @@ public class AddDependencySetsTaskTest
         ds.setDirectoryMode( Integer.toString( 10, 8 ) );
         ds.setFileMode( Integer.toString( 10, 8 ) );
 
-        final MockAndControlForAddDependencySetsTask macTask =
-            new MockAndControlForAddDependencySetsTask( mockManager, project );
-        
-        final MavenSession session = mockManager.createMock( MavenSession.class );
-        final ProjectBuildingRequest projectBuildingRequest = mockManager.createMock( ProjectBuildingRequest.class );
-
-        expect( session.getProjectBuildingRequest() ).andReturn( projectBuildingRequest );
+        final MavenSession session = mock( MavenSession.class );
+        when( session.getProjectBuildingRequest() ).thenReturn( mock( ProjectBuildingRequest.class ) );
+        when( session.getExecutionProperties() ).thenReturn( new Properties() );
 
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
         when( configSource.getMavenSession() ).thenReturn( session );
@@ -297,52 +294,65 @@ public class AddDependencySetsTaskTest
         final File artifactFile = temporaryFolder.newFile();
         when( artifact.getFile() ).thenReturn( artifactFile );
 
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getDestFile() ).thenReturn( new File( "junk" ) );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( 0222 );
+        when( archiver.getOverrideFileMode() ).thenReturn( 0222 );
+
         if ( unpack )
         {
-            macTask.expectAddArchivedFileSet();
-            expect( session.getExecutionProperties() ).andReturn( new Properties() );
+            
         }
         else
         {
-            expect( session.getExecutionProperties() ).andReturn( new Properties() ).times( 2 );
             when( configSource.getProject() ).thenReturn( project );
-            macTask.expectAddFile( artifactFile, outputLocation + "/artifact", 10 );
         }
 
-        macTask.expectGetDestFile( new File( "junk" ) );
 
         final MavenProject depProject = new MavenProject( new Model() );
 
-        macTask.expectBuildFromRepository( depProject );
-        macTask.archiver.setFileMode( anyInt() );
-        EasyMock.expectLastCall().times( 2 );
-        expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
-        expect( macTask.archiver.getOverrideFileMode() ).andReturn( 0222 );
-        macTask.archiver.setDirectoryMode( anyInt() );
-        EasyMock.expectLastCall().times( 2 );
+        ProjectBuildingResult pbr = mock( ProjectBuildingResult.class );
+        when( pbr.getProject() ).thenReturn( depProject );
+        
+        final ProjectBuilder projectBuilder = mock( ProjectBuilder.class );
+        when( projectBuilder.build( any( Artifact.class ), any( ProjectBuildingRequest.class ) ) ).thenReturn( pbr );
 
         final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
         final AddDependencySetsTask task = new AddDependencySetsTask( Collections.singletonList( ds ),
                                                                       Collections.singleton(
                                                                           artifact ), project,
-                                                                      macTask.projectBuilder, logger );
+                                                                      projectBuilder, logger );
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
-        mockManager.replayAll();
-
-        task.addDependencySet( ds, macTask.archiver, configSource );
+        task.addDependencySet( ds, archiver, configSource );
 
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource ).getFinalName();
         verify( configSource, atLeastOnce() ).getMavenSession();
         
-        if ( !unpack )
+        verify( archiver, atLeastOnce() ).getDestFile();
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
+        verify( archiver ).setFileMode( 10 );
+        verify( archiver ).setFileMode( 146 );
+        verify( archiver ).setDirectoryMode( 10 );
+        verify( archiver ).setDirectoryMode( 146 );
+        
+        verify( session ).getProjectBuildingRequest();
+        verify( session, atLeastOnce() ).getExecutionProperties();
+        
+        verify( projectBuilder ).build( any( Artifact.class ), any( ProjectBuildingRequest.class ) );
+        
+        if ( unpack )
         {
+            verify( archiver ).addArchivedFileSet( any( ArchivedFileSet.class ), isNull( Charset.class ) );
+        }
+        else
+        {
+            verify( archiver ).addFile( artifactFile, outputLocation + "/artifact", 10 );
             verify( configSource, atLeastOnce() ).getProject();
         }
-
-        mockManager.verifyAll();
     }
 
     @Test
@@ -351,9 +361,6 @@ public class AddDependencySetsTaskTest
     {
         final MavenProject project = new MavenProject( new Model() );
 
-        final MockAndControlForAddDependencySetsTask macTask =
-            new MockAndControlForAddDependencySetsTask( mockManager );
-
         Artifact artifact = mock( Artifact.class );
         project.setArtifacts( Collections.singleton( artifact ) );
 
@@ -361,20 +368,16 @@ public class AddDependencySetsTaskTest
 
         final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
-        mockManager.replayAll();
-
         final AddDependencySetsTask task = new AddDependencySetsTask( Collections.singletonList( dependencySet ),
                                                                       Collections.singleton(
                                                                       artifact ), project,
-                                                                      macTask.projectBuilder, logger );
+                                                                      null, logger );
 
         final Set<Artifact> result = task.resolveDependencyArtifacts( dependencySet );
 
         assertNotNull( result );
         assertEquals( 1, result.size() );
         assertSame( artifact, result.iterator().next() );
-
-        mockManager.verifyAll();
     }
 
     @Test
@@ -405,8 +408,6 @@ public class AddDependencySetsTaskTest
 
         final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
-        mockManager.replayAll();
-
         final AddDependencySetsTask task =
             new AddDependencySetsTask( Collections.singletonList( dependencySet ), artifacts, project, null, logger );
 
@@ -415,8 +416,6 @@ public class AddDependencySetsTaskTest
         assertNotNull( result );
         assertEquals( 1, result.size() );
         assertSame( am1, result.iterator().next() );
-
-        mockManager.verifyAll();
     }
 
     @Test
@@ -447,8 +446,6 @@ public class AddDependencySetsTaskTest
 
         final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
-        mockManager.replayAll();
-
         final AddDependencySetsTask task =
             new AddDependencySetsTask( Collections.singletonList( dependencySet ), artifacts, project, null, logger );
 
@@ -457,8 +454,6 @@ public class AddDependencySetsTaskTest
         assertNotNull( result );
         assertEquals( 1, result.size() );
         assertSame( am1, result.iterator().next() );
-
-        mockManager.verifyAll();
     }
 
 }
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 f41775d..11fcbd1 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
@@ -1,5 +1,6 @@
 package org.apache.maven.plugins.assembly.archive.task;
 
+
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -19,10 +20,16 @@ package org.apache.maven.plugins.assembly.archive.task;
  * under the License.
  */
 
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.io.File;
+import java.util.Collections;
+
 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;
@@ -30,46 +37,37 @@ import org.junit.rules.TemporaryFolder;
 import org.junit.runner.RunWith;
 import org.mockito.junit.MockitoJUnitRunner;
 
-import java.io.File;
-import java.util.Collections;
-
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.expect;
-import static org.junit.Assert.fail;
-
 @RunWith( MockitoJUnitRunner.class )
 public class AddDirectoryTaskTest
 {
     @Rule
     public TemporaryFolder temporaryFolder = new TemporaryFolder();
 
-    private EasyMockSupport mockManager;
-
     private Archiver archiver;
 
     @Before
     public void setUp()
     {
-        mockManager = new EasyMockSupport();
-
-        archiver = mockManager.createMock( Archiver.class );
+        this.archiver = mock( Archiver.class );
     }
 
     @Test
     public void testAddDirectory_ShouldNotAddDirectoryIfNonExistent()
         throws Exception
     {
-        File dir = new File( temporaryFolder.getRoot(), "non-existent." + System.currentTimeMillis() );
-
-        configureModeExpectations( -1, -1, -1, -1, false );
+        final int defaultDirMode = -1;
+        final int defaultFileMode = -1;
 
-        mockManager.replayAll();
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( defaultDirMode );
+        when( archiver.getOverrideFileMode() ).thenReturn( defaultFileMode );
 
-        AddDirectoryTask task = new AddDirectoryTask( dir );
+        AddDirectoryTask task = new AddDirectoryTask( new File( temporaryFolder.getRoot(), "non-existent" ) );
 
         task.execute( archiver );
 
-        mockManager.verifyAll();
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
     }
 
     @Test
@@ -77,121 +75,70 @@ public class AddDirectoryTaskTest
     public void testAddDirectory_ShouldAddDirectory()
         throws Exception
     {
-        File dir = temporaryFolder.getRoot();
-
-        try
-        {
-            archiver.addFileSet( (FileSet) anyObject() );
-        }
-        catch ( ArchiverException e )
-        {
-            fail( "Should never happen." );
-        }
-
-        configureModeExpectations( -1, -1, -1, -1, false );
-
-        mockManager.replayAll();
+        final int defaultDirMode = -1;
+        final int defaultFileMode = -1;
 
-        AddDirectoryTask task = new AddDirectoryTask( dir );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( defaultDirMode );
+        when( archiver.getOverrideFileMode() ).thenReturn( defaultFileMode );
 
+        AddDirectoryTask task = new AddDirectoryTask( temporaryFolder.getRoot() );
         task.setOutputDirectory( "dir" );
 
         task.execute( archiver );
 
-        mockManager.verifyAll();
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( archiver ).addFileSet( any( FileSet.class ) );
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
     }
 
     @Test
     public void testAddDirectory_ShouldAddDirectoryWithDirMode()
         throws Exception
     {
-        File dir = temporaryFolder.getRoot();
-
-        try
-        {
-            archiver.addFileSet( (FileSet) anyObject() );
-        }
-        catch ( ArchiverException e )
-        {
-            fail( "Should never happen." );
-        }
-
-        int dirMode = Integer.parseInt( "777", 8 );
-        int fileMode = Integer.parseInt( "777", 8 );
-
-        configureModeExpectations( -1, -1, dirMode, fileMode, true );
-
-        mockManager.replayAll();
-
-        AddDirectoryTask task = new AddDirectoryTask( dir );
-
+        final int dirMode = Integer.parseInt( "777", 8 );
+        final int fileMode = Integer.parseInt( "777", 8 );
+        final int defaultDirMode = -1;
+        final int defaultFileMode = -1;
+
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( defaultDirMode );
+        when( archiver.getOverrideFileMode() ).thenReturn( defaultFileMode );
+        
+        AddDirectoryTask task = new AddDirectoryTask( temporaryFolder.getRoot() );
         task.setDirectoryMode( dirMode );
         task.setFileMode( fileMode );
         task.setOutputDirectory( "dir" );
 
         task.execute( archiver );
-
-        mockManager.verifyAll();
+        
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( archiver ).addFileSet( any( FileSet.class ) );
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
+        verify( archiver ).setDirectoryMode( dirMode );
+        verify( archiver ).setFileMode( fileMode );
+        verify( archiver ).setDirectoryMode( defaultDirMode );
+        verify( archiver ).setFileMode( defaultFileMode );
     }
 
     @Test
     public void testAddDirectory_ShouldAddDirectoryWithIncludesAndExcludes()
         throws Exception
     {
-        File dir = temporaryFolder.getRoot();
-
-        try
-        {
-            archiver.addFileSet( (FileSet) anyObject() );
-        }
-        catch ( ArchiverException e )
-        {
-            fail( "Should never happen." );
-        }
-
-        configureModeExpectations( -1, -1, -1, -1, false );
-
-        mockManager.replayAll();
-
-        AddDirectoryTask task = new AddDirectoryTask( dir );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( -1 );
+        when( archiver.getOverrideFileMode() ).thenReturn( -1 );
 
+        AddDirectoryTask task = new AddDirectoryTask( temporaryFolder.getRoot() );
         task.setIncludes( Collections.singletonList( "**/*.txt" ) );
         task.setExcludes( Collections.singletonList( "**/README.txt" ) );
         task.setOutputDirectory( "dir" );
 
         task.execute( archiver );
 
-        mockManager.verifyAll();
-    }
-
-    private void configureModeExpectations( int defaultDirMode, int defaultFileMode, int dirMode, int fileMode,
-                                            boolean expectTwoSets )
-    {
-        expect( archiver.getOverrideDirectoryMode() ).andReturn( defaultDirMode );
-        expect( archiver.getOverrideFileMode() ).andReturn( defaultFileMode );
-
-        if ( expectTwoSets )
-        {
-            if ( dirMode > -1 )
-            {
-                archiver.setDirectoryMode( dirMode );
-            }
-
-            if ( fileMode > -1 )
-            {
-                archiver.setFileMode( fileMode );
-            }
-        }
-
-        if ( dirMode > -1 )
-        {
-            archiver.setDirectoryMode( defaultDirMode );
-        }
-
-        if ( fileMode > -1 )
-        {
-            archiver.setFileMode( defaultFileMode );
-        }
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( archiver ).addFileSet( any( FileSet.class ) );
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
     }
 
 }
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 df9042a..ee46b1b 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,12 +19,12 @@ package org.apache.maven.plugins.assembly.archive.task;
  * under the License.
  */
 
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.anyObject;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
+import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.atLeastOnce;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -35,14 +35,11 @@ import org.apache.maven.model.Model;
 import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
 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.model.FileSet;
 import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.archiver.Archiver;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;
-import org.easymock.EasyMock;
-import org.easymock.classextension.EasyMockSupport;
-import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
@@ -55,18 +52,6 @@ public class AddFileSetsTaskTest
     @Rule
     public TemporaryFolder temporaryFolder = new TemporaryFolder();
 
-    private EasyMockSupport mockManager;
-
-    private MockAndControlForAddFileSetsTask macTask;
-
-    @Before
-    public void setUp()
-    {
-        mockManager = new EasyMockSupport();
-
-        macTask = new MockAndControlForAddFileSetsTask( mockManager );
-    }
-
     @Test
     public void testGetFileSetDirectory_ShouldReturnAbsoluteSourceDir()
         throws Exception
@@ -138,49 +123,34 @@ public class AddFileSetsTaskTest
         throws Exception
     {
         final FileSet fs = new FileSet();
-
-        final String dirname = "dir";
-
-        fs.setDirectory( dirname );
+        fs.setDirectory( "dir" );
         fs.setOutputDirectory( "dir2" );
 
-        // ensure this exists, so the directory addition will proceed.
-        final File srcDir = new File( dirname );
-        srcDir.mkdirs();
-
-        final int[] modes = { -1, -1, -1, -1 };
-
         // the logger sends a debug message with this info inside the addFileSet(..) method..
-        if ( true )
-        {
-            expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( modes[0] );
-            expect( macTask.archiver.getOverrideFileMode() ).andReturn( modes[1] );
-        }
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( -1 );
+        when( archiver.getOverrideFileMode() ).thenReturn( -1 );
         
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
-        
-        macTask.expectModeChanges( modes, 1 );
-    
-        macTask.archiver.addFileSet( (org.codehaus.plexus.archiver.FileSet) anyObject() );
-        EasyMock.expectLastCall().atLeastOnce();
 
         final MavenProject project = new MavenProject( new Model() );
 
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
-        mockManager.replayAll();
 
         final AddFileSetsTask task = new AddFileSetsTask( new ArrayList<FileSet>() );
 
         task.setLogger( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
         task.setProject( project );
 
-        task.addFileSet( fs, macTask.archiver, configSource, null );
+        task.addFileSet( fs, archiver, configSource, null );
 
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource, atLeastOnce() ).getFinalName();
         verify( configSource, atLeastOnce() ).getMavenSession();
-
-        mockManager.verifyAll();
+        
+        verify( archiver, times( 2 ) ).getOverrideDirectoryMode();
+        verify( archiver, times( 2 ) ).getOverrideFileMode();
+        verify( archiver, atLeastOnce() ) .addFileSet( any( org.codehaus.plexus.archiver.FileSet.class ) );
     }
 
     @Test
@@ -188,9 +158,7 @@ public class AddFileSetsTaskTest
         throws Exception
     {
         final FileSet fs = new FileSet();
-
         final String dirname = "dir";
-
         fs.setDirectory( dirname );
 
         final File archiveBaseDir = temporaryFolder.newFolder();
@@ -199,39 +167,29 @@ public class AddFileSetsTaskTest
         final File srcDir = new File( archiveBaseDir, dirname );
         srcDir.mkdirs();
 
-        final int[] modes = { -1, -1, -1, -1 };
-
         // the logger sends a debug message with this info inside the addFileSet(..) method..
-        if ( true )
-        {
-            expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( modes[0] );
-            expect( macTask.archiver.getOverrideFileMode() ).andReturn( modes[1] );
-        }
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( -1 );
+        when( archiver.getOverrideFileMode() ).thenReturn( -1 );
         
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
-        
-        macTask.expectModeChanges( modes, 1 );
-    
-        macTask.archiver.addFileSet( (org.codehaus.plexus.archiver.FileSet) anyObject() );
-        EasyMock.expectLastCall().atLeastOnce();
 
         final MavenProject project = new MavenProject( new Model() );
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
-        mockManager.replayAll();
-
         final AddFileSetsTask task = new AddFileSetsTask( new ArrayList<FileSet>() );
-
         task.setLogger( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
         task.setProject( project );
 
-        task.addFileSet( fs, macTask.archiver, configSource, archiveBaseDir );
+        task.addFileSet( fs, archiver, configSource, archiveBaseDir );
 
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource, atLeastOnce() ).getFinalName();
         verify( configSource, atLeastOnce() ).getMavenSession();
-
-        mockManager.verifyAll();
+        
+        verify( archiver, times( 2 ) ).getOverrideDirectoryMode();
+        verify( archiver, times( 2 ) ).getOverrideFileMode();
+        verify( archiver ).addFileSet( any( org.codehaus.plexus.archiver.FileSet.class ) );
     }
 
     @Test
@@ -240,37 +198,32 @@ public class AddFileSetsTaskTest
     {
         final FileSet fs = new FileSet();
 
-        final String dirname = "dir";
-
-        fs.setDirectory( dirname );
-
+        fs.setDirectory( "dir" );
         final File archiveBaseDir = temporaryFolder.newFolder();
 
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
         when( configSource.getFinalName() ).thenReturn( "finalName" );
 
-        //macTask.expectGetProject( null );
-
-        expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( -1 );
-        expect( macTask.archiver.getOverrideFileMode() ).andReturn( -1 );
+        final Archiver archiver = mock( Archiver.class );
+        when( archiver.getOverrideDirectoryMode() ).thenReturn( -1 );
+        when( archiver.getOverrideFileMode() ).thenReturn( -1 );
 
         final MavenProject project = new MavenProject( new Model() );
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
-        mockManager.replayAll();
-
         final AddFileSetsTask task = new AddFileSetsTask( new ArrayList<FileSet>() );
 
         task.setLogger( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
         task.setProject( project );
 
-        task.addFileSet( fs, macTask.archiver, configSource, archiveBaseDir );
+        task.addFileSet( fs, archiver, configSource, archiveBaseDir );
 
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource, atLeastOnce() ).getFinalName();
         verify( configSource, atLeastOnce() ).getMavenSession();
 
-        mockManager.verifyAll();
+        verify( archiver ).getOverrideDirectoryMode();
+        verify( archiver ).getOverrideFileMode();
     }
 
     @Test
@@ -281,13 +234,11 @@ public class AddFileSetsTaskTest
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
         when( configSource.getArchiveBaseDirectory() ).thenReturn( archiveBaseDir );
 
-        mockManager.replayAll();
-
         final AddFileSetsTask task = new AddFileSetsTask( new ArrayList<FileSet>() );
 
         try
         {
-            task.execute( macTask.archiver, configSource );
+            task.execute( null, configSource );
 
             fail( "Should throw exception due to non-existent archiveBasedir location that was provided." );
         }
@@ -298,8 +249,6 @@ public class AddFileSetsTaskTest
 
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( configSource ).getArchiveBaseDirectory();
-
-        mockManager.verifyAll();
     }
 
     @Test
@@ -310,13 +259,11 @@ public class AddFileSetsTaskTest
         final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
         when( configSource.getArchiveBaseDirectory() ).thenReturn( archiveBaseDir );
 
-        mockManager.replayAll();
-
         final AddFileSetsTask task = new AddFileSetsTask( new ArrayList<FileSet>() );
 
         try
         {
-            task.execute( macTask.archiver, configSource );
+            task.execute( null, configSource );
 
             fail( "Should throw exception due to non-directory archiveBasedir location that was provided." );
         }
@@ -324,8 +271,6 @@ public class AddFileSetsTaskTest
         {
             // should do this, because it cannot use the provide archiveBasedir.
         }
-
-        mockManager.verifyAll();
         
         verify( configSource ).getArchiveBaseDirectory();
     }
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
deleted file mode 100644
index e7c969a..0000000
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package org.apache.maven.plugins.assembly.archive.task.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 junit.framework.Assert;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
-import org.apache.maven.plugins.assembly.artifact.DependencyResolutionException;
-import org.apache.maven.plugins.assembly.artifact.DependencyResolver;
-import org.apache.maven.plugins.assembly.model.Assembly;
-import org.apache.maven.plugins.assembly.model.DependencySet;
-import org.apache.maven.plugins.assembly.model.ModuleSet;
-import org.codehaus.plexus.archiver.ArchivedFileSet;
-import org.codehaus.plexus.archiver.Archiver;
-import org.codehaus.plexus.archiver.ArchiverException;
-import org.easymock.EasyMock;
-import org.easymock.classextension.EasyMockSupport;
-
-import java.io.File;
-import java.nio.charset.Charset;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Set;
-
-import static org.easymock.EasyMock.anyInt;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.expect;
-
-public class MockAndControlForAddArtifactTask
-{
-
-    public final Archiver archiver;
-
-    public final DependencyResolver dependencyResolver;
-
-    public MockAndControlForAddArtifactTask( final EasyMockSupport mockManager )
-    {
-        archiver = mockManager.createMock( Archiver.class );
-        dependencyResolver = mockManager.createMock( DependencyResolver.class );
-    }
-
-    public void expectGetDestFile( final File destFile )
-    {
-        expect( archiver.getDestFile() ).andReturn( destFile ).atLeastOnce();
-    }
-
-    public void expectAddArchivedFileSet()
-    {
-        try
-        {
-            archiver.addArchivedFileSet( (ArchivedFileSet) anyObject(), (Charset) anyObject() );
-            EasyMock.expectLastCall();
-
-        }
-        catch ( final ArchiverException e )
-        {
-            Assert.fail( "Should never happen." );
-        }
-    }
-
-    public void expectModeChange( final int originalDirMode, final int originalFileMode, final int dirMode,
-                                  final int fileMode, final int numberOfChanges )
-    {
-        expect( archiver.getOverrideDirectoryMode() ).andReturn( originalDirMode );
-        expect( archiver.getOverrideFileMode() ).andReturn( originalFileMode );
-
-        // one of the changes will occur below, when we restore the original mode.
-        if ( numberOfChanges > 1 )
-        {
-            for ( int i = 1; i < numberOfChanges; i++ )
-            {
-                if ( dirMode > -1 )
-                {
-                    archiver.setDirectoryMode( dirMode );
-                }
-
-                if ( fileMode > -1 )
-                {
-                    archiver.setFileMode( fileMode );
-                }
-            }
-        }
-
-        if ( dirMode > -1 )
-        {
-            archiver.setDirectoryMode( originalDirMode );
-        }
-
-        if ( fileMode > -1 )
-        {
-            archiver.setFileMode( originalFileMode );
-        }
-    }
-
-    public void expectAddFile( final File file, final String outputLocation, final int fileMode )
-    {
-        try
-        {
-            archiver.addFile( (File) anyObject(), (String) anyObject(), anyInt() );
-            EasyMock.expectLastCall();
-        }
-        catch ( final ArchiverException e )
-        {
-            Assert.fail( "Should never happen." );
-        }
-    }
-
-
-    public void expectAddFile( final File file, final String outputLocation )
-    {
-        try
-        {
-            archiver.addFile( file, outputLocation );
-            EasyMock.expectLastCall().atLeastOnce();
-        }
-        catch ( final ArchiverException e )
-        {
-            Assert.fail( "Should never happen." );
-        }
-    }
-
-    public void expectResolveDependencySets()
-        throws DependencyResolutionException
-    {
-        expect( dependencyResolver.resolveDependencySets( (Assembly) anyObject(), (ModuleSet) anyObject(),
-                                                          (AssemblerConfigurationSource) anyObject(),
-                                                          (List<DependencySet>) anyObject() ) ).andReturn(
-            new LinkedHashMap<DependencySet, Set<Artifact>>() );
-
-    }
-}
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java b/src/test/java/org/apache/maven/plugins/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java
deleted file mode 100644
index 7fd1068..0000000
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java
+++ /dev/null
@@ -1,231 +0,0 @@
-package org.apache.maven.plugins.assembly.archive.task.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 junit.framework.Assert;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.model.building.ModelProblem;
-import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
-import org.apache.maven.plugins.assembly.artifact.DependencyResolutionException;
-import org.apache.maven.plugins.assembly.artifact.DependencyResolver;
-import org.apache.maven.plugins.assembly.model.Assembly;
-import org.apache.maven.plugins.assembly.model.DependencySet;
-import org.apache.maven.project.DependencyResolutionResult;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuilder;
-import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.project.ProjectBuildingRequest;
-import org.apache.maven.project.ProjectBuildingResult;
-import org.codehaus.plexus.archiver.ArchivedFileSet;
-import org.codehaus.plexus.archiver.Archiver;
-import org.codehaus.plexus.archiver.ArchiverException;
-import org.codehaus.plexus.archiver.manager.ArchiverManager;
-import org.easymock.EasyMock;
-import org.easymock.classextension.EasyMockSupport;
-
-import java.io.File;
-import java.nio.charset.Charset;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Set;
-
-import static org.easymock.EasyMock.anyInt;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.expect;
-
-public class MockAndControlForAddDependencySetsTask
-{
-
-    public final Archiver archiver;
-
-    
-
-    public final ProjectBuilder projectBuilder;
-
-    public final ArchiverManager archiverManager;
-
-    public final DependencyResolver dependencyResolver;
-
-    public MockAndControlForAddDependencySetsTask( final EasyMockSupport mockManager )
-    {
-        this( mockManager, null );
-    }
-
-    public MockAndControlForAddDependencySetsTask( final EasyMockSupport mockManager, final MavenProject project )
-    {
-        archiver = mockManager.createMock( Archiver.class );
-
-        projectBuilder = mockManager.createMock( ProjectBuilder.class );
-
-        archiverManager = mockManager.createMock( ArchiverManager.class );
-
-        dependencyResolver = mockManager.createMock( DependencyResolver.class );
-    }
-
-    public void expectAddArchivedFileSet()
-    {
-        try
-        {
-            archiver.addArchivedFileSet( (ArchivedFileSet) anyObject(), (Charset) anyObject() );
-            EasyMock.expectLastCall();
-
-        }
-        catch ( final ArchiverException e )
-        {
-            Assert.fail( "Should never happen." );
-        }
-    }
-
-    public void expectModeChange( final int originalDirMode, final int originalFileMode, final int dirMode,
-                                  final int fileMode, final int numberOfChanges )
-    {
-        archiver.setFileMode( anyInt() );
-        EasyMock.expectLastCall();
-        expect( archiver.getOverrideDirectoryMode() ).andReturn( originalDirMode );
-        expect( archiver.getOverrideFileMode() ).andReturn( originalFileMode );
-        archiver.setDirectoryMode( anyInt() );
-        EasyMock.expectLastCall();
-        // one of the changes will occur below, when we restore the original mode.
-        if ( numberOfChanges > 1 )
-        {
-            for ( int i = 1; i < numberOfChanges; i++ )
-            {
-                archiver.setDirectoryMode( dirMode );
-                archiver.setFileMode( fileMode );
-            }
-        }
-
-        archiver.setDirectoryMode( originalDirMode );
-        archiver.setFileMode( originalFileMode );
-    }
-
-    public void expectAddFile( final File file, final String outputLocation )
-    {
-        try
-        {
-            archiver.addFile( file, outputLocation );
-        }
-        catch ( final ArchiverException e )
-        {
-            Assert.fail( "Should never happen." );
-        }
-    }
-
-    public void expectAddFile( final File file, final String outputLocation, final int fileMode )
-    {
-        try
-        {
-            archiver.addFile( file, outputLocation, fileMode );
-        }
-        catch ( final ArchiverException e )
-        {
-            Assert.fail( "Should never happen." );
-        }
-    }
-
-    public void expectAddAnyFile()
-    {
-        try
-        {
-            archiver.addFile( (File) anyObject(), (String) anyObject(), anyInt() );
-        }
-        catch ( final ArchiverException e )
-        {
-            Assert.fail( "Should never happen." );
-        }
-    }
-
-    public void expectGetDestFile( final File destFile )
-    {
-        expect( archiver.getDestFile() ).andReturn( destFile ).atLeastOnce();
-    }
-
-    public void expectBuildFromRepository( final ProjectBuildingException error )
-    {
-        try
-        {
-            expect( projectBuilder.build( (Artifact) anyObject(), (ProjectBuildingRequest) anyObject() ) ).andThrow(
-                error );
-//            projectBuilderCtl.setThrowable( error, MockControl.ONE_OR_MORE );
-        }
-        catch ( final ProjectBuildingException e )
-        {
-            Assert.fail( "should never happen" );
-        }
-    }
-
-    public void expectBuildFromRepository( final MavenProject project )
-    {
-        ProjectBuildingResult pbr = new ProjectBuildingResult()
-        {
-            @Override
-            public String getProjectId()
-            {
-                return null;
-            }
-
-            @Override
-            public File getPomFile()
-            {
-                return null;
-            }
-
-            @Override
-            public MavenProject getProject()
-            {
-                return project;
-            }
-
-            @Override
-            public List<ModelProblem> getProblems()
-            {
-                return null;
-            }
-
-            @Override
-            public DependencyResolutionResult getDependencyResolutionResult()
-            {
-                return null;
-            }
-        };
-
-        try
-        {
-            expect( projectBuilder.build( (Artifact) anyObject(), (ProjectBuildingRequest) anyObject() ) ).andReturn(
-                pbr );
-        }
-        catch ( final ProjectBuildingException e )
-        {
-            Assert.fail( "should never happen" );
-        }
-    }
-
-    public void expectResolveDependencySets()
-        throws DependencyResolutionException
-    {
-        expect( dependencyResolver.resolveDependencySets( (Assembly) anyObject(),
-                                                          (AssemblerConfigurationSource) anyObject(),
-                                                          (List<DependencySet>) anyObject() ) ).andReturn(
-            new LinkedHashMap<DependencySet, Set<Artifact>>() );
-
-    }
-
-
-}
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
deleted file mode 100644
index 9dd5f30..0000000
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/task/testutils/MockAndControlForAddFileSetsTask.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.apache.maven.plugins.assembly.archive.task.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.archiver.Archiver;
-import org.easymock.classextension.EasyMockSupport;
-
-import static org.easymock.EasyMock.expect;
-
-public class MockAndControlForAddFileSetsTask
-{
-    public final Archiver archiver;
-
-    public MockAndControlForAddFileSetsTask( EasyMockSupport mockManager )
-    {
-        
-        archiver = mockManager.createMock( Archiver.class );
-    }
-
-    public void expectModeChanges( int[] modes, int modeChangeCount )
-    {
-        expect( archiver.getOverrideDirectoryMode() ).andReturn( modes[0] );
-        expect( archiver.getOverrideFileMode() ).andReturn( modes[1] );
-
-        if ( modeChangeCount > 1 )
-        {
-            for ( int i = 1; i < modeChangeCount; i++ )
-            {
-                if ( modes[2] > -1 )
-                {
-                    archiver.setDirectoryMode( modes[2] );
-                }
-
-                if ( modes[3] > -1 )
-                {
-                    archiver.setFileMode( modes[3] );
-                }
-            }
-        }
-
-        if ( modes[2] > -1 )
-        {
-            archiver.setDirectoryMode( modes[0] );
-        }
-
-        if ( modes[3] > -1 )
-        {
-            archiver.setFileMode( modes[1] );
-        }
-    }
-
-}
diff --git a/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyInterpolatorTest.java b/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyInterpolatorTest.java
index 5ae020e..dfab534 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyInterpolatorTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyInterpolatorTest.java
@@ -19,9 +19,15 @@ package org.apache.maven.plugins.assembly.interpolation;
  * under the License.
  */
 
-import junit.framework.TestCase;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.execution.MavenSession;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.List;
+import java.util.Properties;
+
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Model;
 import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
@@ -35,17 +41,14 @@ import org.apache.maven.plugins.assembly.testutils.PojoConfigSource;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator;
 import org.codehaus.plexus.interpolation.fixed.PropertiesBasedValueSource;
-import org.easymock.classextension.EasyMockSupport;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.List;
-import java.util.Properties;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnitRunner;
 
+@RunWith( MockitoJUnitRunner.class )
 public class AssemblyInterpolatorTest
-    extends TestCase
 {
-
+    @Test
     public void testDependencySetOutputFileNameMappingsAreNotInterpolated()
         throws IOException, AssemblyInterpolationException, AssemblyReadException,
         InvalidAssemblerConfigurationException
@@ -84,6 +87,7 @@ public class AssemblyInterpolatorTest
         assertEquals( "${artifactId}.${packaging}", outputSet.getOutputFileNameMapping() );
     }
 
+    @Test
     public void testDependencySetOutputDirectoryIsNotInterpolated()
         throws IOException, AssemblyInterpolationException, AssemblyReadException,
         InvalidAssemblerConfigurationException
@@ -120,13 +124,14 @@ public class AssemblyInterpolatorTest
         assertEquals( "${artifactId}.${packaging}", outputSet.getOutputDirectory() );
     }
 
-    public Assembly roundTripInterpolation( Assembly assembly, AssemblerConfigurationSource configSource )
+    private Assembly roundTripInterpolation( Assembly assembly, AssemblerConfigurationSource configSource )
         throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
     {
         final StringReader stringReader = DefaultAssemblyReaderTest.writeToStringReader( assembly );
         return new DefaultAssemblyReader().readAssembly( stringReader, "testLocation", null, configSource );
     }
 
+    @Test
     public void testShouldResolveModelGroupIdInAssemblyId()
         throws AssemblyInterpolationException, InvalidAssemblerConfigurationException, AssemblyReadException,
         IOException
@@ -151,6 +156,7 @@ public class AssemblyInterpolatorTest
         assertEquals( "assembly.group.id", outputAssembly.getId() );
     }
 
+    @Test
     public void testShouldResolveModelPropertyBeforeModelGroupIdInAssemblyId()
         throws AssemblyInterpolationException, InvalidAssemblerConfigurationException, AssemblyReadException,
         IOException
@@ -182,9 +188,9 @@ public class AssemblyInterpolatorTest
         assertEquals( "assembly.other.id", result.getId() );
     }
 
+    @Test
     public void testShouldResolveContextValueBeforeModelPropertyOrModelGroupIdInAssemblyId()
-        throws AssemblyInterpolationException, InvalidAssemblerConfigurationException, AssemblyReadException,
-        IOException
+        throws Exception
     {
         final Model model = new Model();
         model.setArtifactId( "artifact-id" );
@@ -201,36 +207,23 @@ public class AssemblyInterpolatorTest
 
         assembly.setId( "assembly.${groupId}" );
 
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final MavenSession session = mm.createMock( MavenSession.class );
-
         final Properties execProps = new Properties();
         execProps.setProperty( "groupId", "still.another.id" );
 
-        final PojoConfigSource cs = new PojoConfigSource();
-
-        final ArtifactRepository lr = mm.createMock( ArtifactRepository.class );
-
-        cs.setLocalRepository( lr );
-        cs.setMavenSession( session );
-        cs.setRootInterpolator( FixedStringSearchInterpolator.create() );
-        cs.setEnvironmentInterpolator(
-            FixedStringSearchInterpolator.create( new PropertiesBasedValueSource( execProps ) ) );
-        cs.setEnvInterpolator( FixedStringSearchInterpolator.empty() );
-
-        mm.replayAll();
+        final AssemblerConfigurationSource cs = mock( AssemblerConfigurationSource.class );
+        when( cs.getRepositoryInterpolator() ).thenReturn( FixedStringSearchInterpolator.create() );
+        when( cs.getCommandLinePropsInterpolator() ).thenReturn( FixedStringSearchInterpolator.create( new PropertiesBasedValueSource( execProps ) ) );
+        when( cs.getEnvInterpolator() ).thenReturn( FixedStringSearchInterpolator.empty() );
 
         final MavenProject project = new MavenProject( model );
-        cs.setMavenProject( project );
+        when( cs.getProject() ) .thenReturn( project );
+
         final Assembly result = roundTripInterpolation( assembly, cs );
 
         assertEquals( "assembly.still.another.id", result.getId() );
-
-        mm.verifyAll();
-        mm.resetAll();
     }
 
+    @Test
     public void testShouldNotTouchUnresolvedExpression()
         throws AssemblyInterpolationException, InvalidAssemblerConfigurationException, AssemblyReadException,
         IOException
@@ -256,6 +249,7 @@ public class AssemblyInterpolatorTest
         assertEquals( "assembly.${unresolved}", result.getId() );
     }
 
+    @Test
     public void testShouldInterpolateMultiDotProjectExpression()
         throws AssemblyInterpolationException, InvalidAssemblerConfigurationException, AssemblyReadException,
         IOException
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 4fe72fb..40eb100 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
@@ -19,13 +19,12 @@ package org.apache.maven.plugins.assembly.utils;
  * 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 static org.mockito.Mockito.when;
 
 import java.util.Properties;
 
@@ -39,7 +38,6 @@ import org.apache.maven.plugins.assembly.archive.DefaultAssemblyArchiverTest;
 import org.apache.maven.plugins.assembly.format.AssemblyFormattingException;
 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;
@@ -47,9 +45,6 @@ import org.mockito.junit.MockitoJUnitRunner;
 @RunWith( MockitoJUnitRunner.class )
 public class AssemblyFormatUtilsTest
 {
-
-    private final EasyMockSupport mockManager = new EasyMockSupport();
-
     @Test
     public void testFixRelativePathRefs_ShouldRemoveRelativeRefToCurrentDir()
         throws Exception
@@ -352,8 +347,6 @@ public class AssemblyFormatUtilsTest
         when( cs.getMavenSession() ).thenReturn( session );
         DefaultAssemblyArchiverTest.setupInterpolators( cs, mainProject );
 
-        mockManager.replayAll();
-
         final String result =
             AssemblyFormatUtils.evaluateFileNameMapping( "${artifact.artifactId}-${artifact.baseVersion}",
                                                          artifact, mainProject, null, cs,
@@ -361,11 +354,6 @@ public class AssemblyFormatUtilsTest
                                                          AssemblyFormatUtils.artifactProjectInterpolator( artifactProject ) );
 
         assertEquals( "artifact-2-SNAPSHOT", result );
-
-        mockManager.verifyAll();
-
-        // clear out for next call.
-        mockManager.resetAll();
         
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( cs ).getMavenSession();
@@ -693,8 +681,6 @@ public class AssemblyFormatUtilsTest
         
         DefaultAssemblyArchiverTest.setupInterpolators( cs, mainProject );
 
-        mockManager.replayAll();
-
         final String result =
             AssemblyFormatUtils.evaluateFileNameMapping( expression, artifactMock, mainProject,
                                                          moduleArtifactMock, cs,
@@ -703,11 +689,6 @@ public class AssemblyFormatUtilsTest
 
         assertEquals( checkValue, result );
 
-        mockManager.verifyAll();
-
-        // clear out for next call.
-        mockManager.resetAll();
-
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( cs ).getMavenSession();
     }
@@ -799,20 +780,13 @@ public class AssemblyFormatUtilsTest
         
         DefaultAssemblyArchiverTest.setupInterpolators( cs, mainProject );
 
-        String result;
-
-        mockManager.replayAll();
-        result =
+        String result =
             AssemblyFormatUtils.getOutputDirectory( outDir, finalName, cs,
                                                     AssemblyFormatUtils.moduleProjectInterpolator( moduleProject ),
                                                     AssemblyFormatUtils.artifactProjectInterpolator( artifactProject ) );
 
         assertEquals( checkValue, result );
 
-        mockManager.verifyAll();
-
-        mockManager.resetAll();
-
         // result of easymock migration, should be assert of expected result instead of verifying methodcalls
         verify( cs ).getMavenSession();
     }


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

Posted by rf...@apache.org.
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();
-        }
     }
-
 }


[maven-assembly-plugin] 03/04: Migrate all AssemblerConfigurationSource to mockito

Posted by rf...@apache.org.
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 d84f30ee929abc856942af07fceaeee9371dd9a5
Author: rfscholte <rf...@apache.org>
AuthorDate: Sat Apr 25 11:30:26 2020 +0200

    Migrate all AssemblerConfigurationSource to mockito
---
 .../archive/DefaultAssemblyArchiverTest.java       | 206 +++++++++++----------
 .../phase/DependencySetAssemblyPhaseTest.java      |   7 +-
 .../archive/phase/FileSetAssemblyPhaseTest.java    |  29 +--
 .../archive/phase/ModuleSetAssemblyPhaseTest.java  | 159 ++++++++++------
 .../archive/phase/RepositoryAssemblyPhaseTest.java |  49 ++---
 .../assembly/archive/task/AddArtifactTaskTest.java |  27 ++-
 .../archive/task/AddDependencySetsTaskTest.java    |  52 ++++--
 .../assembly/archive/task/AddFileSetsTaskTest.java |  44 +++--
 .../artifact/DefaultDependencyResolverTest.java    |  30 +--
 .../AssemblyExpressionEvaluatorTest.java           |  41 ++--
 .../assembly/utils/AssemblyFormatUtilsTest.java    |  23 ++-
 11 files changed, 386 insertions(+), 281 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 da79304..8770006 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
@@ -28,7 +28,10 @@ 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.atLeastOnce;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import java.io.File;
@@ -37,14 +40,11 @@ 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;
 import org.apache.maven.plugins.assembly.InvalidAssemblerConfigurationException;
 import org.apache.maven.plugins.assembly.archive.phase.AssemblyArchiverPhase;
-import org.apache.maven.plugins.assembly.artifact.DependencyResolutionException;
 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.project.MavenProject;
@@ -90,13 +90,9 @@ public class DefaultAssemblyArchiverTest
 
     public static void setupInterpolators( AssemblerConfigurationSource configSource, MavenProject mavenProject )
     {
-//        when( configSource.getCommandLinePropsInterpolator() ).thenReturn( FixedStringSearchInterpolator.create() );
-//        when( configSource.getEnvInterpolator() ).thenReturn( FixedStringSearchInterpolator.create() );
-//        when( configSource.getMainProjectInterpolator() ).thenReturn( AbstractAssemblyMojo.mainProjectInterpolator( mavenProject ) );
-
-        expect( configSource.getCommandLinePropsInterpolator() ).andReturn( FixedStringSearchInterpolator.create() ).atLeastOnce();
-        expect( configSource.getEnvInterpolator() ).andReturn( FixedStringSearchInterpolator.create() ).atLeastOnce();
-        expect( configSource.getMainProjectInterpolator() ).andReturn( AbstractAssemblyMojo.mainProjectInterpolator( mavenProject ) ).atLeastOnce();
+        when( configSource.getCommandLinePropsInterpolator() ).thenReturn( FixedStringSearchInterpolator.create() );
+        when( configSource.getEnvInterpolator() ).thenReturn( FixedStringSearchInterpolator.create() );
+        when( configSource.getMainProjectInterpolator() ).thenReturn( AbstractAssemblyMojo.mainProjectInterpolator( mavenProject ) );
     }
 
     @Before
@@ -108,27 +104,23 @@ public class DefaultAssemblyArchiverTest
 
     @Test( expected = InvalidAssemblerConfigurationException.class )
     public void failWhenAssemblyIdIsNull()
-        throws ArchiveCreationException, AssemblyFormattingException, InvalidAssemblerConfigurationException
+        throws Exception
     {
         final EasyMockSupport mm = new EasyMockSupport();
 
         final MockAndControlForAssemblyArchiver macMgr = new MockAndControlForAssemblyArchiver( mm );
 
-        final AssemblerConfigurationSource configSource =
-            mm.createControl().createMock( AssemblerConfigurationSource.class );
-
         mm.replayAll();
 
         final DefaultAssemblyArchiver archiver = createSubject( macMgr, null, null );
-        archiver.createArchive( new Assembly(), "full-name", "zip", configSource, false, null, null );
+        archiver.createArchive( new Assembly(), "full-name", "zip", null, false, null, null );
 
         mm.verifyAll();
     }
 
     @Test
     public void testCreateArchive()
-        throws ArchiveCreationException, AssemblyFormattingException, InvalidAssemblerConfigurationException,
-        IOException, DependencyResolutionException
+        throws Exception
     {
         final EasyMockSupport mm = new EasyMockSupport();
 
@@ -140,15 +132,8 @@ public class DefaultAssemblyArchiverTest
 
         phase.execute( (Assembly) anyObject(), (Archiver) anyObject(), (AssemblerConfigurationSource) anyObject() );
 
-        final AssemblerConfigurationSource configSource =
-            mm.createControl().createMock( AssemblerConfigurationSource.class );
-
         final File tempDir = new File ( temporaryFolder.getRoot(), "temp" );
 
-        expect( configSource.getTemporaryRootDirectory() ).andReturn( tempDir );
-        expect( configSource.isDryRun() ).andReturn( false );
-        expect( configSource.isIgnoreDirFormatExtensions() ).andReturn( false );
-
         final File outDir = temporaryFolder.newFolder( "out" );
 
         macMgr.archiver.setDestFile( new File( outDir, "full-name.zip" ) );
@@ -162,43 +147,46 @@ public class DefaultAssemblyArchiverTest
             fail( "Should never happen" );
         }
 
-        expect( configSource.getOverrideUid() ).andReturn( 0 ).atLeastOnce();
-        expect( configSource.getOverrideUserName() ).andReturn( "root" ).atLeastOnce();
-        expect( configSource.getOverrideGid() ).andReturn( 0 ).atLeastOnce();
-        expect( configSource.getOverrideGroupName() ).andReturn( "root" ).atLeastOnce();
-        expect( configSource.getOutputDirectory() ).andReturn( outDir );
-        expect( configSource.getFinalName() ).andReturn( "finalName" );
-        expect( configSource.getArchiverConfig() ).andReturn( null );
-        expect( configSource.getWorkingDirectory() ).andReturn( new File( "." ) );
-        expect( configSource.isUpdateOnly() ).andReturn( false ).times( 2 );
-        expect( configSource.isIgnorePermissions() ).andReturn( false );
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getTemporaryRootDirectory() ).thenReturn( tempDir );
+        when( configSource.getOverrideUid() ).thenReturn( 0 );
+        when( configSource.getOverrideUserName() ).thenReturn( "root" );
+        when( configSource.getOverrideGid() ).thenReturn( 0 );
+        when( configSource.getOverrideGroupName() ).thenReturn( "root" );
+        when( configSource.getOutputDirectory() ).thenReturn( outDir );
+        when( configSource.getFinalName() ).thenReturn( "finalName" );
+        when( configSource.getWorkingDirectory() ).thenReturn( new File( "." ) );
 
         final Assembly assembly = new Assembly();
         assembly.setId( "id" );
 
-        // try
-        // {
-        //         expect( macMgr.dependencyResolver.resolve( (Assembly) anyObject(), (AssemblerConfigurationSource)
-        // anyObject() )).andReturn( new HashSet<Artifact>(  ) );
-//            macMgr.dependencyResolverControl.setMatcher( MockControl.ALWAYS_MATCHER );
-        //     }
-        //  catch ( final DependencyResolutionException e )
-        // {
-        //    fail( "Should never happen" );
-        // }
-
         mm.replayAll();
 
         final DefaultAssemblyArchiver subject = createSubject( macMgr, Collections.singletonList( phase ), null );
 
         subject.createArchive( assembly, "full-name", "zip", configSource, false, null, null );
+        
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource ).getArchiverConfig();
+        verify( configSource ).getFinalName();
+        verify( configSource ).getOutputDirectory();
+        verify( configSource, atLeastOnce() ).getOverrideUid();
+        verify( configSource, atLeastOnce() ).getOverrideUserName();
+        verify( configSource, atLeastOnce() ).getOverrideGid();
+        verify( configSource, atLeastOnce() ).getOverrideGroupName();
+        verify( configSource ).getTemporaryRootDirectory();
+        verify( configSource ).getWorkingDirectory();
+        verify( configSource ).isDryRun();
+        verify( configSource ).isIgnoreDirFormatExtensions();
+        verify( configSource ).isIgnorePermissions();
+        verify( configSource, times( 2 ) ).isUpdateOnly();
 
         mm.verifyAll();
     }
 
     @Test
     public void testCreateArchiver_ShouldConfigureArchiver()
-        throws NoSuchArchiverException, ArchiverException
+        throws Exception
     {
         final EasyMockSupport mm = new EasyMockSupport();
 
@@ -242,7 +230,7 @@ public class DefaultAssemblyArchiverTest
 
     @Test
     public void testCreateArchiver_ShouldCreateTarArchiverWithNoCompression()
-        throws NoSuchArchiverException, ArchiverException
+        throws Exception
     {
         final EasyMockSupport mm = new EasyMockSupport();
 
@@ -252,46 +240,42 @@ public class DefaultAssemblyArchiverTest
 
         macArchiverManager.expectGetArchiver( "tar", ttArchiver );
 
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
-
-        expect( configSource.getTarLongFileMode() ).andReturn( TarLongFileMode.fail.toString() );
-        expect( configSource.isDryRun() ).andReturn( false );
-
-        expect( configSource.getArchiverConfig() ).andReturn( null );
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getTarLongFileMode() ).thenReturn( TarLongFileMode.fail.toString() );
+        when( configSource.getWorkingDirectory() ).thenReturn( new File( "." ) );
+        when( configSource.isIgnorePermissions() ).thenReturn( true );
+        when( configSource.getOverrideUid() ).thenReturn( 0 );
+        when( configSource.getOverrideUserName() ).thenReturn( "root" );
+        when( configSource.getOverrideGid() ).thenReturn( 0 );
+        when( configSource.getOverrideGroupName() ).thenReturn( "root" );
+        
+        mm.replayAll();
 
-        final DefaultAssemblyArchiver subject = setupStdExpectations( mm, macArchiverManager, configSource );
+        final DefaultAssemblyArchiver subject = createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
 
         subject.createArchiver( "tar", false, "finalName", configSource, null, false, null, null );
 
         assertNull( ttArchiver.compressionMethod );
         assertEquals( TarLongFileMode.fail, ttArchiver.longFileMode );
 
-        mm.verifyAll();
-    }
-
-    private DefaultAssemblyArchiver setupStdExpectations( EasyMockSupport mm,
-                                                          MockAndControlForAssemblyArchiver macArchiverManager,
-                                                          AssemblerConfigurationSource configSource )
-    {
-        expect( configSource.getWorkingDirectory() ).andReturn( new File( "." ) );
-
-        expect( configSource.isUpdateOnly() ).andReturn( false ).times( 2 );
-
-        expect( configSource.isIgnorePermissions() ).andReturn( true );
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource ).getArchiverConfig();
+        verify( configSource, times( 2 ) ).getOverrideGid();
+        verify( configSource, times( 2 ) ).getOverrideGroupName();
+        verify( configSource, times( 2 ) ).getOverrideUid();
+        verify( configSource, times( 2 ) ).getOverrideUserName();
+        verify( configSource ).getTarLongFileMode();
+        verify( configSource ).getWorkingDirectory();
+        verify( configSource ).isDryRun();
+        verify( configSource ).isIgnorePermissions();
+        verify( configSource, times( 2 ) ).isUpdateOnly();
 
-        expect( configSource.getOverrideUid() ).andReturn( 0 ).times( 2 );
-        expect( configSource.getOverrideUserName() ).andReturn( "root" ).times( 2 );
-        expect( configSource.getOverrideGid() ).andReturn( 0 ).times( 2 );
-        expect( configSource.getOverrideGroupName() ).andReturn( "root" ).times( 2 );
-
-        mm.replayAll();
-
-        return createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
+        mm.verifyAll();
     }
 
     @Test
     public void testCreateArchiver_ShouldCreateWarArchiverWithIgnoreWebxmlSetToFalse()
-        throws NoSuchArchiverException, ArchiverException
+        throws Exception
     {
         final EasyMockSupport mm = new EasyMockSupport();
 
@@ -301,24 +285,42 @@ public class DefaultAssemblyArchiverTest
 
         macArchiverManager.expectGetArchiver( "war", twArchiver );
 
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
-
-        expect( configSource.isDryRun() ).andReturn( false );
-        expect( configSource.getArchiverConfig() ).andReturn( null );
-        expect( configSource.getMavenSession() ).andReturn( null );
-        expect( configSource.getProject() ).andReturn( new MavenProject( new Model() ) );
-        expect( configSource.getJarArchiveConfiguration() ).andReturn( null );
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getOverrideGid() ).thenReturn( 0 );
+        when( configSource.getOverrideGroupName() ).thenReturn( "root" );
+        when( configSource.getOverrideUid() ).thenReturn( 0 );
+        when( configSource.getOverrideUserName() ).thenReturn( "root" );
+        when( configSource.getProject() ).thenReturn( new MavenProject( new Model() ) );
+        when( configSource.getWorkingDirectory() ).thenReturn( new File( "." ) );
+        when( configSource.isIgnorePermissions() ).thenReturn( true );
+        
+        mm.replayAll();
         
-        final DefaultAssemblyArchiver subject = setupStdExpectations( mm, macArchiverManager, configSource );
+        final DefaultAssemblyArchiver subject = createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
 
         subject.createArchiver( "war", false, null, configSource, null, false, null, null );
 
         assertFalse( twArchiver.ignoreWebxml );
+        
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource ).getArchiverConfig();
+        verify( configSource ).getJarArchiveConfiguration();
+        verify( configSource ).getMavenSession();
+        verify( configSource, times( 2 ) ).getOverrideGid();
+        verify( configSource, times( 2 ) ).getOverrideGroupName();
+        verify( configSource, times( 2 ) ).getOverrideUid();
+        verify( configSource, times( 2 ) ).getOverrideUserName();
+        verify( configSource ).getProject();
+        verify( configSource ).getWorkingDirectory();
+        verify( configSource ).isDryRun();
+        verify( configSource ).isIgnorePermissions();
+        verify( configSource, times( 2 ) ).isUpdateOnly();
+
     }
 
     @Test
     public void testCreateArchiver_ShouldCreateZipArchiver()
-        throws NoSuchArchiverException, ArchiverException
+        throws Exception
     {
         final EasyMockSupport mm = new EasyMockSupport();
 
@@ -328,19 +330,13 @@ public class DefaultAssemblyArchiverTest
 
         macArchiverManager.expectGetArchiver( "zip", archiver );
 
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
-
-        expect( configSource.isDryRun() ).andReturn( false );
-        expect( configSource.getArchiverConfig() ).andReturn( null );
-        expect( configSource.getWorkingDirectory() ).andReturn( new File( "." ) );
-        expect( configSource.isUpdateOnly() ).andReturn( false ).times( 2 );
-        expect( configSource.getJarArchiveConfiguration() ).andReturn( null );
-        expect( configSource.isIgnorePermissions() ).andReturn( true );
-
-        expect( configSource.getOverrideUid() ).andReturn( 0 ).times( 2 );
-        expect( configSource.getOverrideUserName() ).andReturn( "root" ).times( 2 );
-        expect( configSource.getOverrideGid() ).andReturn( 0 ).times( 2 );
-        expect( configSource.getOverrideGroupName() ).andReturn( "root" ).times( 2 );
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getOverrideGid() ).thenReturn( 0 );
+        when( configSource.getOverrideGroupName() ).thenReturn( "root" );
+        when( configSource.getOverrideUid() ).thenReturn( 0 );
+        when( configSource.getOverrideUserName() ).thenReturn( "root" );
+        when( configSource.getWorkingDirectory() ).thenReturn( new File( "." ) );
+        when( configSource.isIgnorePermissions() ).thenReturn( true );
 
         mm.replayAll();
 
@@ -348,6 +344,17 @@ public class DefaultAssemblyArchiverTest
             createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
 
         subject.createArchiver( "zip", false, null, configSource, null, false, null, null );
+
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource ).getArchiverConfig();
+        verify( configSource, times( 2 ) ).getOverrideGid();
+        verify( configSource, times( 2 ) ).getOverrideGroupName();
+        verify( configSource, times( 2 ) ).getOverrideUid();
+        verify( configSource, times( 2 ) ).getOverrideUserName();
+        verify( configSource ).getWorkingDirectory();
+        verify( configSource ).isDryRun();
+        verify( configSource ).isIgnorePermissions();
+        verify( configSource, times( 2 ) ).isUpdateOnly();
     }
 
     @Test
@@ -634,11 +641,6 @@ public class DefaultAssemblyArchiverTest
 
         }
 
-        void expectGetDestFile( final File file )
-        {
-            expect( archiver.getDestFile() ).andReturn( file );
-        }
-
         void createArchiver( final Class<? extends Archiver> archiverClass )
         {
             archiver = mm.createControl().createMock( archiverClass );
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 93835b6..13e361a 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
@@ -78,8 +78,6 @@ public class DependencySetAssemblyPhaseTest
         final MockAndControlForAddDependencySetsTask macTask =
             new MockAndControlForAddDependencySetsTask( mm, project );
 
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
-
         project.setArtifacts( Collections.singleton( artifact ) );
 
         final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
@@ -89,7 +87,7 @@ public class DependencySetAssemblyPhaseTest
         mm.replayAll();
 
         createPhase( macTask, logger, macTask.dependencyResolver ).execute( assembly, macTask.archiver,
-                                                                            configSource );
+                                                                            null );
 
         mm.verifyAll();
     }
@@ -117,13 +115,12 @@ public class DependencySetAssemblyPhaseTest
         final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
         final MockAndControlForAddDependencySetsTask macTask = new MockAndControlForAddDependencySetsTask( mm, null );
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
 
         macTask.expectResolveDependencySets();
 
         mm.replayAll();
 
-        createPhase( macTask, logger, macTask.dependencyResolver ).execute( assembly, null, configSource );
+        createPhase( macTask, logger, macTask.dependencyResolver ).execute( assembly, null, null );
 
         mm.verifyAll();
     }
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 080b0ce..b9cfc0d 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
@@ -20,7 +20,9 @@ package org.apache.maven.plugins.assembly.archive.phase;
  */
 
 import static org.easymock.EasyMock.expect;
+import static org.mockito.Mockito.atLeastOnce;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import org.apache.maven.model.Model;
@@ -63,11 +65,10 @@ public class FileSetAssemblyPhaseTest
         assembly.setId( "test" );
 
         final MockAndControlForAddFileSetsTask macTask = new MockAndControlForAddFileSetsTask( mm );
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
 
         mm.replayAll();
 
-        this.phase.execute( assembly, macTask.archiver, configSource );
+        this.phase.execute( assembly, macTask.archiver, null );
 
         mm.verifyAll();
     }
@@ -90,9 +91,6 @@ public class FileSetAssemblyPhaseTest
         assembly.addFileSet( fs );
 
         final MockAndControlForAddFileSetsTask macTask = new MockAndControlForAddFileSetsTask( mm );
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
-
-        expect( configSource.getArchiveBaseDirectory() ).andReturn( null );
 
         final MavenProject project = new MavenProject( new Model() );
 
@@ -102,15 +100,12 @@ public class FileSetAssemblyPhaseTest
         final int[] modes = { -1, -1, dirMode, fileMode };
 
         // the logger sends a debug message with this info inside the addFileSet(..) method..
-        if ( true )
-        {
-            expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( modes[0] );
-            expect( macTask.archiver.getOverrideFileMode() ).andReturn( modes[1] );
-        }
-        
-        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
-        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
-        expect( configSource.getFinalName() ).andReturn( "final-name" ).atLeastOnce();
+        expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( modes[0] );
+        expect( macTask.archiver.getOverrideFileMode() ).andReturn( modes[1] );
+    
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getProject() ).thenReturn( project );
+        when( configSource.getFinalName() ).thenReturn( "final-name" );
         
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
@@ -118,6 +113,12 @@ public class FileSetAssemblyPhaseTest
 
         this.phase.execute( assembly, macTask.archiver, configSource );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource ).getArchiveBaseDirectory();
+        verify( configSource, atLeastOnce() ).getFinalName();
+        verify( configSource, atLeastOnce() ).getMavenSession();
+        verify( configSource, atLeastOnce() ).getProject();
+
         mm.verifyAll();
     }
 }
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 b459800..35073d7 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
@@ -26,8 +26,10 @@ 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.atLeastOnce;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.verify;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -139,11 +141,8 @@ public class ModuleSetAssemblyPhaseTest
 
         final MavenProject project = new MavenProject( model );
 
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
-
-        expect( configSource.getFinalName() ).andReturn( null ).atLeastOnce();
-        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
-        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getProject() ).thenReturn( project );
 
         final FileSet fs = new FileSet();
 
@@ -171,6 +170,11 @@ public class ModuleSetAssemblyPhaseTest
 
         assertEquals( "artifact/", result.getOutputDirectory() );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource, atLeastOnce() ).getFinalName();
+        verify( configSource, atLeastOnce() ).getMavenSession();
+        verify( configSource, atLeastOnce() ).getProject();
+
         mm.verifyAll();
     }
 
@@ -185,11 +189,8 @@ public class ModuleSetAssemblyPhaseTest
 
         final MavenProject project = new MavenProject( model );
 
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
-        
-        expect( configSource.getFinalName() ).andReturn( null ).atLeastOnce();
-        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
-        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getProject() ).thenReturn( project );
 
         final FileSet fs = new FileSet();
         fs.setOutputDirectory( "out" );
@@ -218,6 +219,11 @@ public class ModuleSetAssemblyPhaseTest
 
         assertEquals( "artifact/out/", result.getOutputDirectory() );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource, atLeastOnce() ).getFinalName();
+        verify( configSource, atLeastOnce() ).getMavenSession();
+        verify( configSource, atLeastOnce() ).getProject();
+
         mm.verifyAll();
     }
 
@@ -227,11 +233,7 @@ public class ModuleSetAssemblyPhaseTest
     {
         final EasyMockSupport mm = new EasyMockSupport();
 
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
-        
-        expect( configSource.getFinalName() ).andReturn( null ).atLeastOnce();
-        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
-        expect( configSource.getProject() ).andReturn( null ).atLeastOnce();
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
 
         final FileSet fs = new FileSet();
 
@@ -263,6 +265,11 @@ public class ModuleSetAssemblyPhaseTest
         assertEquals( 1, result.getExcludes().size() );
         assertEquals( "submodule/**", result.getExcludes().get( 0 ) );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource, atLeastOnce() ).getFinalName();
+        verify( configSource, atLeastOnce() ).getMavenSession();
+        verify( configSource, atLeastOnce() ).getProject();
+
         mm.verifyAll();
     }
 
@@ -285,7 +292,6 @@ public class ModuleSetAssemblyPhaseTest
         final MavenProject project = createProject( "group", "artifact", "version", null );
 
         final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
 
         final MavenProject module = createProject( "group", "module", "version", project );
 
@@ -298,9 +304,11 @@ public class ModuleSetAssemblyPhaseTest
 
         projects.add( module );
 
-        expect( configSource.getReactorProjects() ).andReturn( projects ).atLeastOnce();
-        expect( configSource.getFinalName() ).andReturn( "final-name" ).atLeastOnce();
-        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getReactorProjects() ).thenReturn( projects );
+        when( configSource.getFinalName() ).thenReturn( "final-name" );
+        when( configSource.getProject() ).thenReturn( project );
+        
         macTask.expectGetDestFile( new File( "junk" ) );
         expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( 0777 );
         expect( macTask.archiver.getOverrideFileMode() ).andReturn( 0777 );
@@ -331,7 +339,6 @@ public class ModuleSetAssemblyPhaseTest
         final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
         macTask.expectResolveDependencySets();
-        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, module );
 
         mm.replayAll();
@@ -339,6 +346,12 @@ public class ModuleSetAssemblyPhaseTest
         final ModuleSetAssemblyPhase phase = createPhase( logger, macTask.dependencyResolver, null );
         phase.execute( assembly, macTask.archiver, configSource );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource, atLeastOnce() ).getFinalName();
+        verify( configSource, atLeastOnce() ).getMavenSession();
+        verify( configSource, atLeastOnce() ).getProject();
+        verify( configSource, atLeastOnce() ).getReactorProjects();
+
         mm.verifyAll();
     }
 
@@ -356,7 +369,6 @@ public class ModuleSetAssemblyPhaseTest
         final EasyMockSupport mm = new EasyMockSupport();
 
         final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
 
         final ModuleBinaries binaries = new ModuleBinaries();
 
@@ -378,7 +390,7 @@ public class ModuleSetAssemblyPhaseTest
         createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).addModuleBinaries( null, null, binaries,
                                                                                                 projects,
                                                                                                 macTask.archiver,
-                                                                                                configSource );
+                                                                                                null );
 
         mm.verifyAll();
     }
@@ -390,16 +402,14 @@ public class ModuleSetAssemblyPhaseTest
         final EasyMockSupport mm = new EasyMockSupport();
 
         final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getFinalName() ).thenReturn( "final-name" );
 
         Artifact artifact = mock( Artifact.class );
         when( artifact.getClassifier() ).thenReturn( "test" );
         final File artifactFile = temporaryFolder.newFile();
         when( artifact.getFile() ).thenReturn( artifactFile );
 
-        expect( configSource.getFinalName() ).andReturn( "final-name" ).atLeastOnce();
-        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
-        expect( configSource.getProject() ).andReturn( null ).atLeastOnce();
         macTask.expectGetDestFile( new File( "junk" ) );
         expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
         expect( macTask.archiver.getOverrideFileMode() ).andReturn( 0222 );
@@ -434,6 +444,11 @@ public class ModuleSetAssemblyPhaseTest
                                                                                    macTask.archiver,
                                                                                    configSource );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource, atLeastOnce() ).getFinalName();
+        verify( configSource, atLeastOnce() ).getMavenSession();
+        verify( configSource, atLeastOnce() ).getProject();
+
         mm.verifyAll();
     }
 
@@ -444,7 +459,6 @@ public class ModuleSetAssemblyPhaseTest
         final EasyMockSupport mm = new EasyMockSupport();
 
         final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
         
         Artifact artifact = mock( Artifact.class );
 
@@ -468,7 +482,7 @@ public class ModuleSetAssemblyPhaseTest
         try
         {
             createPhase( logger, null ).addModuleBinaries( null, null, binaries, projects, macTask.archiver,
-                                                           configSource );
+                                                           null );
 
             fail( "Should throw an invalid configuration exception because of module with missing attachment." );
         }
@@ -489,15 +503,13 @@ public class ModuleSetAssemblyPhaseTest
         final EasyMockSupport mm = new EasyMockSupport();
 
         final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
 
         Artifact artifact = mock( Artifact.class );
         final File artifactFile = temporaryFolder.newFile();
         when( artifact.getFile() ).thenReturn( artifactFile );
 
-        expect( configSource.getFinalName() ).andReturn( "final-name" ).atLeastOnce();
-        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
-        expect( configSource.getProject() ).andReturn( null ).atLeastOnce();
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getFinalName() ).thenReturn( "final-name" );
         
         macTask.expectGetDestFile( new File( "junk" ) );
         macTask.expectAddFile( artifactFile, "out/artifact",
@@ -532,6 +544,11 @@ public class ModuleSetAssemblyPhaseTest
                                                                                    macTask.archiver,
                                                                                    configSource );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource, atLeastOnce() ).getFinalName();
+        verify( configSource, atLeastOnce() ).getMavenSession();
+        verify( configSource, atLeastOnce() ).getProject();
+
         mm.verifyAll();
     }
 
@@ -568,10 +585,8 @@ public class ModuleSetAssemblyPhaseTest
         final MavenProject project = createProject( "group", "artifact", "version", null );
         project.setArtifact( artifact );
 
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
-        expect( configSource.getFinalName() ).andReturn( "final-name" ).atLeastOnce();
-        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
-        expect( configSource.getProject() ).andReturn( null ).atLeastOnce();
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getFinalName() ).thenReturn( "final-name" );
         
         macTask.expectGetDestFile( new File( "junk" ) );
         expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
@@ -596,6 +611,11 @@ public class ModuleSetAssemblyPhaseTest
                      null ).addModuleArtifact( artifact, project, macTask.archiver,
                                                configSource, binaries );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource, atLeastOnce() ).getFinalName();
+        verify( configSource, atLeastOnce() ).getMavenSession();
+        verify( configSource, atLeastOnce() ).getProject();
+
         mm.verifyAll();
     }
 
@@ -617,10 +637,9 @@ public class ModuleSetAssemblyPhaseTest
 
         final MavenProject project = createProject( "group", "artifact", "version", null );
 
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
-        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
-        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
-
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getFinalName() ).thenReturn( "final-name" );
+        when( configSource.getProject() ).thenReturn( project );
         project.setArtifact( mock( Artifact.class ) );
 
         final Set<MavenProject> projects = singleton( project );
@@ -634,8 +653,6 @@ public class ModuleSetAssemblyPhaseTest
 
         sources.addFileSet( fs );
 
-        expect( configSource.getArchiveBaseDirectory() ).andReturn( null );
-
         final int mode = TypeConversionUtils.modeToInt( "777", new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
         final int[] modes = { -1, -1, mode, mode };
 
@@ -646,7 +663,7 @@ public class ModuleSetAssemblyPhaseTest
             expect( macTask.archiver.getOverrideFileMode() ).andReturn( modes[1] );
         }
         
-        expect( configSource.getFinalName() ).andReturn( "final-name" ).atLeastOnce();
+        
         
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
@@ -657,6 +674,12 @@ public class ModuleSetAssemblyPhaseTest
         createPhase( logger, null ).addModuleSourceFileSets( sources, projects, macTask.archiver,
                                                              configSource );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource ).getArchiveBaseDirectory();
+        verify( configSource, atLeastOnce() ).getFinalName();
+        verify( configSource, atLeastOnce() ).getProject();
+        verify( configSource, atLeastOnce() ).getMavenSession();
+
         mm.verifyAll();
     }
 
@@ -670,9 +693,9 @@ public class ModuleSetAssemblyPhaseTest
 
         final List<MavenProject> projects = Collections.singletonList( project );
 
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
-        expect( configSource.getReactorProjects() ).andReturn( projects );
-        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getProject() ).thenReturn( project );
+        when( configSource.getReactorProjects() ).thenReturn( projects );
 
         final ModuleSet moduleSet = new ModuleSet();
         moduleSet.setIncludeSubModules( true );
@@ -684,6 +707,10 @@ public class ModuleSetAssemblyPhaseTest
 
         assertTrue( moduleProjects.isEmpty() );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource ).getReactorProjects();
+        verify( configSource, atLeastOnce() ).getProject();
+
         mm.verifyAll();
     }
 
@@ -700,9 +727,9 @@ public class ModuleSetAssemblyPhaseTest
         projects.add( project );
         projects.add( project2 );
 
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
-        expect( configSource.getReactorProjects() ).andReturn( projects );
-        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getReactorProjects() ).thenReturn( projects );
+        when( configSource.getProject() ).thenReturn( project );
 
         final ModuleSet moduleSet = new ModuleSet();
         moduleSet.setIncludeSubModules( true );
@@ -714,6 +741,10 @@ public class ModuleSetAssemblyPhaseTest
 
         assertTrue( moduleProjects.isEmpty() );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource ).getReactorProjects();
+        verify( configSource, atLeastOnce() ).getProject();
+
         mm.verifyAll();
     }
 
@@ -730,9 +761,9 @@ public class ModuleSetAssemblyPhaseTest
         projects.add( project );
         projects.add( project2 );
 
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
-        expect( configSource.getReactorProjects() ).andReturn( projects );
-        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getReactorProjects() ).thenReturn( projects );
+        when( configSource.getProject() ).thenReturn( project );
 
         final ModuleSet moduleSet = new ModuleSet();
         moduleSet.setIncludeSubModules( true );
@@ -748,6 +779,10 @@ public class ModuleSetAssemblyPhaseTest
 
         assertEquals( "artifact2", result.getArtifactId() );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource ).getReactorProjects();
+        verify( configSource, atLeastOnce() ).getProject();
+
         mm.verifyAll();
     }
 
@@ -766,9 +801,9 @@ public class ModuleSetAssemblyPhaseTest
         projects.add( project2 );
         projects.add( project3 );
 
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
-        expect( configSource.getReactorProjects() ).andReturn( projects );
-        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getReactorProjects() ).thenReturn( projects );
+        when( configSource.getProject() ).thenReturn( project );
 
         final ModuleSet moduleSet = new ModuleSet();
         moduleSet.setIncludeSubModules( true );
@@ -786,6 +821,10 @@ public class ModuleSetAssemblyPhaseTest
 
         verifyResultIs( check, moduleProjects );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource ).getReactorProjects();
+        verify( configSource, atLeastOnce() ).getProject();
+
         mm.verifyAll();
     }
 
@@ -822,9 +861,9 @@ public class ModuleSetAssemblyPhaseTest
         projects.add( project2 );
         projects.add( project3 );
 
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
-        expect( configSource.getReactorProjects() ).andReturn( projects );
-        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getReactorProjects() ).thenReturn( projects );
+        when( configSource.getProject() ).thenReturn( project );
 
         final ModuleSet moduleSet = new ModuleSet();
         moduleSet.setIncludeSubModules( true );
@@ -838,6 +877,10 @@ public class ModuleSetAssemblyPhaseTest
 
         assertTrue( moduleProjects.isEmpty() );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource ).getReactorProjects();
+        verify( configSource, atLeastOnce() ).getProject();
+
         mm.verifyAll();
     }
 
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 db69778..830c1ca 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
@@ -22,6 +22,10 @@ package org.apache.maven.plugins.assembly.archive.phase;
 import static org.easymock.EasyMock.anyObject;
 import static org.easymock.EasyMock.expect;
 import static org.junit.Assert.fail;
+import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import java.io.File;
 
@@ -67,8 +71,8 @@ public class RepositoryAssemblyPhaseTest
 
         final File tempRoot = temporaryFolder.getRoot();
 
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
-        expect( configSource.getTemporaryRootDirectory() ).andReturn( tempRoot ).atLeastOnce();
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getTemporaryRootDirectory() ).thenReturn( tempRoot );
 
         final Assembly assembly = new Assembly();
 
@@ -79,6 +83,9 @@ public class RepositoryAssemblyPhaseTest
         createPhase( macRepo.repositoryAssembler, new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) ).execute( assembly,
                                                                                                              macArchiver.archiver,
                                                                                                              configSource );
+        
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource, atLeastOnce() ).getTemporaryRootDirectory();
 
         mm.verifyAll();
     }
@@ -94,16 +101,13 @@ public class RepositoryAssemblyPhaseTest
 
         final File tempRoot = temporaryFolder.getRoot();
 
-        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
-        expect( configSource.getMavenSession() ).andReturn( null );
-        expect( configSource.getTemporaryRootDirectory() ).andReturn( tempRoot ).atLeastOnce();
-        expect( configSource.getProject() ).andReturn( new MavenProject( new Model() ) ).atLeastOnce();
-        expect( configSource.getFinalName() ).andReturn( "final-name" ).atLeastOnce();
-        expect( configSource.getCommandLinePropsInterpolator() ).andReturn(
-            FixedStringSearchInterpolator.empty() );
-        expect( configSource.getEnvInterpolator() ).andReturn( FixedStringSearchInterpolator.empty() );
-        expect( configSource.getMainProjectInterpolator() ).andReturn(
-            FixedStringSearchInterpolator.empty() );
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getCommandLinePropsInterpolator() ).thenReturn( FixedStringSearchInterpolator.empty() );
+        when( configSource.getEnvInterpolator() ).thenReturn( FixedStringSearchInterpolator.empty() );
+        when( configSource.getFinalName() ).thenReturn( "final-name" );
+        when( configSource.getMainProjectInterpolator() ).thenReturn( FixedStringSearchInterpolator.empty() );
+        when( configSource.getProject() ).thenReturn( new MavenProject( new Model() ) );
+        when( configSource.getTemporaryRootDirectory() ).thenReturn( tempRoot );
 
         final Assembly assembly = new Assembly();
 
@@ -132,6 +136,15 @@ public class RepositoryAssemblyPhaseTest
                                                                                                              macArchiver.archiver,
                                                                                                              configSource );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource ).getCommandLinePropsInterpolator();
+        verify( configSource ).getEnvInterpolator();
+        verify( configSource, atLeastOnce() ).getFinalName();
+        verify( configSource ).getMainProjectInterpolator();
+        verify( configSource ).getMavenSession();
+        verify( configSource, atLeastOnce() ).getProject();
+        verify( configSource, atLeastOnce() ).getTemporaryRootDirectory();
+
         mm.verifyAll();
     }
 
@@ -190,18 +203,6 @@ public class RepositoryAssemblyPhaseTest
             archiver.setDirectoryMode( defaultDirMode );
             archiver.setFileMode( defaultFileMode );
         }
-
-        // public void expectAddFile( File file, String outputLocation, int fileMode )
-        // {
-        // try
-        // {
-        // archiver.addFile( file, outputLocation, fileMode );
-        // }
-        // catch ( ArchiverException e )
-        // {
-        // Assert.fail( "Should never happen." );
-        // }
-        // }
     }
 
     private final class MockAndControlForRepositoryAssembler
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 d5d1e49..3e44596 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
@@ -22,7 +22,9 @@ package org.apache.maven.plugins.assembly.archive.task;
 import static org.easymock.EasyMock.anyObject;
 import static org.easymock.EasyMock.expect;
 import static org.junit.Assert.fail;
+import static org.mockito.Mockito.atLeastOnce;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import java.io.File;
@@ -46,6 +48,7 @@ import org.codehaus.plexus.archiver.ArchiverException;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;
 import org.easymock.classextension.EasyMockSupport;
+import org.junit.After;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -81,9 +84,17 @@ public class AddArtifactTaskTest
         this.mainProject = new MavenProject( model );
 
         mac = new MockAndControlForAddArtifactTask( mockManager );
-        this.configSource = mockManager.createMock( AssemblerConfigurationSource.class );
-        expect( configSource.getFinalName() ).andReturn( "final-name" ).atLeastOnce();
-        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
+        
+        this.configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getFinalName() ).thenReturn( "final-name" );
+    }
+    
+    @After
+    public void tearDown()
+    {
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource, atLeastOnce() ).getFinalName();
+        verify( configSource, atLeastOnce() ).getMavenSession();
     }
 
     @Test
@@ -101,7 +112,7 @@ public class AddArtifactTaskTest
         mac.expectGetDestFile( new File( "junk" ) );
         mac.expectAddFile( artifactFile, outputLocation );
         
-        expect( configSource.getProject() ).andReturn( mainProject ).atLeastOnce();
+        when( configSource.getProject() ).thenReturn( mainProject );
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, mainProject );
 
         mockManager.replayAll();
@@ -110,6 +121,9 @@ public class AddArtifactTaskTest
 
         task.execute( mac.archiver, configSource );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource, atLeastOnce() ).getProject();
+
         mockManager.verifyAll();
     }
 
@@ -134,7 +148,7 @@ public class AddArtifactTaskTest
 
         mac.expectGetDestFile( new File( "junk" ) );
         mac.expectAddFile( artifactFile, outputDir + artifactId + "-" + version + "." + ext );
-        expect( configSource.getProject() ).andReturn( mainProject ).atLeastOnce();
+        when( configSource.getProject() ).thenReturn( mainProject );
         DefaultAssemblyArchiverTest.setupInterpolators( configSource, mainProject );
         mockManager.replayAll();
 
@@ -152,6 +166,9 @@ public class AddArtifactTaskTest
 
         task.execute( mac.archiver, configSource );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource, atLeastOnce() ).getProject();
+
         mockManager.verifyAll();
     }
 
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 1375a22..e03ad81 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
@@ -24,7 +24,9 @@ import static org.easymock.EasyMock.expect;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
+import static org.mockito.Mockito.atLeastOnce;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import org.apache.maven.artifact.Artifact;
@@ -115,16 +117,16 @@ public class AddDependencySetsTaskTest
             new MockAndControlForAddDependencySetsTask( mockManager, mainProject );
 
         macTask.expectBuildFromRepository( depProject );
-        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
-        expect( configSource.getFinalName() ).andReturn( mainAid + "-" + mainVer );
 
-        expect( configSource.getProject() ).andReturn( mainProject ).atLeastOnce();
         final MavenSession session = mockManager.createMock( MavenSession.class );
         final ProjectBuildingRequest projectBuildingRequest = mockManager.createMock( ProjectBuildingRequest.class );
-
         expect( session.getProjectBuildingRequest() ).andReturn( projectBuildingRequest );
         expect( session.getExecutionProperties() ).andReturn( new Properties() ).times( 2 );
-        expect( configSource.getMavenSession() ).andReturn( session ).atLeastOnce();
+
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getFinalName() ).thenReturn( mainAid + "-" + mainVer );
+        when( configSource.getProject() ).thenReturn( mainProject );
+        when( configSource.getMavenSession() ).thenReturn( session );
 
         macTask.expectGetDestFile( new File( "junk" ) );
         macTask.expectAddFile( newFile, outDir + depAid + "-" + depVer + "." + depExt, 10 );
@@ -147,6 +149,11 @@ public class AddDependencySetsTaskTest
                                        depProject, macTask.projectBuilder, logger );
 
         task.addDependencySet( ds, macTask.archiver, configSource );
+        
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource ).getFinalName();
+        verify( configSource, atLeastOnce() ).getMavenSession();
+        verify( configSource, atLeastOnce() ).getProject();
 
         mockManager.verifyAll();
     }
@@ -159,7 +166,6 @@ public class AddDependencySetsTaskTest
 
         final MockAndControlForAddDependencySetsTask macTask =
             new MockAndControlForAddDependencySetsTask( mockManager );
-        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
 
         final DependencySet ds = new DependencySet();
         ds.setOutputDirectory( "/out" );
@@ -171,7 +177,7 @@ public class AddDependencySetsTaskTest
         final AddDependencySetsTask task =
             new AddDependencySetsTask( Collections.singletonList( ds ), null, project, macTask.projectBuilder, logger );
 
-        task.addDependencySet( ds, null, configSource );
+        task.addDependencySet( ds, null, null );
 
         mockManager.verifyAll();
     }
@@ -206,15 +212,16 @@ public class AddDependencySetsTaskTest
 
         macTask.expectGetDestFile( destFile );
         macTask.expectBuildFromRepository( pbe );
-        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
-        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
-        expect( configSource.getFinalName() ).andReturn( "final-name" );
         final MavenSession session = mockManager.createMock( MavenSession.class );
         final ProjectBuildingRequest projectBuildingRequest = mockManager.createMock( ProjectBuildingRequest.class );
 
         expect( session.getProjectBuildingRequest() ).andReturn( projectBuildingRequest );
         expect( session.getExecutionProperties() ).andReturn( new Properties() ).times( 2 );
-        expect( configSource.getMavenSession() ).andReturn( session ).atLeastOnce();
+
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getFinalName() ).thenReturn( "final-name" );
+        when( configSource.getMavenSession() ).thenReturn( session );
+        when( configSource.getProject() ).thenReturn( project );
         
         macTask.expectAddFile( file, "out/" + aid + "-" + version + "." + type );
 
@@ -235,6 +242,11 @@ public class AddDependencySetsTaskTest
 
         task.addDependencySet( ds, macTask.archiver, configSource );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource ).getFinalName();
+        verify( configSource, atLeastOnce() ).getMavenSession();
+        verify( configSource, atLeastOnce() ).getProject();
+
         mockManager.verifyAll();
     }
 
@@ -271,13 +283,15 @@ public class AddDependencySetsTaskTest
 
         final MockAndControlForAddDependencySetsTask macTask =
             new MockAndControlForAddDependencySetsTask( mockManager, project );
-        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
         
         final MavenSession session = mockManager.createMock( MavenSession.class );
         final ProjectBuildingRequest projectBuildingRequest = mockManager.createMock( ProjectBuildingRequest.class );
 
         expect( session.getProjectBuildingRequest() ).andReturn( projectBuildingRequest );
-        expect( configSource.getMavenSession() ).andReturn( session ).atLeastOnce();
+
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getMavenSession() ).thenReturn( session );
+        when( configSource.getFinalName() ).thenReturn( "final-name" );
         
         Artifact artifact = mock( Artifact.class );
         final File artifactFile = temporaryFolder.newFile();
@@ -291,12 +305,11 @@ public class AddDependencySetsTaskTest
         else
         {
             expect( session.getExecutionProperties() ).andReturn( new Properties() ).times( 2 );
-            expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
+            when( configSource.getProject() ).thenReturn( project );
             macTask.expectAddFile( artifactFile, outputLocation + "/artifact", 10 );
         }
 
         macTask.expectGetDestFile( new File( "junk" ) );
-        expect( configSource.getFinalName() ).andReturn( "final-name" );
 
         final MavenProject depProject = new MavenProject( new Model() );
 
@@ -320,6 +333,15 @@ public class AddDependencySetsTaskTest
 
         task.addDependencySet( ds, macTask.archiver, configSource );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource ).getFinalName();
+        verify( configSource, atLeastOnce() ).getMavenSession();
+        
+        if ( !unpack )
+        {
+            verify( configSource, atLeastOnce() ).getProject();
+        }
+
         mockManager.verifyAll();
     }
 
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 b628c2f..df9042a 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,10 +19,14 @@ package org.apache.maven.plugins.assembly.archive.task;
  * under the License.
  */
 
-import static org.easymock.EasyMock.anyObject;
 import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.anyObject;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
+import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -153,9 +157,7 @@ public class AddFileSetsTaskTest
             expect( macTask.archiver.getOverrideFileMode() ).andReturn( modes[1] );
         }
         
-        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
-        expect( configSource.getFinalName() ).andReturn( null ).atLeastOnce();
-        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
         
         macTask.expectModeChanges( modes, 1 );
     
@@ -174,6 +176,10 @@ public class AddFileSetsTaskTest
 
         task.addFileSet( fs, macTask.archiver, configSource, null );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource, atLeastOnce() ).getFinalName();
+        verify( configSource, atLeastOnce() ).getMavenSession();
+
         mockManager.verifyAll();
     }
 
@@ -202,9 +208,7 @@ public class AddFileSetsTaskTest
             expect( macTask.archiver.getOverrideFileMode() ).andReturn( modes[1] );
         }
         
-        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
-        expect( configSource.getFinalName() ).andReturn( null ).atLeastOnce();
-        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
         
         macTask.expectModeChanges( modes, 1 );
     
@@ -223,6 +227,10 @@ public class AddFileSetsTaskTest
 
         task.addFileSet( fs, macTask.archiver, configSource, archiveBaseDir );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource, atLeastOnce() ).getFinalName();
+        verify( configSource, atLeastOnce() ).getMavenSession();
+
         mockManager.verifyAll();
     }
 
@@ -238,9 +246,8 @@ public class AddFileSetsTaskTest
 
         final File archiveBaseDir = temporaryFolder.newFolder();
 
-        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
-        expect( configSource.getFinalName() ).andReturn( "finalName" ).atLeastOnce();
-        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getFinalName() ).thenReturn( "finalName" );
 
         //macTask.expectGetProject( null );
 
@@ -259,6 +266,10 @@ public class AddFileSetsTaskTest
 
         task.addFileSet( fs, macTask.archiver, configSource, archiveBaseDir );
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource, atLeastOnce() ).getFinalName();
+        verify( configSource, atLeastOnce() ).getMavenSession();
+
         mockManager.verifyAll();
     }
 
@@ -267,8 +278,8 @@ public class AddFileSetsTaskTest
         throws Exception
     {
         File archiveBaseDir = new File( temporaryFolder.getRoot(), "archive");
-        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
-        expect( configSource.getArchiveBaseDirectory() ).andReturn( archiveBaseDir );
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getArchiveBaseDirectory() ).thenReturn( archiveBaseDir );
 
         mockManager.replayAll();
 
@@ -285,6 +296,9 @@ public class AddFileSetsTaskTest
             // should do this, because it cannot use the provide archiveBasedir.
         }
 
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( configSource ).getArchiveBaseDirectory();
+
         mockManager.verifyAll();
     }
 
@@ -293,8 +307,8 @@ public class AddFileSetsTaskTest
         throws Exception
     {
         File archiveBaseDir = temporaryFolder.newFile();
-        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
-        expect( configSource.getArchiveBaseDirectory() ).andReturn( archiveBaseDir );
+        final AssemblerConfigurationSource configSource = mock( AssemblerConfigurationSource.class );
+        when( configSource.getArchiveBaseDirectory() ).thenReturn( archiveBaseDir );
 
         mockManager.replayAll();
 
@@ -312,6 +326,8 @@ public class AddFileSetsTaskTest
         }
 
         mockManager.verifyAll();
+        
+        verify( configSource ).getArchiveBaseDirectory();
     }
 
 }
diff --git a/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java b/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java
index 52ab6c0..66e8ecb 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java
@@ -19,7 +19,9 @@ package org.apache.maven.plugins.assembly.artifact;
  * under the License.
  */
 
-import static org.easymock.EasyMock.expect;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import java.io.File;
 import java.util.Arrays;
@@ -46,7 +48,6 @@ import org.apache.maven.plugins.assembly.model.ModuleSet;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.repository.internal.MavenRepositorySystemSession;
 import org.codehaus.plexus.PlexusTestCase;
-import org.easymock.classextension.EasyMockSupport;
 
 public class DefaultDependencyResolverTest
     extends PlexusTestCase
@@ -124,10 +125,6 @@ public class DefaultDependencyResolverTest
     public void test_getModuleSetResolutionRequirements_withoutBinaries()
         throws DependencyResolutionException
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final AssemblerConfigurationSource cs = mm.createMock( AssemblerConfigurationSource.class );
-
         final File rootDir = new File( "root" );
         final MavenProject project = createMavenProject( "main-group", "main-artifact", "1", rootDir );
         final MavenProject module1 =
@@ -143,21 +140,13 @@ public class DefaultDependencyResolverTest
         final ModuleSet ms = new ModuleSet();
         ms.setBinaries( null );
 
-        mm.replayAll();
-
-        resolver.updateModuleSetResolutionRequirements( ms, new DependencySet(), info, cs );
+        resolver.updateModuleSetResolutionRequirements( ms, new DependencySet(), info, null );
         assertTrue( info.getArtifacts().isEmpty() );
-
-        mm.verifyAll();
     }
 
     public void test_getModuleSetResolutionRequirements_includeDeps()
         throws DependencyResolutionException
     {
-        final EasyMockSupport mm = new EasyMockSupport();
-
-        final AssemblerConfigurationSource cs = mm.createMock( AssemblerConfigurationSource.class );
-
         final File rootDir = new File( "root" );
         final MavenProject project = createMavenProject( "main-group", "main-artifact", "1", rootDir );
         final MavenProject module1 =
@@ -173,8 +162,9 @@ public class DefaultDependencyResolverTest
         project.getModel().addModule( module1.getArtifactId() );
         project.getModel().addModule( module2.getArtifactId() );
 
-        expect( cs.getReactorProjects() ).andReturn( Arrays.asList( project, module1, module2 ) );
-        expect( cs.getProject() ).andReturn( project );
+        final AssemblerConfigurationSource cs = mock( AssemblerConfigurationSource.class );
+        when( cs.getReactorProjects() ).thenReturn( Arrays.asList( project, module1, module2 ) );
+        when( cs.getProject() ).thenReturn( project );
 
         final ResolutionManagementInfo info = new ResolutionManagementInfo();
 
@@ -184,12 +174,12 @@ public class DefaultDependencyResolverTest
         ms.setBinaries( mb );
         ms.addInclude( "*:module-1" );
 
-        mm.replayAll();
-
         resolver.updateModuleSetResolutionRequirements( ms, new DependencySet(), info, cs );
         assertEquals( module1Artifacts, info.getArtifacts() );
 
-        mm.verifyAll();
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( cs ).getReactorProjects();
+        verify( cs ).getProject();
     }
 
     private MavenProject createMavenProject( final String groupId, final String artifactId, final String version,
diff --git a/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyExpressionEvaluatorTest.java b/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyExpressionEvaluatorTest.java
index e947678..b00e401 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyExpressionEvaluatorTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyExpressionEvaluatorTest.java
@@ -19,7 +19,10 @@ package org.apache.maven.plugins.assembly.interpolation;
  * under the License.
  */
 
-import static org.easymock.EasyMock.expect;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.verify;
 
 import java.util.Properties;
 
@@ -31,16 +34,16 @@ import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
 import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator;
 import org.codehaus.plexus.interpolation.fixed.PropertiesBasedValueSource;
-import org.easymock.classextension.EasyMockSupport;
-
-import junit.framework.TestCase;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnitRunner;
 
+@RunWith( MockitoJUnitRunner.class )
 public class AssemblyExpressionEvaluatorTest
-    extends TestCase
 {
-
     private final PojoConfigSource configSourceStub = new PojoConfigSource();
 
+    @Test
     public void testShouldResolveModelGroupId()
         throws ExpressionEvaluationException
     {
@@ -63,9 +66,9 @@ public class AssemblyExpressionEvaluatorTest
         configSourceStub.setRootInterpolator( FixedStringSearchInterpolator.create() );
         configSourceStub.setEnvironmentInterpolator( FixedStringSearchInterpolator.create() );
         configSourceStub.setEnvInterpolator( FixedStringSearchInterpolator.create() );
-
     }
 
+    @Test
     public void testShouldResolveModelPropertyBeforeModelGroupId()
         throws ExpressionEvaluationException
     {
@@ -88,6 +91,7 @@ public class AssemblyExpressionEvaluatorTest
         assertEquals( "assembly.other.id", result );
     }
 
+    @Test
     public void testShouldResolveContextValueBeforeModelPropertyOrModelGroupIdInAssemblyId()
         throws ExpressionEvaluationException
     {
@@ -102,29 +106,29 @@ public class AssemblyExpressionEvaluatorTest
 
         model.setProperties( props );
 
-        final EasyMockSupport mm = new EasyMockSupport();
-
         final Properties execProps = new Properties();
         execProps.setProperty( "groupId", "still.another.id" );
 
         PropertiesBasedValueSource cliProps = new PropertiesBasedValueSource( execProps );
 
-        AssemblerConfigurationSource cs = mm.createControl().createMock( AssemblerConfigurationSource.class );
-        expect( cs.getCommandLinePropsInterpolator() ).andReturn(
-            FixedStringSearchInterpolator.create( cliProps ) );
-        expect( cs.getRepositoryInterpolator() ).andReturn( FixedStringSearchInterpolator.create() );
-        expect( cs.getEnvInterpolator() ).andReturn( FixedStringSearchInterpolator.create() );
-        expect( cs.getProject() ).andReturn( new MavenProject( model ) );
-
-        mm.replayAll();
+        AssemblerConfigurationSource cs = mock( AssemblerConfigurationSource.class );
+        when( cs.getCommandLinePropsInterpolator() ).thenReturn( FixedStringSearchInterpolator.create( cliProps ) );
+        when( cs.getRepositoryInterpolator() ).thenReturn( FixedStringSearchInterpolator.create() );
+        when( cs.getEnvInterpolator() ).thenReturn( FixedStringSearchInterpolator.create() );
+        when( cs.getProject() ).thenReturn( new MavenProject( model ) );
 
         final Object result = new AssemblyExpressionEvaluator( cs ).evaluate( "assembly.${groupId}" );
 
         assertEquals( "assembly.still.another.id", result );
 
-        mm.verifyAll();
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( cs ).getCommandLinePropsInterpolator();
+        verify( cs ).getRepositoryInterpolator();
+        verify( cs ).getEnvInterpolator();
+        verify( cs ).getProject();
     }
 
+    @Test
     public void testShouldReturnUnchangedInputForUnresolvedExpression()
         throws ExpressionEvaluationException
     {
@@ -142,6 +146,7 @@ public class AssemblyExpressionEvaluatorTest
         assertEquals( "assembly.${unresolved}", result );
     }
 
+    @Test
     public void testShouldInterpolateMultiDotProjectExpression()
         throws ExpressionEvaluationException
     {
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 8e91d05..4fe72fb 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
@@ -348,8 +348,8 @@ public class AssemblyFormatUtilsTest
 
         final MavenSession session = mock( MavenSession.class );
 
-        final AssemblerConfigurationSource cs = mockManager.createMock( AssemblerConfigurationSource.class );
-        expect( cs.getMavenSession() ).andReturn( session );
+        final AssemblerConfigurationSource cs = mock( AssemblerConfigurationSource.class );
+        when( cs.getMavenSession() ).thenReturn( session );
         DefaultAssemblyArchiverTest.setupInterpolators( cs, mainProject );
 
         mockManager.replayAll();
@@ -366,6 +366,9 @@ public class AssemblyFormatUtilsTest
 
         // clear out for next call.
         mockManager.resetAll();
+        
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( cs ).getMavenSession();
     }
 
     @Test
@@ -685,8 +688,9 @@ public class AssemblyFormatUtilsTest
         final MavenSession session = mock( MavenSession.class );
         when( session.getExecutionProperties() ).thenReturn( System.getProperties() );
 
-        final AssemblerConfigurationSource cs = mockManager.createMock( AssemblerConfigurationSource.class );
-        expect( cs.getMavenSession() ).andReturn( session );
+        final AssemblerConfigurationSource cs = mock( AssemblerConfigurationSource.class );
+        when( cs.getMavenSession() ).thenReturn( session );
+        
         DefaultAssemblyArchiverTest.setupInterpolators( cs, mainProject );
 
         mockManager.replayAll();
@@ -703,6 +707,9 @@ public class AssemblyFormatUtilsTest
 
         // clear out for next call.
         mockManager.resetAll();
+
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( cs ).getMavenSession();
     }
 
     private void verifyOutputDir( final String outDir, final String finalName, final String projectFinalName,
@@ -787,8 +794,9 @@ public class AssemblyFormatUtilsTest
         final MavenSession session = mock( MavenSession.class );
         when( session.getExecutionProperties() ).thenReturn( System.getProperties() );
 
-        final AssemblerConfigurationSource cs = mockManager.createMock( AssemblerConfigurationSource.class );
-        expect( cs.getMavenSession() ).andReturn( session );
+        final AssemblerConfigurationSource cs = mock( AssemblerConfigurationSource.class );
+        when( cs.getMavenSession() ).thenReturn( session );
+        
         DefaultAssemblyArchiverTest.setupInterpolators( cs, mainProject );
 
         String result;
@@ -804,6 +812,9 @@ public class AssemblyFormatUtilsTest
         mockManager.verifyAll();
 
         mockManager.resetAll();
+
+        // result of easymock migration, should be assert of expected result instead of verifying methodcalls
+        verify( cs ).getMavenSession();
     }
 
     private void verifyDistroName( final String assemblyId, final String finalName, final boolean appendAssemblyId,


[maven-assembly-plugin] 02/04: Clean up anyTimes()

Posted by rf...@apache.org.
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 c830294cb8ed9a99e269923163f6e16288175fc5
Author: rfscholte <rf...@apache.org>
AuthorDate: Sat Apr 25 09:34:06 2020 +0200

    Clean up anyTimes()
---
 .../archive/DefaultAssemblyArchiverTest.java       |  96 ++++++-----
 .../archive/ManifestCreationFinalizerTest.java     |   3 +
 .../phase/DependencySetAssemblyPhaseTest.java      |  18 +--
 .../archive/phase/FileSetAssemblyPhaseTest.java    |  88 +++++------
 .../archive/phase/ModuleSetAssemblyPhaseTest.java  | 176 +++++++++++++--------
 .../archive/phase/RepositoryAssemblyPhaseTest.java |  71 ++-------
 .../assembly/archive/task/AddArtifactTaskTest.java |  46 ++++--
 .../archive/task/AddDependencySetsTaskTest.java    |  80 +++++++---
 .../archive/task/AddDirectoryTaskTest.java         |   3 +
 .../assembly/archive/task/AddFileSetsTaskTest.java |  88 +++++++----
 .../MockAndControlForAddArtifactTask.java          |  57 +------
 .../MockAndControlForAddDependencySetsTask.java    |  83 ++--------
 .../MockAndControlForAddFileSetsTask.java          |  77 +--------
 .../artifact/DefaultDependencyResolverTest.java    |   9 +-
 .../AssemblyExpressionEvaluatorTest.java           |  30 +---
 .../interpolation/AssemblyInterpolatorTest.java    |   8 -
 .../assembly/utils/AssemblyFormatUtilsTest.java    |   4 +-
 17 files changed, 398 insertions(+), 539 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 44005c8..da79304 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
@@ -90,11 +90,13 @@ public class DefaultAssemblyArchiverTest
 
     public static void setupInterpolators( AssemblerConfigurationSource configSource, MavenProject mavenProject )
     {
-        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 ) ).atLeastOnce();
+//        when( configSource.getCommandLinePropsInterpolator() ).thenReturn( FixedStringSearchInterpolator.create() );
+//        when( configSource.getEnvInterpolator() ).thenReturn( FixedStringSearchInterpolator.create() );
+//        when( configSource.getMainProjectInterpolator() ).thenReturn( AbstractAssemblyMojo.mainProjectInterpolator( mavenProject ) );
 
+        expect( configSource.getCommandLinePropsInterpolator() ).andReturn( FixedStringSearchInterpolator.create() ).atLeastOnce();
+        expect( configSource.getEnvInterpolator() ).andReturn( FixedStringSearchInterpolator.create() ).atLeastOnce();
+        expect( configSource.getMainProjectInterpolator() ).andReturn( AbstractAssemblyMojo.mainProjectInterpolator( mavenProject ) ).atLeastOnce();
     }
 
     @Before
@@ -133,7 +135,6 @@ public class DefaultAssemblyArchiverTest
         final MockAndControlForAssemblyArchiver macMgr = new MockAndControlForAssemblyArchiver( mm );
 
         macMgr.expectGetArchiver( "zip", Archiver.class );
-        macMgr.expectGetDestFile( new File( "test" ) );
 
         final AssemblyArchiverPhase phase = mm.createControl().createMock( AssemblyArchiverPhase.class );
 
@@ -144,9 +145,9 @@ public class DefaultAssemblyArchiverTest
 
         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();
+        expect( configSource.getTemporaryRootDirectory() ).andReturn( tempDir );
+        expect( configSource.isDryRun() ).andReturn( false );
+        expect( configSource.isIgnoreDirFormatExtensions() ).andReturn( false );
 
         final File outDir = temporaryFolder.newFolder( "out" );
 
@@ -167,10 +168,10 @@ public class DefaultAssemblyArchiverTest
         expect( configSource.getOverrideGroupName() ).andReturn( "root" ).atLeastOnce();
         expect( configSource.getOutputDirectory() ).andReturn( outDir );
         expect( configSource.getFinalName() ).andReturn( "finalName" );
-        expect( configSource.getArchiverConfig() ).andReturn( null ).anyTimes();
-        expect( configSource.getWorkingDirectory() ).andReturn( new File( "." ) ).anyTimes();
-        expect( configSource.isUpdateOnly() ).andReturn( false ).anyTimes();
-        expect( configSource.isIgnorePermissions() ).andReturn( false ).anyTimes();
+        expect( configSource.getArchiverConfig() ).andReturn( null );
+        expect( configSource.getWorkingDirectory() ).andReturn( new File( "." ) );
+        expect( configSource.isUpdateOnly() ).andReturn( false ).times( 2 );
+        expect( configSource.isIgnorePermissions() ).andReturn( false );
 
         final Assembly assembly = new Assembly();
         assembly.setId( "id" );
@@ -219,10 +220,6 @@ public class DefaultAssemblyArchiverTest
         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();
-
         when( configSource.isIgnorePermissions() ).thenReturn( true );
         setupInterpolators( configSource );
 
@@ -257,10 +254,10 @@ public class DefaultAssemblyArchiverTest
 
         final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
 
-        expect( configSource.getTarLongFileMode() ).andReturn( TarLongFileMode.fail.toString() ).anyTimes();
-        expect( configSource.isDryRun() ).andReturn( false ).anyTimes();
+        expect( configSource.getTarLongFileMode() ).andReturn( TarLongFileMode.fail.toString() );
+        expect( configSource.isDryRun() ).andReturn( false );
 
-        expect( configSource.getArchiverConfig() ).andReturn( null ).anyTimes();
+        expect( configSource.getArchiverConfig() ).andReturn( null );
 
         final DefaultAssemblyArchiver subject = setupStdExpectations( mm, macArchiverManager, configSource );
 
@@ -276,20 +273,16 @@ public class DefaultAssemblyArchiverTest
                                                           MockAndControlForAssemblyArchiver macArchiverManager,
                                                           AssemblerConfigurationSource configSource )
     {
-        expect( configSource.getProject() ).andReturn( new MavenProject( new Model() ) ).anyTimes();
+        expect( configSource.getWorkingDirectory() ).andReturn( new File( "." ) );
 
-        expect( configSource.getJarArchiveConfiguration() ).andReturn( null ).anyTimes();
+        expect( configSource.isUpdateOnly() ).andReturn( false ).times( 2 );
 
-        expect( configSource.getWorkingDirectory() ).andReturn( new File( "." ) ).anyTimes();
+        expect( configSource.isIgnorePermissions() ).andReturn( true );
 
-        expect( configSource.isUpdateOnly() ).andReturn( false ).anyTimes();
-
-        expect( configSource.isIgnorePermissions() ).andReturn( true ).anyTimes();
-
-        expect( configSource.getOverrideUid() ).andReturn( 0 ).atLeastOnce();
-        expect( configSource.getOverrideUserName() ).andReturn( "root" ).atLeastOnce();
-        expect( configSource.getOverrideGid() ).andReturn( 0 ).atLeastOnce();
-        expect( configSource.getOverrideGroupName() ).andReturn( "root" ).atLeastOnce();
+        expect( configSource.getOverrideUid() ).andReturn( 0 ).times( 2 );
+        expect( configSource.getOverrideUserName() ).andReturn( "root" ).times( 2 );
+        expect( configSource.getOverrideGid() ).andReturn( 0 ).times( 2 );
+        expect( configSource.getOverrideGroupName() ).andReturn( "root" ).times( 2 );
 
         mm.replayAll();
 
@@ -310,9 +303,12 @@ public class DefaultAssemblyArchiverTest
 
         final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
 
-        expect( configSource.isDryRun() ).andReturn( false ).anyTimes();
-        expect( configSource.getArchiverConfig() ).andReturn( null ).anyTimes();
-        expect( configSource.getMavenSession() ).andReturn( null ).anyTimes();
+        expect( configSource.isDryRun() ).andReturn( false );
+        expect( configSource.getArchiverConfig() ).andReturn( null );
+        expect( configSource.getMavenSession() ).andReturn( null );
+        expect( configSource.getProject() ).andReturn( new MavenProject( new Model() ) );
+        expect( configSource.getJarArchiveConfiguration() ).andReturn( null );
+        
         final DefaultAssemblyArchiver subject = setupStdExpectations( mm, macArchiverManager, configSource );
 
         subject.createArchiver( "war", false, null, configSource, null, false, null, null );
@@ -334,17 +330,17 @@ public class DefaultAssemblyArchiverTest
 
         final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
 
-        expect( configSource.isDryRun() ).andReturn( false ).anyTimes();
-        expect( configSource.getArchiverConfig() ).andReturn( null ).anyTimes();
-        expect( configSource.getWorkingDirectory() ).andReturn( new File( "." ) ).anyTimes();
-        expect( configSource.isUpdateOnly() ).andReturn( false ).anyTimes();
-        expect( configSource.getJarArchiveConfiguration() ).andReturn( null ).anyTimes();
-        expect( configSource.isIgnorePermissions() ).andReturn( true ).anyTimes();
+        expect( configSource.isDryRun() ).andReturn( false );
+        expect( configSource.getArchiverConfig() ).andReturn( null );
+        expect( configSource.getWorkingDirectory() ).andReturn( new File( "." ) );
+        expect( configSource.isUpdateOnly() ).andReturn( false ).times( 2 );
+        expect( configSource.getJarArchiveConfiguration() ).andReturn( null );
+        expect( configSource.isIgnorePermissions() ).andReturn( true );
 
-        expect( configSource.getOverrideUid() ).andReturn( 0 ).atLeastOnce();
-        expect( configSource.getOverrideUserName() ).andReturn( "root" ).atLeastOnce();
-        expect( configSource.getOverrideGid() ).andReturn( 0 ).atLeastOnce();
-        expect( configSource.getOverrideGroupName() ).andReturn( "root" ).atLeastOnce();
+        expect( configSource.getOverrideUid() ).andReturn( 0 ).times( 2 );
+        expect( configSource.getOverrideUserName() ).andReturn( "root" ).times( 2 );
+        expect( configSource.getOverrideGid() ).andReturn( 0 ).times( 2 );
+        expect( configSource.getOverrideGroupName() ).andReturn( "root" ).times( 2 );
 
         mm.replayAll();
 
@@ -640,7 +636,7 @@ public class DefaultAssemblyArchiverTest
 
         void expectGetDestFile( final File file )
         {
-            expect( archiver.getDestFile() ).andReturn( file ).anyTimes();
+            expect( archiver.getDestFile() ).andReturn( file );
         }
 
         void createArchiver( final Class<? extends Archiver> archiverClass )
@@ -648,22 +644,22 @@ public class DefaultAssemblyArchiverTest
             archiver = mm.createControl().createMock( archiverClass );
 
             archiver.setForced( anyBoolean() );
-            expectLastCall().anyTimes();
+            expectLastCall().times( 2 );
 
             archiver.setIgnorePermissions( false );
-            expectLastCall().anyTimes();
+            expectLastCall();
 
             archiver.setOverrideUid( anyInt() );
-            expectLastCall().anyTimes();
+            expectLastCall();
 
             archiver.setOverrideUserName( EasyMock.<String>anyObject() );
-            expectLastCall().anyTimes();
+            expectLastCall();
 
             archiver.setOverrideGid( anyInt() );
-            expectLastCall().anyTimes();
+            expectLastCall();
 
             archiver.setOverrideGroupName( EasyMock.<String>anyObject() );
-            expectLastCall().anyTimes();
+            expectLastCall();
         }
 
         void expectGetArchiver( final String format, final Class<? extends Archiver> archiverClass )
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 6e7e9e3..c349898 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
@@ -44,7 +44,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 ManifestCreationFinalizerTest
 {
 
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 38ef532..93835b6 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
@@ -21,12 +21,12 @@ package org.apache.maven.plugins.assembly.archive.phase;
 
 import static org.mockito.Mockito.mock;
 
-import java.io.File;
 import java.io.IOException;
 import java.util.Collections;
 
 import org.apache.maven.artifact.Artifact;
 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.archive.task.testutils.MockAndControlForAddDependencySetsTask;
@@ -78,27 +78,18 @@ public class DependencySetAssemblyPhaseTest
         final MockAndControlForAddDependencySetsTask macTask =
             new MockAndControlForAddDependencySetsTask( mm, project );
 
-        macTask.expectCSGetRepositories( null, null );
-
-        macTask.expectGetDestFile( new File( "junk" ) );
-//        macTask.expectAddFile( artifactFile, "out/dep", 10 );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
 
         project.setArtifacts( Collections.singleton( artifact ) );
 
-        macTask.expectCSGetFinalName( "final-name" );
-
         final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
-        final MavenProject depProject = newMavenProject( "group", "dep", "1" );
-
-        macTask.expectBuildFromRepository( depProject );
-
         macTask.expectResolveDependencySets();
 
         mm.replayAll();
 
         createPhase( macTask, logger, macTask.dependencyResolver ).execute( assembly, macTask.archiver,
-                                                                            macTask.configSource );
+                                                                            configSource );
 
         mm.verifyAll();
     }
@@ -126,12 +117,13 @@ public class DependencySetAssemblyPhaseTest
         final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
         final MockAndControlForAddDependencySetsTask macTask = new MockAndControlForAddDependencySetsTask( mm, null );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
 
         macTask.expectResolveDependencySets();
 
         mm.replayAll();
 
-        createPhase( macTask, logger, macTask.dependencyResolver ).execute( assembly, null, macTask.configSource );
+        createPhase( macTask, logger, macTask.dependencyResolver ).execute( assembly, null, configSource );
 
         mm.verifyAll();
     }
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 f4f3377..080b0ce 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,20 +19,20 @@ package org.apache.maven.plugins.assembly.archive.phase;
  * under the License.
  */
 
-import static org.easymock.EasyMock.anyObject;
 import static org.easymock.EasyMock.expect;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 import org.apache.maven.model.Model;
-import org.apache.maven.plugins.assembly.archive.ArchiveCreationException;
+import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
 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.Assembly;
 import org.apache.maven.plugins.assembly.model.FileSet;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.logging.Logger;
-import org.easymock.EasyMock;
 import org.easymock.classextension.EasyMockSupport;
+import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.junit.MockitoJUnitRunner;
@@ -40,7 +40,19 @@ import org.mockito.junit.MockitoJUnitRunner;
 @RunWith( MockitoJUnitRunner.class )
 public class FileSetAssemblyPhaseTest
 {
+    private FileSetAssemblyPhase phase;
+    
     final EasyMockSupport mm = new EasyMockSupport();
+    
+    @Before
+    public void setUp() 
+    {
+        Logger logger = mock( Logger.class );
+        when( logger.isDebugEnabled() ).thenReturn( true );
+
+        this.phase = new FileSetAssemblyPhase();
+        phase.enableLogging( logger );
+    }
 
     @Test
     public void testShouldNotFailWhenNoFileSetsSpecified()
@@ -50,18 +62,19 @@ public class FileSetAssemblyPhaseTest
 
         assembly.setId( "test" );
 
-        final MockAndControlForLogger macLogger = new MockAndControlForLogger();
         final MockAndControlForAddFileSetsTask macTask = new MockAndControlForAddFileSetsTask( mm );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
 
         mm.replayAll();
 
-        createPhase( macLogger ).execute( assembly, macTask.archiver, macTask.configSource );
+        this.phase.execute( assembly, macTask.archiver, configSource );
 
         mm.verifyAll();
     }
 
-    @Test public void testShouldAddOneFileSet()
-        throws ArchiveCreationException, AssemblyFormattingException
+    @Test
+    public void testShouldAddOneFileSet()
+        throws Exception
     {
         final Assembly assembly = new Assembly();
 
@@ -76,64 +89,35 @@ public class FileSetAssemblyPhaseTest
 
         assembly.addFileSet( fs );
 
-        final MockAndControlForLogger macLogger = new MockAndControlForLogger();
         final MockAndControlForAddFileSetsTask macTask = new MockAndControlForAddFileSetsTask( mm );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
 
-        macTask.expectGetArchiveBaseDirectory();
+        expect( configSource.getArchiveBaseDirectory() ).andReturn( null );
 
         final MavenProject project = new MavenProject( new Model() );
 
-        macLogger.expectError( true, true );
-
         final int dirMode = Integer.parseInt( "777", 8 );
         final int fileMode = Integer.parseInt( "777", 8 );
 
         final int[] modes = { -1, -1, dirMode, fileMode };
 
-        macTask.expectAdditionOfSingleFileSet( project, "final-name", false, modes, 1, true );
-
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
+        // the logger sends a debug message with this info inside the addFileSet(..) method..
+        if ( true )
+        {
+            expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( modes[0] );
+            expect( macTask.archiver.getOverrideFileMode() ).andReturn( modes[1] );
+        }
+        
+        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
+        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
+        expect( configSource.getFinalName() ).andReturn( "final-name" ).atLeastOnce();
+        
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
         mm.replayAll();
 
-        createPhase( macLogger ).execute( assembly, macTask.archiver, macTask.configSource );
+        this.phase.execute( assembly, macTask.archiver, configSource );
 
         mm.verifyAll();
     }
-
-    private FileSetAssemblyPhase createPhase( final MockAndControlForLogger macLogger )
-    {
-        final FileSetAssemblyPhase phase = new FileSetAssemblyPhase();
-
-        phase.enableLogging( macLogger.logger );
-
-        return phase;
-    }
-
-    private final class MockAndControlForLogger
-    {
-        final Logger logger;
-
-        MockAndControlForLogger()
-        {
-            logger = mm.createMock( Logger.class );
-        }
-
-        public void expectError( final boolean debugCheck, final boolean debugEnabled )
-        {
-            if ( debugCheck )
-            {
-                expect( logger.isDebugEnabled() ).andReturn( debugEnabled ).anyTimes();
-            }
-
-            logger.debug( (String) anyObject() );
-            EasyMock.expectLastCall().anyTimes();
-            logger.warn( (String) anyObject() );
-            EasyMock.expectLastCall().anyTimes();
-            logger.error( (String) anyObject() );
-            EasyMock.expectLastCall().anyTimes();
-        }
-
-    }
-
 }
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 9dc57cc..b459800 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
@@ -20,6 +20,8 @@ package org.apache.maven.plugins.assembly.archive.phase;
  */
 
 import static java.util.Collections.singleton;
+import static org.easymock.EasyMock.anyInt;
+import static org.easymock.EasyMock.expect;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
@@ -37,6 +39,7 @@ import java.util.Set;
 
 import org.apache.maven.artifact.Artifact;
 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.archive.DefaultAssemblyArchiverTest;
@@ -52,7 +55,6 @@ 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;
@@ -137,9 +139,11 @@ public class ModuleSetAssemblyPhaseTest
 
         final MavenProject project = new MavenProject( model );
 
-        final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm, project );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
 
-        macTask.expectGetFinalName( null );
+        expect( configSource.getFinalName() ).andReturn( null ).atLeastOnce();
+        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
+        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
 
         final FileSet fs = new FileSet();
 
@@ -156,14 +160,14 @@ public class ModuleSetAssemblyPhaseTest
 
         artifactProject.setArtifact( artifact );
 
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
         mm.replayAll();
 
         final FileSet result =
             createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).createFileSet( fs, sources,
                                                                                                 artifactProject,
-                                                                                                macTask.configSource );
+                                                                                                configSource );
 
         assertEquals( "artifact/", result.getOutputDirectory() );
 
@@ -181,9 +185,11 @@ public class ModuleSetAssemblyPhaseTest
 
         final MavenProject project = new MavenProject( model );
 
-        final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm, project );
-
-        macTask.expectGetFinalName( null );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
+        
+        expect( configSource.getFinalName() ).andReturn( null ).atLeastOnce();
+        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
+        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
 
         final FileSet fs = new FileSet();
         fs.setOutputDirectory( "out" );
@@ -201,14 +207,14 @@ public class ModuleSetAssemblyPhaseTest
         when( artifact.getArtifactId() ).thenReturn( "artifact" );
 
         artifactProject.setArtifact( artifact );
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project /* or artifactProject */ );
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, project /* or artifactProject */ );
 
         mm.replayAll();
 
         final FileSet result =
             createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).createFileSet( fs, sources,
                                                                                                 artifactProject,
-                                                                                                macTask.configSource );
+                                                                                                configSource );
 
         assertEquals( "artifact/out/", result.getOutputDirectory() );
 
@@ -221,9 +227,11 @@ public class ModuleSetAssemblyPhaseTest
     {
         final EasyMockSupport mm = new EasyMockSupport();
 
-        final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm, null );
-
-        macTask.expectGetFinalName( null );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
+        
+        expect( configSource.getFinalName() ).andReturn( null ).atLeastOnce();
+        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
+        expect( configSource.getProject() ).andReturn( null ).atLeastOnce();
 
         final FileSet fs = new FileSet();
 
@@ -244,13 +252,13 @@ public class ModuleSetAssemblyPhaseTest
         Artifact artifact = mock( Artifact.class );
 
         project.setArtifact( artifact );
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
         mm.replayAll();
 
         final FileSet result =
             createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).createFileSet( fs, sources, project,
-                                                                                                macTask.configSource );
+                                                                                                configSource );
 
         assertEquals( 1, result.getExcludes().size() );
         assertEquals( "submodule/**", result.getExcludes().get( 0 ) );
@@ -276,7 +284,8 @@ public class ModuleSetAssemblyPhaseTest
 
         final MavenProject project = createProject( "group", "artifact", "version", null );
 
-        final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm, project );
+        final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
 
         final MavenProject module = createProject( "group", "module", "version", project );
 
@@ -289,10 +298,14 @@ public class ModuleSetAssemblyPhaseTest
 
         projects.add( module );
 
-        macTask.expectGetReactorProjects( projects );
-        macTask.expectGetFinalName( "final-name" );
+        expect( configSource.getReactorProjects() ).andReturn( projects ).atLeastOnce();
+        expect( configSource.getFinalName() ).andReturn( "final-name" ).atLeastOnce();
+        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
         macTask.expectGetDestFile( new File( "junk" ) );
-        macTask.expectGetMode( 0777, 0777 );
+        expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( 0777 );
+        expect( macTask.archiver.getOverrideFileMode() ).andReturn( 0777 );
+        macTask.archiver.setFileMode( anyInt() );
+        org.easymock.EasyMock.expectLastCall().times( 2 );
 
         final int mode = TypeConversionUtils.modeToInt( "777", new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
 
@@ -318,12 +331,13 @@ public class ModuleSetAssemblyPhaseTest
         final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
         macTask.expectResolveDependencySets();
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, module );
+        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, module );
 
         mm.replayAll();
 
         final ModuleSetAssemblyPhase phase = createPhase( logger, macTask.dependencyResolver, null );
-        phase.execute( assembly, macTask.archiver, macTask.configSource );
+        phase.execute( assembly, macTask.archiver, configSource );
 
         mm.verifyAll();
     }
@@ -342,6 +356,7 @@ public class ModuleSetAssemblyPhaseTest
         final EasyMockSupport mm = new EasyMockSupport();
 
         final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
 
         final ModuleBinaries binaries = new ModuleBinaries();
 
@@ -363,7 +378,7 @@ public class ModuleSetAssemblyPhaseTest
         createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).addModuleBinaries( null, null, binaries,
                                                                                                 projects,
                                                                                                 macTask.archiver,
-                                                                                                macTask.configSource );
+                                                                                                configSource );
 
         mm.verifyAll();
     }
@@ -374,16 +389,22 @@ public class ModuleSetAssemblyPhaseTest
     {
         final EasyMockSupport mm = new EasyMockSupport();
 
-        final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm, null );
+        final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
 
         Artifact artifact = mock( Artifact.class );
         when( artifact.getClassifier() ).thenReturn( "test" );
         final File artifactFile = temporaryFolder.newFile();
         when( artifact.getFile() ).thenReturn( artifactFile );
 
-        macTask.expectGetFinalName( "final-name" );
+        expect( configSource.getFinalName() ).andReturn( "final-name" ).atLeastOnce();
+        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
+        expect( configSource.getProject() ).andReturn( null ).atLeastOnce();
         macTask.expectGetDestFile( new File( "junk" ) );
-        macTask.expectGetMode( 0222, 0222 );
+        expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
+        expect( macTask.archiver.getOverrideFileMode() ).andReturn( 0222 );
+        macTask.archiver.setFileMode( anyInt() );
+        org.easymock.EasyMock.expectLastCall().times( 2 );
         macTask.expectAddFile( artifactFile, "out/artifact",
                                TypeConversionUtils.modeToInt( "777",
                                                               new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) ) );
@@ -403,7 +424,7 @@ public class ModuleSetAssemblyPhaseTest
         final Set<MavenProject> projects = singleton( project );
 
         macTask.expectResolveDependencySets();
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
         mm.replayAll();
 
@@ -411,7 +432,7 @@ public class ModuleSetAssemblyPhaseTest
 
         createPhase( logger, macTask.dependencyResolver, null ).addModuleBinaries( null, null, binaries, projects,
                                                                                    macTask.archiver,
-                                                                                   macTask.configSource );
+                                                                                   configSource );
 
         mm.verifyAll();
     }
@@ -423,6 +444,7 @@ public class ModuleSetAssemblyPhaseTest
         final EasyMockSupport mm = new EasyMockSupport();
 
         final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
         
         Artifact artifact = mock( Artifact.class );
 
@@ -446,7 +468,7 @@ public class ModuleSetAssemblyPhaseTest
         try
         {
             createPhase( logger, null ).addModuleBinaries( null, null, binaries, projects, macTask.archiver,
-                                                           macTask.configSource );
+                                                           configSource );
 
             fail( "Should throw an invalid configuration exception because of module with missing attachment." );
         }
@@ -467,17 +489,24 @@ public class ModuleSetAssemblyPhaseTest
         final EasyMockSupport mm = new EasyMockSupport();
 
         final MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
 
         Artifact artifact = mock( Artifact.class );
         final File artifactFile = temporaryFolder.newFile();
         when( artifact.getFile() ).thenReturn( artifactFile );
 
-        macTask.expectGetFinalName( "final-name" );
+        expect( configSource.getFinalName() ).andReturn( "final-name" ).atLeastOnce();
+        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
+        expect( configSource.getProject() ).andReturn( null ).atLeastOnce();
+        
         macTask.expectGetDestFile( new File( "junk" ) );
         macTask.expectAddFile( artifactFile, "out/artifact",
                                TypeConversionUtils.modeToInt( "777",
                                                               new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) ) );
-        macTask.expectGetMode( 0222, 0222 );
+        expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
+        expect( macTask.archiver.getOverrideFileMode() ).andReturn( 0222 );
+        macTask.archiver.setFileMode( anyInt() );
+        org.easymock.EasyMock.expectLastCall().times( 2 );
 
         final ModuleBinaries binaries = new ModuleBinaries();
 
@@ -493,7 +522,7 @@ public class ModuleSetAssemblyPhaseTest
         final Set<MavenProject> projects = singleton( project );
 
         macTask.expectResolveDependencySets();
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
         mm.replayAll();
 
@@ -501,7 +530,7 @@ public class ModuleSetAssemblyPhaseTest
 
         createPhase( logger, macTask.dependencyResolver, null ).addModuleBinaries( null, null, binaries, projects,
                                                                                    macTask.archiver,
-                                                                                   macTask.configSource );
+                                                                                   configSource );
 
         mm.verifyAll();
     }
@@ -539,9 +568,16 @@ public class ModuleSetAssemblyPhaseTest
         final MavenProject project = createProject( "group", "artifact", "version", null );
         project.setArtifact( artifact );
 
-        macTask.expectGetFinalName( "final-name" );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
+        expect( configSource.getFinalName() ).andReturn( "final-name" ).atLeastOnce();
+        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
+        expect( configSource.getProject() ).andReturn( null ).atLeastOnce();
+        
         macTask.expectGetDestFile( new File( "junk" ) );
-        macTask.expectGetMode( 0222, 0222 );
+        expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
+        expect( macTask.archiver.getOverrideFileMode() ).andReturn( 0222 );
+        macTask.archiver.setFileMode( anyInt() );
+        org.easymock.EasyMock.expectLastCall().times( 2 );
 
         macTask.expectAddFile( artifactFile, "out/artifact",
                                TypeConversionUtils.modeToInt( "777",
@@ -552,13 +588,13 @@ public class ModuleSetAssemblyPhaseTest
         binaries.setOutputFileNameMapping( "artifact" );
         binaries.setUnpack( false );
         binaries.setFileMode( "777" );
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
         mm.replayAll();
 
         createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ),
                      null ).addModuleArtifact( artifact, project, macTask.archiver,
-                                               macTask.configSource, binaries );
+                                               configSource, binaries );
 
         mm.verifyAll();
     }
@@ -581,7 +617,9 @@ public class ModuleSetAssemblyPhaseTest
 
         final MavenProject project = createProject( "group", "artifact", "version", null );
 
-        macTask.expectGetProject( project );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
+        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
+        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
 
         project.setArtifact( mock( Artifact.class ) );
 
@@ -596,20 +634,28 @@ public class ModuleSetAssemblyPhaseTest
 
         sources.addFileSet( fs );
 
-        macTask.expectGetArchiveBaseDirectory();
+        expect( configSource.getArchiveBaseDirectory() ).andReturn( null );
 
         final int mode = TypeConversionUtils.modeToInt( "777", new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
         final int[] modes = { -1, -1, mode, mode };
 
-        macTask.expectAdditionOfSingleFileSet( project, "final-name", false, modes, 1, true, false );
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
+        // the logger sends a debug message with this info inside the addFileSet(..) method..
+        if ( true )
+        {
+            expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( modes[0] );
+            expect( macTask.archiver.getOverrideFileMode() ).andReturn( modes[1] );
+        }
+        
+        expect( configSource.getFinalName() ).andReturn( "final-name" ).atLeastOnce();
+        
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
         mm.replayAll();
 
         final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
         createPhase( logger, null ).addModuleSourceFileSets( sources, projects, macTask.archiver,
-                                                             macTask.configSource );
+                                                             configSource );
 
         mm.verifyAll();
     }
@@ -622,12 +668,11 @@ public class ModuleSetAssemblyPhaseTest
 
         final MavenProject project = createProject( "group", "artifact", "version", null );
 
-        final MockAndControlForAddDependencySetsTask macTask =
-            new MockAndControlForAddDependencySetsTask( mm, project );
-
         final List<MavenProject> projects = Collections.singletonList( project );
 
-        macTask.expectGetReactorProjects( projects );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
+        expect( configSource.getReactorProjects() ).andReturn( projects );
+        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
 
         final ModuleSet moduleSet = new ModuleSet();
         moduleSet.setIncludeSubModules( true );
@@ -635,7 +680,7 @@ public class ModuleSetAssemblyPhaseTest
         mm.replayAll();
 
         final Set<MavenProject> moduleProjects =
-            ModuleSetAssemblyPhase.getModuleProjects( moduleSet, macTask.configSource, logger );
+            ModuleSetAssemblyPhase.getModuleProjects( moduleSet, configSource, logger );
 
         assertTrue( moduleProjects.isEmpty() );
 
@@ -649,17 +694,15 @@ public class ModuleSetAssemblyPhaseTest
         final EasyMockSupport mm = new EasyMockSupport();
 
         final MavenProject project = createProject( "group", "artifact", "version", null );
-
-        final MockAndControlForAddDependencySetsTask macTask =
-            new MockAndControlForAddDependencySetsTask( mm, project );
-
         final MavenProject project2 = createProject( "group", "artifact2", "version", null );
 
         final List<MavenProject> projects = new ArrayList<>();
         projects.add( project );
         projects.add( project2 );
 
-        macTask.expectGetReactorProjects( projects );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
+        expect( configSource.getReactorProjects() ).andReturn( projects );
+        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
 
         final ModuleSet moduleSet = new ModuleSet();
         moduleSet.setIncludeSubModules( true );
@@ -667,7 +710,7 @@ public class ModuleSetAssemblyPhaseTest
         mm.replayAll();
 
         final Set<MavenProject> moduleProjects =
-            ModuleSetAssemblyPhase.getModuleProjects( moduleSet, macTask.configSource, logger );
+            ModuleSetAssemblyPhase.getModuleProjects( moduleSet, configSource, logger );
 
         assertTrue( moduleProjects.isEmpty() );
 
@@ -681,17 +724,15 @@ public class ModuleSetAssemblyPhaseTest
         final EasyMockSupport mm = new EasyMockSupport();
 
         final MavenProject project = createProject( "group", "artifact", "version", null );
-
-        final MockAndControlForAddDependencySetsTask macTask =
-            new MockAndControlForAddDependencySetsTask( mm, project );
-
         final MavenProject project2 = createProject( "group", "artifact2", "version", project );
 
         final List<MavenProject> projects = new ArrayList<>();
         projects.add( project );
         projects.add( project2 );
 
-        macTask.expectGetReactorProjects( projects );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
+        expect( configSource.getReactorProjects() ).andReturn( projects );
+        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
 
         final ModuleSet moduleSet = new ModuleSet();
         moduleSet.setIncludeSubModules( true );
@@ -699,7 +740,7 @@ public class ModuleSetAssemblyPhaseTest
         mm.replayAll();
 
         final Set<MavenProject> moduleProjects =
-            ModuleSetAssemblyPhase.getModuleProjects( moduleSet, macTask.configSource, logger );
+            ModuleSetAssemblyPhase.getModuleProjects( moduleSet, configSource, logger );
 
         assertFalse( moduleProjects.isEmpty() );
 
@@ -717,10 +758,6 @@ public class ModuleSetAssemblyPhaseTest
         final EasyMockSupport mm = new EasyMockSupport();
 
         final MavenProject project = createProject( "group", "artifact", "version", null );
-
-        final MockAndControlForAddDependencySetsTask macTask =
-            new MockAndControlForAddDependencySetsTask( mm, project );
-
         final MavenProject project2 = createProject( "group", "artifact2", "version", project );
         final MavenProject project3 = createProject( "group", "artifact3", "version", project2 );
 
@@ -729,7 +766,9 @@ public class ModuleSetAssemblyPhaseTest
         projects.add( project2 );
         projects.add( project3 );
 
-        macTask.expectGetReactorProjects( projects );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
+        expect( configSource.getReactorProjects() ).andReturn( projects );
+        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
 
         final ModuleSet moduleSet = new ModuleSet();
         moduleSet.setIncludeSubModules( true );
@@ -737,7 +776,7 @@ public class ModuleSetAssemblyPhaseTest
         mm.replayAll();
 
         final Set<MavenProject> moduleProjects =
-            ModuleSetAssemblyPhase.getModuleProjects( moduleSet, macTask.configSource, logger );
+            ModuleSetAssemblyPhase.getModuleProjects( moduleSet, configSource, logger );
 
         assertEquals( 2, moduleProjects.size() );
 
@@ -758,9 +797,6 @@ public class ModuleSetAssemblyPhaseTest
 
         final MavenProject project = createProject( "group", "artifact", "version", null );
 
-        final MockAndControlForAddDependencySetsTask macTask =
-            new MockAndControlForAddDependencySetsTask( mm, project );
-
         Artifact artifact1 = mock( Artifact.class );
         project.setArtifact( artifact1 );
 
@@ -786,7 +822,9 @@ public class ModuleSetAssemblyPhaseTest
         projects.add( project2 );
         projects.add( project3 );
 
-        macTask.expectGetReactorProjects( projects );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
+        expect( configSource.getReactorProjects() ).andReturn( projects );
+        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
 
         final ModuleSet moduleSet = new ModuleSet();
         moduleSet.setIncludeSubModules( true );
@@ -796,7 +834,7 @@ public class ModuleSetAssemblyPhaseTest
         mm.replayAll();
 
         final Set<MavenProject> moduleProjects =
-            ModuleSetAssemblyPhase.getModuleProjects( moduleSet, macTask.configSource, logger );
+            ModuleSetAssemblyPhase.getModuleProjects( moduleSet, configSource, logger );
 
         assertTrue( moduleProjects.isEmpty() );
 
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 3f38c97..db69778 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
@@ -47,7 +47,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 RepositoryAssemblyPhaseTest
 {
     @Rule
@@ -61,11 +64,11 @@ public class RepositoryAssemblyPhaseTest
 
         final MockAndControlForRepositoryAssembler macRepo = new MockAndControlForRepositoryAssembler( mm );
         final MockAndControlForArchiver macArchiver = new MockAndControlForArchiver( mm );
-        final MockAndControlForConfigSource macCS = new MockAndControlForConfigSource( mm );
 
         final File tempRoot = temporaryFolder.getRoot();
 
-        macCS.expectGetTemporaryRootDirectory( tempRoot );
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
+        expect( configSource.getTemporaryRootDirectory() ).andReturn( tempRoot ).atLeastOnce();
 
         final Assembly assembly = new Assembly();
 
@@ -75,8 +78,7 @@ public class RepositoryAssemblyPhaseTest
 
         createPhase( macRepo.repositoryAssembler, new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) ).execute( assembly,
                                                                                                              macArchiver.archiver,
-                                                                                                             macCS
-                                                                                                                 .configSource );
+                                                                                                             configSource );
 
         mm.verifyAll();
     }
@@ -89,14 +91,19 @@ public class RepositoryAssemblyPhaseTest
 
         final MockAndControlForRepositoryAssembler macRepo = new MockAndControlForRepositoryAssembler( mm );
         final MockAndControlForArchiver macArchiver = new MockAndControlForArchiver( mm );
-        final MockAndControlForConfigSource macCS = new MockAndControlForConfigSource( mm );
 
         final File tempRoot = temporaryFolder.getRoot();
 
-        macCS.expectGetTemporaryRootDirectory( tempRoot );
-        macCS.expectGetProject( new MavenProject( new Model() ) );
-        macCS.expectGetFinalName( "final-name" );
-        macCS.expectInterpolators();
+        final AssemblerConfigurationSource configSource = mm.createMock( AssemblerConfigurationSource.class );
+        expect( configSource.getMavenSession() ).andReturn( null );
+        expect( configSource.getTemporaryRootDirectory() ).andReturn( tempRoot ).atLeastOnce();
+        expect( configSource.getProject() ).andReturn( new MavenProject( new Model() ) ).atLeastOnce();
+        expect( configSource.getFinalName() ).andReturn( "final-name" ).atLeastOnce();
+        expect( configSource.getCommandLinePropsInterpolator() ).andReturn(
+            FixedStringSearchInterpolator.empty() );
+        expect( configSource.getEnvInterpolator() ).andReturn( FixedStringSearchInterpolator.empty() );
+        expect( configSource.getMainProjectInterpolator() ).andReturn(
+            FixedStringSearchInterpolator.empty() );
 
         final Assembly assembly = new Assembly();
 
@@ -123,8 +130,7 @@ public class RepositoryAssemblyPhaseTest
 
         createPhase( macRepo.repositoryAssembler, new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) ).execute( assembly,
                                                                                                              macArchiver.archiver,
-                                                                                                             macCS
-                                                                                                                 .configSource );
+                                                                                                             configSource );
 
         mm.verifyAll();
     }
@@ -198,49 +204,6 @@ public class RepositoryAssemblyPhaseTest
         // }
     }
 
-    private final class MockAndControlForConfigSource
-    {
-        final AssemblerConfigurationSource configSource;
-
-        public MockAndControlForConfigSource( final EasyMockSupport mockManager )
-        {
-            configSource = mockManager.createMock( AssemblerConfigurationSource.class );
-
-            expect( configSource.getMavenSession() ).andReturn( null ).anyTimes();
-        }
-
-        public void expectGetProject( final MavenProject project )
-        {
-            expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
-        }
-
-        public void expectGetFinalName( final String finalName )
-        {
-            expect( configSource.getFinalName() ).andReturn( finalName ).atLeastOnce();
-        }
-
-        public void expectInterpolators()
-        {
-            expect( configSource.getCommandLinePropsInterpolator() ).andReturn(
-                FixedStringSearchInterpolator.empty() ).anyTimes();
-            expect( configSource.getEnvInterpolator() ).andReturn( FixedStringSearchInterpolator.empty() ).anyTimes();
-            expect( configSource.getMainProjectInterpolator() ).andReturn(
-                FixedStringSearchInterpolator.empty() ).anyTimes();
-        }
-
-        public void expectGetTemporaryRootDirectory( final File tempRoot )
-        {
-            expect( configSource.getTemporaryRootDirectory() ).andReturn( tempRoot ).atLeastOnce();
-        }
-
-        //
-        // public void expectGetBasedir( File basedir )
-        // {
-        // configSource.getBasedir();
-        // control.setReturnValue( basedir, MockControl.ONE_OR_MORE );
-        // }
-    }
-
     private final class MockAndControlForRepositoryAssembler
     {
         final RepositoryAssembler repositoryAssembler;
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 6f85f8a..d5d1e49 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
@@ -20,9 +20,10 @@ package org.apache.maven.plugins.assembly.archive.task;
  */
 
 import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.expect;
+import static org.junit.Assert.fail;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
-import static org.junit.Assert.fail;
 
 import java.io.File;
 import java.io.IOException;
@@ -32,7 +33,9 @@ import java.util.Arrays;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.handler.ArtifactHandler;
 import org.apache.maven.model.Model;
+import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
 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.MockAndControlForAddArtifactTask;
 import org.apache.maven.plugins.assembly.format.AssemblyFormattingException;
 import org.apache.maven.plugins.assembly.model.DependencySet;
@@ -59,6 +62,10 @@ public class AddArtifactTaskTest
     private EasyMockSupport mockManager;
 
     private MockAndControlForAddArtifactTask mac;
+    
+    private MavenProject mainProject;
+    
+    private AssemblerConfigurationSource configSource;
 
     @Before
     public void setUp()
@@ -71,10 +78,12 @@ public class AddArtifactTaskTest
         model.setArtifactId( "main" );
         model.setVersion( "1000" );
 
-        MavenProject mainProject = new MavenProject( model );
+        this.mainProject = new MavenProject( model );
 
-        mac = new MockAndControlForAddArtifactTask( mockManager, mainProject );
-        mac.expectGetFinalName( "final-name" );
+        mac = new MockAndControlForAddArtifactTask( mockManager );
+        this.configSource = mockManager.createMock( AssemblerConfigurationSource.class );
+        expect( configSource.getFinalName() ).andReturn( "final-name" ).atLeastOnce();
+        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
     }
 
     @Test
@@ -87,16 +96,19 @@ public class AddArtifactTaskTest
         File artifactFile = temporaryFolder.newFile();
         when( artifact.getFile() ).thenReturn( artifactFile );
 
-        mac.expectGetMode( 0222, 0222 );
+        expect( mac.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
+        expect( mac.archiver.getOverrideFileMode() ).andReturn( 0222 );
         mac.expectGetDestFile( new File( "junk" ) );
         mac.expectAddFile( artifactFile, outputLocation );
-        mac.expectInterpolators();
+        
+        expect( configSource.getProject() ).andReturn( mainProject ).atLeastOnce();
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, mainProject );
 
         mockManager.replayAll();
 
         AddArtifactTask task = createTask( artifact );
 
-        task.execute( mac.archiver, mac.configSource );
+        task.execute( mac.archiver, configSource );
 
         mockManager.verifyAll();
     }
@@ -117,11 +129,13 @@ public class AddArtifactTaskTest
         File artifactFile = temporaryFolder.newFile();
         when( artifact.getFile() ).thenReturn( artifactFile );
 
-        mac.expectGetMode( 0222, 0222 );
+        expect( mac.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
+        expect( mac.archiver.getOverrideFileMode() ).andReturn( 0222 );
 
         mac.expectGetDestFile( new File( "junk" ) );
         mac.expectAddFile( artifactFile, outputDir + artifactId + "-" + version + "." + ext );
-        mac.expectInterpolators();
+        expect( configSource.getProject() ).andReturn( mainProject ).atLeastOnce();
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, mainProject );
         mockManager.replayAll();
 
         AddArtifactTask task =
@@ -136,7 +150,7 @@ public class AddArtifactTaskTest
         MavenProject project = new MavenProject( model );
         task.setProject( project );
 
-        task.execute( mac.archiver, mac.configSource );
+        task.execute( mac.archiver, configSource );
 
         mockManager.verifyAll();
     }
@@ -155,7 +169,7 @@ public class AddArtifactTaskTest
         throws ArchiveCreationException, AssemblyFormattingException, IOException
     {
         mac.expectModeChange( -1, -1, -1, -1, 1 );
-        mac.expectInterpolators();
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, mainProject );
 
         Artifact artifact = mock( Artifact.class );
         when( artifact.getFile() ).thenReturn( temporaryFolder.newFile() );
@@ -176,7 +190,7 @@ public class AddArtifactTaskTest
 
         task.setUnpack( true );
 
-        task.execute( mac.archiver, mac.configSource );
+        task.execute( mac.archiver, configSource );
 
         mockManager.verifyAll();
     }
@@ -189,7 +203,7 @@ public class AddArtifactTaskTest
         int fileMode = TypeConversionUtils.modeToInt( "777", new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
 
         mac.expectModeChange( -1, -1, directoryMode, fileMode, 2 );
-        mac.expectInterpolators();
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, mainProject );
 
         Artifact artifact = mock( Artifact.class );
         when( artifact.getFile() ).thenReturn( temporaryFolder.newFile() );
@@ -213,7 +227,7 @@ public class AddArtifactTaskTest
         task.setDirectoryMode( directoryMode );
         task.setFileMode( fileMode );
 
-        task.execute( mac.archiver, mac.configSource );
+        task.execute( mac.archiver, configSource );
 
         mockManager.verifyAll();
     }
@@ -232,7 +246,7 @@ public class AddArtifactTaskTest
 
         mac.expectGetDestFile( new File( "junk" ) );
         mac.expectAddArchivedFileSet();
-        mac.expectInterpolators();
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, mainProject );
 
         mockManager.replayAll();
 
@@ -242,7 +256,7 @@ public class AddArtifactTaskTest
         task.setIncludes( Arrays.asList( includes ) );
         task.setExcludes( Arrays.asList( excludes ) );
 
-        task.execute( mac.archiver, mac.configSource );
+        task.execute( mac.archiver, configSource );
 
         mockManager.verifyAll();
     }
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 8d621da..1375a22 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
@@ -19,6 +19,8 @@ package org.apache.maven.plugins.assembly.archive.task;
  * under the License.
  */
 
+import static org.easymock.EasyMock.anyInt;
+import static org.easymock.EasyMock.expect;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
@@ -27,7 +29,9 @@ import static org.mockito.Mockito.when;
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.handler.ArtifactHandler;
+import org.apache.maven.execution.MavenSession;
 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.archive.DefaultAssemblyArchiverTest;
@@ -36,8 +40,10 @@ import org.apache.maven.plugins.assembly.format.AssemblyFormattingException;
 import org.apache.maven.plugins.assembly.model.DependencySet;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.project.ProjectBuildingRequest;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;
+import org.easymock.EasyMock;
 import org.easymock.classextension.EasyMockSupport;
 import org.junit.Rule;
 import org.junit.Test;
@@ -49,6 +55,7 @@ import java.io.File;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.HashSet;
+import java.util.Properties;
 import java.util.Set;
 
 @RunWith( MockitoJUnitRunner.class )
@@ -108,16 +115,28 @@ public class AddDependencySetsTaskTest
             new MockAndControlForAddDependencySetsTask( mockManager, mainProject );
 
         macTask.expectBuildFromRepository( depProject );
-        macTask.expectCSGetFinalName( mainAid + "-" + mainVer );
+        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
+        expect( configSource.getFinalName() ).andReturn( mainAid + "-" + mainVer );
 
-        macTask.expectCSGetRepositories( null, null );
+        expect( configSource.getProject() ).andReturn( mainProject ).atLeastOnce();
+        final MavenSession session = mockManager.createMock( MavenSession.class );
+        final ProjectBuildingRequest projectBuildingRequest = mockManager.createMock( ProjectBuildingRequest.class );
+
+        expect( session.getProjectBuildingRequest() ).andReturn( projectBuildingRequest );
+        expect( session.getExecutionProperties() ).andReturn( new Properties() ).times( 2 );
+        expect( configSource.getMavenSession() ).andReturn( session ).atLeastOnce();
 
         macTask.expectGetDestFile( new File( "junk" ) );
         macTask.expectAddFile( newFile, outDir + depAid + "-" + depVer + "." + depExt, 10 );
 
-        macTask.expectGetMode( 0222, 0222 );
+        macTask.archiver.setFileMode( anyInt() );
+        EasyMock.expectLastCall().times( 2 );
+        expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
+        expect( macTask.archiver.getOverrideFileMode() ).andReturn( 0222 );
+        macTask.archiver.setDirectoryMode( anyInt() );
+        EasyMock.expectLastCall().times( 2 );
 
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, mainProject );
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, mainProject );
 
         mockManager.replayAll();
 
@@ -127,7 +146,7 @@ public class AddDependencySetsTaskTest
             new AddDependencySetsTask( Collections.singletonList( ds ), Collections.singleton( depArtifact ),
                                        depProject, macTask.projectBuilder, logger );
 
-        task.addDependencySet( ds, macTask.archiver, macTask.configSource );
+        task.addDependencySet( ds, macTask.archiver, configSource );
 
         mockManager.verifyAll();
     }
@@ -140,6 +159,7 @@ public class AddDependencySetsTaskTest
 
         final MockAndControlForAddDependencySetsTask macTask =
             new MockAndControlForAddDependencySetsTask( mockManager );
+        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
 
         final DependencySet ds = new DependencySet();
         ds.setOutputDirectory( "/out" );
@@ -151,7 +171,7 @@ public class AddDependencySetsTaskTest
         final AddDependencySetsTask task =
             new AddDependencySetsTask( Collections.singletonList( ds ), null, project, macTask.projectBuilder, logger );
 
-        task.addDependencySet( ds, null, macTask.configSource );
+        task.addDependencySet( ds, null, configSource );
 
         mockManager.verifyAll();
     }
@@ -166,7 +186,7 @@ public class AddDependencySetsTaskTest
         final ProjectBuildingException pbe = new ProjectBuildingException( "test", "Test error.", new Throwable() );
 
         final MockAndControlForAddDependencySetsTask macTask =
-            new MockAndControlForAddDependencySetsTask( mockManager, new MavenProject( new Model() ) );
+            new MockAndControlForAddDependencySetsTask( mockManager, project );
 
         final String aid = "test-dep";
         final String version = "2.0-SNAPSHOT";
@@ -186,15 +206,24 @@ public class AddDependencySetsTaskTest
 
         macTask.expectGetDestFile( destFile );
         macTask.expectBuildFromRepository( pbe );
-        macTask.expectCSGetRepositories( null, null );
-        macTask.expectCSGetFinalName( "final-name" );
+        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
+        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
+        expect( configSource.getFinalName() ).andReturn( "final-name" );
+        final MavenSession session = mockManager.createMock( MavenSession.class );
+        final ProjectBuildingRequest projectBuildingRequest = mockManager.createMock( ProjectBuildingRequest.class );
+
+        expect( session.getProjectBuildingRequest() ).andReturn( projectBuildingRequest );
+        expect( session.getExecutionProperties() ).andReturn( new Properties() ).times( 2 );
+        expect( configSource.getMavenSession() ).andReturn( session ).atLeastOnce();
+        
         macTask.expectAddFile( file, "out/" + aid + "-" + version + "." + type );
 
-        macTask.expectGetMode( 0222, 0222 );
+        expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
+        expect( macTask.archiver.getOverrideFileMode() ).andReturn( 0222 );
 
         final DependencySet ds = new DependencySet();
         ds.setOutputDirectory( "/out" );
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
         mockManager.replayAll();
 
@@ -204,7 +233,7 @@ public class AddDependencySetsTaskTest
             new AddDependencySetsTask( Collections.singletonList( ds ), Collections.singleton( depArtifact ),
                                        project, macTask.projectBuilder, logger );
 
-        task.addDependencySet( ds, macTask.archiver, macTask.configSource );
+        task.addDependencySet( ds, macTask.archiver, configSource );
 
         mockManager.verifyAll();
     }
@@ -214,6 +243,7 @@ public class AddDependencySetsTaskTest
         throws AssemblyFormattingException, ArchiveCreationException, IOException,
         InvalidAssemblerConfigurationException
     {
+        
         verifyOneDependencyAdded( "out", false );
     }
 
@@ -240,8 +270,15 @@ public class AddDependencySetsTaskTest
         ds.setFileMode( Integer.toString( 10, 8 ) );
 
         final MockAndControlForAddDependencySetsTask macTask =
-            new MockAndControlForAddDependencySetsTask( mockManager, new MavenProject( new Model() ) );
+            new MockAndControlForAddDependencySetsTask( mockManager, project );
+        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
+        
+        final MavenSession session = mockManager.createMock( MavenSession.class );
+        final ProjectBuildingRequest projectBuildingRequest = mockManager.createMock( ProjectBuildingRequest.class );
 
+        expect( session.getProjectBuildingRequest() ).andReturn( projectBuildingRequest );
+        expect( configSource.getMavenSession() ).andReturn( session ).atLeastOnce();
+        
         Artifact artifact = mock( Artifact.class );
         final File artifactFile = temporaryFolder.newFile();
         when( artifact.getFile() ).thenReturn( artifactFile );
@@ -249,20 +286,27 @@ public class AddDependencySetsTaskTest
         if ( unpack )
         {
             macTask.expectAddArchivedFileSet();
+            expect( session.getExecutionProperties() ).andReturn( new Properties() );
         }
         else
         {
+            expect( session.getExecutionProperties() ).andReturn( new Properties() ).times( 2 );
+            expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
             macTask.expectAddFile( artifactFile, outputLocation + "/artifact", 10 );
         }
 
         macTask.expectGetDestFile( new File( "junk" ) );
-        macTask.expectCSGetFinalName( "final-name" );
-        macTask.expectCSGetRepositories( null, null );
+        expect( configSource.getFinalName() ).andReturn( "final-name" );
 
         final MavenProject depProject = new MavenProject( new Model() );
 
         macTask.expectBuildFromRepository( depProject );
-        macTask.expectGetMode( 0222, 0222 );
+        macTask.archiver.setFileMode( anyInt() );
+        EasyMock.expectLastCall().times( 2 );
+        expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( 0222 );
+        expect( macTask.archiver.getOverrideFileMode() ).andReturn( 0222 );
+        macTask.archiver.setDirectoryMode( anyInt() );
+        EasyMock.expectLastCall().times( 2 );
 
         final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
@@ -270,11 +314,11 @@ public class AddDependencySetsTaskTest
                                                                       Collections.singleton(
                                                                           artifact ), project,
                                                                       macTask.projectBuilder, logger );
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
         mockManager.replayAll();
 
-        task.addDependencySet( ds, macTask.archiver, macTask.configSource );
+        task.addDependencySet( ds, macTask.archiver, configSource );
 
         mockManager.verifyAll();
     }
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 2a534e6..f41775d 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
@@ -27,6 +27,8 @@ 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.util.Collections;
@@ -35,6 +37,7 @@ import static org.easymock.EasyMock.anyObject;
 import static org.easymock.EasyMock.expect;
 import static org.junit.Assert.fail;
 
+@RunWith( MockitoJUnitRunner.class )
 public class AddDirectoryTaskTest
 {
     @Rule
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 09419ab..b628c2f 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,7 +19,16 @@ package org.apache.maven.plugins.assembly.archive.task;
  * under the License.
  */
 
+import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.expect;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.util.ArrayList;
+
 import org.apache.maven.model.Model;
+import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
 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;
@@ -27,19 +36,16 @@ import org.apache.maven.plugins.assembly.model.FileSet;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;
+import org.easymock.EasyMock;
 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;
 
-import java.io.File;
-import java.util.ArrayList;
-
-import static org.easymock.EasyMock.expect;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
+@RunWith( MockitoJUnitRunner.class )
 public class AddFileSetsTaskTest
 {
     @Rule
@@ -135,18 +141,30 @@ public class AddFileSetsTaskTest
         fs.setOutputDirectory( "dir2" );
 
         // ensure this exists, so the directory addition will proceed.
-        final File srcDir = new File( macTask.archiveBaseDir, dirname );
+        final File srcDir = new File( dirname );
         srcDir.mkdirs();
 
         final int[] modes = { -1, -1, -1, -1 };
 
-        macTask.expectAdditionOfSingleFileSet( null, null, true, modes, 1, true, false );
-
-//        macTask.expectGetProject( null );
+        // the logger sends a debug message with this info inside the addFileSet(..) method..
+        if ( true )
+        {
+            expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( modes[0] );
+            expect( macTask.archiver.getOverrideFileMode() ).andReturn( modes[1] );
+        }
+        
+        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
+        expect( configSource.getFinalName() ).andReturn( null ).atLeastOnce();
+        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
+        
+        macTask.expectModeChanges( modes, 1 );
+    
+        macTask.archiver.addFileSet( (org.codehaus.plexus.archiver.FileSet) anyObject() );
+        EasyMock.expectLastCall().atLeastOnce();
 
         final MavenProject project = new MavenProject( new Model() );
 
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
         mockManager.replayAll();
 
         final AddFileSetsTask task = new AddFileSetsTask( new ArrayList<FileSet>() );
@@ -154,7 +172,7 @@ public class AddFileSetsTaskTest
         task.setLogger( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
         task.setProject( project );
 
-        task.addFileSet( fs, macTask.archiver, macTask.configSource, macTask.archiveBaseDir );
+        task.addFileSet( fs, macTask.archiver, configSource, null );
 
         mockManager.verifyAll();
     }
@@ -177,12 +195,24 @@ public class AddFileSetsTaskTest
 
         final int[] modes = { -1, -1, -1, -1 };
 
-        macTask.expectAdditionOfSingleFileSet( null, null, true, modes, 1, true, false );
-
-        //macTask.expectGetProject( null );
+        // the logger sends a debug message with this info inside the addFileSet(..) method..
+        if ( true )
+        {
+            expect( macTask.archiver.getOverrideDirectoryMode() ).andReturn( modes[0] );
+            expect( macTask.archiver.getOverrideFileMode() ).andReturn( modes[1] );
+        }
+        
+        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
+        expect( configSource.getFinalName() ).andReturn( null ).atLeastOnce();
+        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
+        
+        macTask.expectModeChanges( modes, 1 );
+    
+        macTask.archiver.addFileSet( (org.codehaus.plexus.archiver.FileSet) anyObject() );
+        EasyMock.expectLastCall().atLeastOnce();
 
         final MavenProject project = new MavenProject( new Model() );
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
         mockManager.replayAll();
 
@@ -191,7 +221,7 @@ public class AddFileSetsTaskTest
         task.setLogger( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
         task.setProject( project );
 
-        task.addFileSet( fs, macTask.archiver, macTask.configSource, archiveBaseDir );
+        task.addFileSet( fs, macTask.archiver, configSource, archiveBaseDir );
 
         mockManager.verifyAll();
     }
@@ -208,7 +238,9 @@ public class AddFileSetsTaskTest
 
         final File archiveBaseDir = temporaryFolder.newFolder();
 
-        macTask.expectGetFinalName( "finalName" );
+        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
+        expect( configSource.getFinalName() ).andReturn( "finalName" ).atLeastOnce();
+        expect( configSource.getMavenSession() ).andReturn( null ).atLeastOnce();
 
         //macTask.expectGetProject( null );
 
@@ -216,7 +248,7 @@ public class AddFileSetsTaskTest
         expect( macTask.archiver.getOverrideFileMode() ).andReturn( -1 );
 
         final MavenProject project = new MavenProject( new Model() );
-        DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource, project );
+        DefaultAssemblyArchiverTest.setupInterpolators( configSource, project );
 
         mockManager.replayAll();
 
@@ -225,7 +257,7 @@ public class AddFileSetsTaskTest
         task.setLogger( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
         task.setProject( project );
 
-        task.addFileSet( fs, macTask.archiver, macTask.configSource, archiveBaseDir );
+        task.addFileSet( fs, macTask.archiver, configSource, archiveBaseDir );
 
         mockManager.verifyAll();
     }
@@ -234,8 +266,9 @@ public class AddFileSetsTaskTest
     public void testExecute_ShouldThrowExceptionIfArchiveBasedirProvidedIsNonExistent()
         throws Exception
     {
-        macTask.archiveBaseDir = new File( temporaryFolder.getRoot(), "archive");
-        macTask.expectGetArchiveBaseDirectory();
+        File archiveBaseDir = new File( temporaryFolder.getRoot(), "archive");
+        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
+        expect( configSource.getArchiveBaseDirectory() ).andReturn( archiveBaseDir );
 
         mockManager.replayAll();
 
@@ -243,7 +276,7 @@ public class AddFileSetsTaskTest
 
         try
         {
-            task.execute( macTask.archiver, macTask.configSource );
+            task.execute( macTask.archiver, configSource );
 
             fail( "Should throw exception due to non-existent archiveBasedir location that was provided." );
         }
@@ -259,8 +292,9 @@ public class AddFileSetsTaskTest
     public void testExecute_ShouldThrowExceptionIfArchiveBasedirProvidedIsNotADirectory()
         throws Exception
     {
-        macTask.archiveBaseDir = temporaryFolder.newFile();
-        macTask.expectGetArchiveBaseDirectory();
+        File archiveBaseDir = temporaryFolder.newFile();
+        final AssemblerConfigurationSource configSource = mockManager.createMock( AssemblerConfigurationSource.class );
+        expect( configSource.getArchiveBaseDirectory() ).andReturn( archiveBaseDir );
 
         mockManager.replayAll();
 
@@ -268,7 +302,7 @@ public class AddFileSetsTaskTest
 
         try
         {
-            task.execute( macTask.archiver, macTask.configSource );
+            task.execute( macTask.archiver, configSource );
 
             fail( "Should throw exception due to non-directory archiveBasedir location that was provided." );
         }
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 4cb2ca3..e7c969a 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
@@ -22,13 +22,11 @@ package org.apache.maven.plugins.assembly.archive.task.testutils;
 import junit.framework.Assert;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
-import org.apache.maven.plugins.assembly.archive.DefaultAssemblyArchiverTest;
 import org.apache.maven.plugins.assembly.artifact.DependencyResolutionException;
 import org.apache.maven.plugins.assembly.artifact.DependencyResolver;
 import org.apache.maven.plugins.assembly.model.Assembly;
 import org.apache.maven.plugins.assembly.model.DependencySet;
 import org.apache.maven.plugins.assembly.model.ModuleSet;
-import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.archiver.ArchivedFileSet;
 import org.codehaus.plexus.archiver.Archiver;
 import org.codehaus.plexus.archiver.ArchiverException;
@@ -50,37 +48,12 @@ public class MockAndControlForAddArtifactTask
 
     public final Archiver archiver;
 
-    public final AssemblerConfigurationSource configSource;
-
     public final DependencyResolver dependencyResolver;
 
-    private MavenProject project = null;
-
     public MockAndControlForAddArtifactTask( final EasyMockSupport mockManager )
     {
-        this( mockManager, null );
-    }
-
-    public MockAndControlForAddArtifactTask( final EasyMockSupport mockManager, final MavenProject project )
-    {
-        this.project = project;
-
         archiver = mockManager.createMock( Archiver.class );
-        configSource = mockManager.createMock( AssemblerConfigurationSource.class );
         dependencyResolver = mockManager.createMock( DependencyResolver.class );
-
-        enableDefaultExpectations();
-    }
-
-    private void enableDefaultExpectations()
-    {
-        expect( configSource.getProject() ).andReturn( project ).anyTimes();
-        expect( configSource.getMavenSession() ).andReturn( null ).anyTimes();
-    }
-
-    public void expectGetFinalName( final String finalName )
-    {
-        expect( configSource.getFinalName() ).andReturn( finalName ).atLeastOnce();
     }
 
     public void expectGetDestFile( final File destFile )
@@ -88,24 +61,12 @@ public class MockAndControlForAddArtifactTask
         expect( archiver.getDestFile() ).andReturn( destFile ).atLeastOnce();
     }
 
-    public void expectGetMode( final int originalDirMode, final int originalFileMode )
-    {
-        expect( archiver.getOverrideDirectoryMode() ).andReturn( originalDirMode );
-        expect( archiver.getOverrideFileMode() ).andReturn( originalFileMode );
-        archiver.setFileMode( anyInt() );
-        EasyMock.expectLastCall().anyTimes();
-    }
-
-
     public void expectAddArchivedFileSet()
     {
         try
         {
-            archiver.addArchivedFileSet( (File) anyObject(), (String) anyObject(), (String[]) anyObject(),
-                                         (String[]) anyObject() );
-            EasyMock.expectLastCall().anyTimes();
             archiver.addArchivedFileSet( (ArchivedFileSet) anyObject(), (Charset) anyObject() );
-            EasyMock.expectLastCall().anyTimes();
+            EasyMock.expectLastCall();
 
         }
         catch ( final ArchiverException e )
@@ -153,7 +114,7 @@ public class MockAndControlForAddArtifactTask
         try
         {
             archiver.addFile( (File) anyObject(), (String) anyObject(), anyInt() );
-            EasyMock.expectLastCall().anyTimes();
+            EasyMock.expectLastCall();
         }
         catch ( final ArchiverException e )
         {
@@ -175,25 +136,13 @@ public class MockAndControlForAddArtifactTask
         }
     }
 
-    public void expectGetReactorProjects( final List<MavenProject> projects )
-    {
-        expect( configSource.getReactorProjects() ).andReturn( projects ).atLeastOnce();
-    }
-
-
     public void expectResolveDependencySets()
         throws DependencyResolutionException
     {
         expect( dependencyResolver.resolveDependencySets( (Assembly) anyObject(), (ModuleSet) anyObject(),
                                                           (AssemblerConfigurationSource) anyObject(),
                                                           (List<DependencySet>) anyObject() ) ).andReturn(
-            new LinkedHashMap<DependencySet, Set<Artifact>>() ).anyTimes();
-
-    }
-
-    public void expectInterpolators()
-    {
-        DefaultAssemblyArchiverTest.setupInterpolators( configSource, this.project );
+            new LinkedHashMap<DependencySet, Set<Artifact>>() );
 
     }
 }
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java b/src/test/java/org/apache/maven/plugins/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java
index 4989f0b..7fd1068 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java
@@ -21,8 +21,6 @@ package org.apache.maven.plugins.assembly.archive.task.testutils;
 
 import junit.framework.Assert;
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.execution.MavenSession;
 import org.apache.maven.model.building.ModelProblem;
 import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
 import org.apache.maven.plugins.assembly.artifact.DependencyResolutionException;
@@ -46,7 +44,6 @@ import java.io.File;
 import java.nio.charset.Charset;
 import java.util.LinkedHashMap;
 import java.util.List;
-import java.util.Properties;
 import java.util.Set;
 
 import static org.easymock.EasyMock.anyInt;
@@ -58,7 +55,7 @@ public class MockAndControlForAddDependencySetsTask
 
     public final Archiver archiver;
 
-    public final AssemblerConfigurationSource configSource;
+    
 
     public final ProjectBuilder projectBuilder;
 
@@ -66,12 +63,6 @@ public class MockAndControlForAddDependencySetsTask
 
     public final DependencyResolver dependencyResolver;
 
-    private final MavenProject project;
-
-    private final MavenSession session;
-    
-    private final ProjectBuildingRequest projectBuildingRequest;
-
     public MockAndControlForAddDependencySetsTask( final EasyMockSupport mockManager )
     {
         this( mockManager, null );
@@ -79,45 +70,21 @@ public class MockAndControlForAddDependencySetsTask
 
     public MockAndControlForAddDependencySetsTask( final EasyMockSupport mockManager, final MavenProject project )
     {
-        this.project = project;
-
-        this.session = mockManager.createMock( MavenSession.class );
-        
-        this.projectBuildingRequest = mockManager.createMock( ProjectBuildingRequest.class );
-
         archiver = mockManager.createMock( Archiver.class );
-        
-        configSource = mockManager.createMock( AssemblerConfigurationSource.class );
 
         projectBuilder = mockManager.createMock( ProjectBuilder.class );
 
         archiverManager = mockManager.createMock( ArchiverManager.class );
 
         dependencyResolver = mockManager.createMock( DependencyResolver.class );
-
-        enableDefaultExpectations();
-    }
-
-    private void enableDefaultExpectations()
-    {
-        expect( configSource.getProject() ).andReturn( project ).anyTimes();
-        expect( session.getProjectBuildingRequest() ).andReturn( projectBuildingRequest ).anyTimes();
-        expect( session.getSystemProperties() ).andReturn( new Properties() ).anyTimes();
-        expect( session.getUserProperties() ).andReturn( new Properties() ).anyTimes();
-        expect( session.getExecutionProperties() ).andReturn( new Properties() ).anyTimes();
-
-        expectGetSession( session );
     }
 
     public void expectAddArchivedFileSet()
     {
         try
         {
-            archiver.addArchivedFileSet( (File) anyObject(), (String) anyObject(), (String[]) anyObject(),
-                                         (String[]) anyObject() );
-            EasyMock.expectLastCall().anyTimes();
             archiver.addArchivedFileSet( (ArchivedFileSet) anyObject(), (Charset) anyObject() );
-            EasyMock.expectLastCall().anyTimes();
+            EasyMock.expectLastCall();
 
         }
         catch ( final ArchiverException e )
@@ -129,7 +96,12 @@ public class MockAndControlForAddDependencySetsTask
     public void expectModeChange( final int originalDirMode, final int originalFileMode, final int dirMode,
                                   final int fileMode, final int numberOfChanges )
     {
-        expectGetMode( originalDirMode, originalFileMode );
+        archiver.setFileMode( anyInt() );
+        EasyMock.expectLastCall();
+        expect( archiver.getOverrideDirectoryMode() ).andReturn( originalDirMode );
+        expect( archiver.getOverrideFileMode() ).andReturn( originalFileMode );
+        archiver.setDirectoryMode( anyInt() );
+        EasyMock.expectLastCall();
         // one of the changes will occur below, when we restore the original mode.
         if ( numberOfChanges > 1 )
         {
@@ -144,17 +116,6 @@ public class MockAndControlForAddDependencySetsTask
         archiver.setFileMode( originalFileMode );
     }
 
-    public void expectGetMode( final int originalDirMode, final int originalFileMode )
-    {
-        archiver.setFileMode( anyInt() );
-        EasyMock.expectLastCall().anyTimes();
-        expect( archiver.getOverrideDirectoryMode() ).andReturn( originalDirMode );
-        expect( archiver.getOverrideFileMode() ).andReturn( originalFileMode );
-        archiver.setDirectoryMode( anyInt() );
-        EasyMock.expectLastCall().anyTimes();
-
-    }
-
     public void expectAddFile( final File file, final String outputLocation )
     {
         try
@@ -191,26 +152,9 @@ public class MockAndControlForAddDependencySetsTask
         }
     }
 
-    public void expectGetReactorProjects( final List<MavenProject> projects )
-    {
-        expect( configSource.getReactorProjects() ).andReturn( projects ).anyTimes();
-    }
-
-    public void expectCSGetFinalName( final String finalName )
-    {
-        expect( configSource.getFinalName() ).andReturn( finalName ).anyTimes();
-    }
-
     public void expectGetDestFile( final File destFile )
     {
-        expect( archiver.getDestFile() ).andReturn( destFile ).anyTimes();
-    }
-
-    public void expectCSGetRepositories( final ArtifactRepository localRepo,
-                                         final List<ArtifactRepository> remoteRepos )
-    {
-        expect( configSource.getLocalRepository() ).andReturn( localRepo ).anyTimes();
-        expect( configSource.getRemoteRepositories() ).andReturn( remoteRepos ).anyTimes();
+        expect( archiver.getDestFile() ).andReturn( destFile ).atLeastOnce();
     }
 
     public void expectBuildFromRepository( final ProjectBuildingException error )
@@ -265,7 +209,7 @@ public class MockAndControlForAddDependencySetsTask
         try
         {
             expect( projectBuilder.build( (Artifact) anyObject(), (ProjectBuildingRequest) anyObject() ) ).andReturn(
-                pbr ).anyTimes();
+                pbr );
         }
         catch ( final ProjectBuildingException e )
         {
@@ -273,18 +217,13 @@ public class MockAndControlForAddDependencySetsTask
         }
     }
 
-    public void expectGetSession( final MavenSession session )
-    {
-        expect( configSource.getMavenSession() ).andReturn( session ).anyTimes();
-    }
-
     public void expectResolveDependencySets()
         throws DependencyResolutionException
     {
         expect( dependencyResolver.resolveDependencySets( (Assembly) anyObject(),
                                                           (AssemblerConfigurationSource) anyObject(),
                                                           (List<DependencySet>) anyObject() ) ).andReturn(
-            new LinkedHashMap<DependencySet, Set<Artifact>>() ).anyTimes();
+            new LinkedHashMap<DependencySet, Set<Artifact>>() );
 
     }
 
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 3d4b573..9dd5f30 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
@@ -19,43 +19,22 @@ package org.apache.maven.plugins.assembly.archive.task.testutils;
  * under the License.
  */
 
-import junit.framework.Assert;
-import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
-import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.archiver.Archiver;
-import org.codehaus.plexus.archiver.ArchiverException;
-import org.codehaus.plexus.archiver.FileSet;
-import org.easymock.EasyMock;
 import org.easymock.classextension.EasyMockSupport;
 
-import java.io.File;
-
-import static org.easymock.EasyMock.anyObject;
 import static org.easymock.EasyMock.expect;
 
 public class MockAndControlForAddFileSetsTask
 {
-
-    public final AssemblerConfigurationSource configSource;
-
     public final Archiver archiver;
 
-    public File archiveBaseDir;
-
     public MockAndControlForAddFileSetsTask( EasyMockSupport mockManager )
     {
-        configSource = mockManager.createMock( AssemblerConfigurationSource.class );
+        
         archiver = mockManager.createMock( Archiver.class );
-
-        expect( configSource.getMavenSession() ).andReturn( null ).anyTimes();
     }
 
-    public void expectGetArchiveBaseDirectory()
-    {
-        expect( configSource.getArchiveBaseDirectory() ).andReturn( archiveBaseDir ).anyTimes();
-    }
-
-    void expectModeChanges( int[] modes, int modeChangeCount )
+    public void expectModeChanges( int[] modes, int modeChangeCount )
     {
         expect( archiver.getOverrideDirectoryMode() ).andReturn( modes[0] );
         expect( archiver.getOverrideFileMode() ).andReturn( modes[1] );
@@ -87,56 +66,4 @@ public class MockAndControlForAddFileSetsTask
         }
     }
 
-    public void expectAdditionOfSingleFileSet( MavenProject project, String finalName, boolean shouldAddDir,
-                                               int[] modes, int modeChangeCount, boolean isDebugEnabled )
-    {
-        expectAdditionOfSingleFileSet( project, finalName, shouldAddDir, modes, modeChangeCount, isDebugEnabled, true );
-
-    }
-
-    public void expectAdditionOfSingleFileSet( MavenProject project, String finalName, boolean shouldAddDir,
-                                               int[] modes, int modeChangeCount, boolean isDebugEnabled,
-                                               boolean isProjectUsed )
-    {
-        // the logger sends a debug message with this info inside the addFileSet(..) method..
-        if ( isDebugEnabled )
-        {
-            expect( archiver.getOverrideDirectoryMode() ).andReturn( modes[0] );
-            expect( archiver.getOverrideFileMode() ).andReturn( modes[1] );
-        }
-
-        if ( isProjectUsed )
-        {
-            expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
-        }
-
-        expect( configSource.getFinalName() ).andReturn( finalName ).atLeastOnce();
-
-        if ( shouldAddDir )
-        {
-            expectModeChanges( modes, modeChangeCount );
-
-            try
-            {
-                archiver.addFileSet( (FileSet) anyObject() );
-                EasyMock.expectLastCall().atLeastOnce();
-            }
-            catch ( ArchiverException e )
-            {
-                Assert.fail( "Should never happen." );
-            }
-        }
-
-    }
-
-    public void expectGetProject( MavenProject project )
-    {
-        expect( configSource.getProject() ).andReturn( project ).atLeastOnce();
-    }
-
-    public void expectGetFinalName( String finalName )
-    {
-        expect( configSource.getFinalName() ).andReturn( finalName ).atLeastOnce();
-    }
-
 }
diff --git a/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java b/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java
index 7b238c2..52ab6c0 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java
@@ -138,10 +138,6 @@ public class DefaultDependencyResolverTest
         project.getModel().addModule( module1.getArtifactId() );
         project.getModel().addModule( module2.getArtifactId() );
 
-        expect( cs.getReactorProjects() ).andReturn( Arrays.asList( project, module1, module2 ) ).anyTimes();
-        expect( cs.getProject() ).andReturn( project ).anyTimes();
-        expect( cs.getMavenSession() ).andReturn( newMavenSession( project ) ).anyTimes();
-
         final ResolutionManagementInfo info = new ResolutionManagementInfo();
 
         final ModuleSet ms = new ModuleSet();
@@ -177,9 +173,8 @@ public class DefaultDependencyResolverTest
         project.getModel().addModule( module1.getArtifactId() );
         project.getModel().addModule( module2.getArtifactId() );
 
-        expect( cs.getReactorProjects() ).andReturn( Arrays.asList( project, module1, module2 ) ).anyTimes();
-        expect( cs.getProject() ).andReturn( project ).anyTimes();
-        expect( cs.getMavenSession() ).andReturn( newMavenSession( project ) ).anyTimes();
+        expect( cs.getReactorProjects() ).andReturn( Arrays.asList( project, module1, module2 ) );
+        expect( cs.getProject() ).andReturn( project );
 
         final ResolutionManagementInfo info = new ResolutionManagementInfo();
 
diff --git a/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyExpressionEvaluatorTest.java b/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyExpressionEvaluatorTest.java
index 075083d..e947678 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyExpressionEvaluatorTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyExpressionEvaluatorTest.java
@@ -19,9 +19,10 @@ package org.apache.maven.plugins.assembly.interpolation;
  * under the License.
  */
 
-import junit.framework.TestCase;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.execution.MavenSession;
+import static org.easymock.EasyMock.expect;
+
+import java.util.Properties;
+
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Model;
 import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
@@ -31,11 +32,8 @@ import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluatio
 import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator;
 import org.codehaus.plexus.interpolation.fixed.PropertiesBasedValueSource;
 import org.easymock.classextension.EasyMockSupport;
-import org.easymock.classextension.IMocksControl;
-
-import java.util.Properties;
 
-import static org.easymock.EasyMock.expect;
+import junit.framework.TestCase;
 
 public class AssemblyExpressionEvaluatorTest
     extends TestCase
@@ -106,30 +104,18 @@ public class AssemblyExpressionEvaluatorTest
 
         final EasyMockSupport mm = new EasyMockSupport();
 
-        MavenSession session = mm.createControl().createMock( MavenSession.class );
-
         final Properties execProps = new Properties();
         execProps.setProperty( "groupId", "still.another.id" );
 
         PropertiesBasedValueSource cliProps = new PropertiesBasedValueSource( execProps );
-        expect( session.getExecutionProperties() ).andReturn( execProps ).anyTimes();
-        expect( session.getUserProperties() ).andReturn( new Properties() ).anyTimes();
 
         AssemblerConfigurationSource cs = mm.createControl().createMock( AssemblerConfigurationSource.class );
         expect( cs.getCommandLinePropsInterpolator() ).andReturn(
-            FixedStringSearchInterpolator.create( cliProps ) ).anyTimes();
-        expect( cs.getRepositoryInterpolator() ).andReturn( FixedStringSearchInterpolator.create() ).anyTimes();
-        expect( cs.getEnvInterpolator() ).andReturn( FixedStringSearchInterpolator.create() ).anyTimes();
-
-        expect( cs.getMavenSession() ).andReturn( session ).anyTimes();
+            FixedStringSearchInterpolator.create( cliProps ) );
+        expect( cs.getRepositoryInterpolator() ).andReturn( FixedStringSearchInterpolator.create() );
+        expect( cs.getEnvInterpolator() ).andReturn( FixedStringSearchInterpolator.create() );
         expect( cs.getProject() ).andReturn( new MavenProject( model ) );
 
-        final IMocksControl lrCtl = mm.createControl();
-        final ArtifactRepository lr = lrCtl.createMock( ArtifactRepository.class );
-
-        expect( lr.getBasedir() ).andReturn( "/path/to/local/repo" ).anyTimes();
-        expect( cs.getLocalRepository() ).andReturn( lr ).anyTimes();
-
         mm.replayAll();
 
         final Object result = new AssemblyExpressionEvaluator( cs ).evaluate( "assembly.${groupId}" );
diff --git a/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyInterpolatorTest.java b/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyInterpolatorTest.java
index 1fdbe11..5ae020e 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyInterpolatorTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyInterpolatorTest.java
@@ -42,8 +42,6 @@ import java.io.StringReader;
 import java.util.List;
 import java.util.Properties;
 
-import static org.easymock.EasyMock.expect;
-
 public class AssemblyInterpolatorTest
     extends TestCase
 {
@@ -210,10 +208,6 @@ public class AssemblyInterpolatorTest
         final Properties execProps = new Properties();
         execProps.setProperty( "groupId", "still.another.id" );
 
-        expect( session.getExecutionProperties() ).andReturn( execProps ).anyTimes();
-
-        expect( session.getUserProperties() ).andReturn( new Properties() ).anyTimes();
-
         final PojoConfigSource cs = new PojoConfigSource();
 
         final ArtifactRepository lr = mm.createMock( ArtifactRepository.class );
@@ -225,8 +219,6 @@ public class AssemblyInterpolatorTest
             FixedStringSearchInterpolator.create( new PropertiesBasedValueSource( execProps ) ) );
         cs.setEnvInterpolator( FixedStringSearchInterpolator.empty() );
 
-        expect( lr.getBasedir() ).andReturn( "/path/to/local/repo" ).anyTimes();
-
         mm.replayAll();
 
         final MavenProject project = new MavenProject( model );
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 78cf6b8..8e91d05 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
@@ -686,7 +686,7 @@ public class AssemblyFormatUtilsTest
         when( session.getExecutionProperties() ).thenReturn( System.getProperties() );
 
         final AssemblerConfigurationSource cs = mockManager.createMock( AssemblerConfigurationSource.class );
-        expect( cs.getMavenSession() ).andReturn( session ).anyTimes();
+        expect( cs.getMavenSession() ).andReturn( session );
         DefaultAssemblyArchiverTest.setupInterpolators( cs, mainProject );
 
         mockManager.replayAll();
@@ -788,7 +788,7 @@ public class AssemblyFormatUtilsTest
         when( session.getExecutionProperties() ).thenReturn( System.getProperties() );
 
         final AssemblerConfigurationSource cs = mockManager.createMock( AssemblerConfigurationSource.class );
-        expect( cs.getMavenSession() ).andReturn( session ).anyTimes();
+        expect( cs.getMavenSession() ).andReturn( session );
         DefaultAssemblyArchiverTest.setupInterpolators( cs, mainProject );
 
         String result;