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