You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ti...@apache.org on 2020/05/09 01:00:39 UTC
[maven-surefire] branch SUREFIRE-1787 updated: unit tests
This is an automated email from the ASF dual-hosted git repository.
tibordigana pushed a commit to branch SUREFIRE-1787
in repository https://gitbox.apache.org/repos/asf/maven-surefire.git
The following commit(s) were added to refs/heads/SUREFIRE-1787 by this push:
new 6e5b893 unit tests
6e5b893 is described below
commit 6e5b8931110f9f22c537ac2972b45dbe5d6526a5
Author: tibordigana <ti...@apache.org>
AuthorDate: Sat May 9 03:00:11 2020 +0200
unit tests
---
.../plugin/surefire/AbstractSurefireMojo.java | 62 ++-
.../surefire/SurefireDependencyResolver.java | 16 +-
.../plugin/surefire/AbstractSurefireMojoTest.java | 444 +++++++++++----------
.../surefire/SurefireDependencyResolverTest.java | 5 +-
pom.xml | 2 +-
5 files changed, 271 insertions(+), 258 deletions(-)
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
index 055eff0..67686ce 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
@@ -119,6 +119,7 @@ import java.util.TreeSet;
import java.util.concurrent.ConcurrentHashMap;
import static java.lang.Boolean.TRUE;
+import static java.lang.Integer.parseInt;
import static java.lang.Thread.currentThread;
import static java.util.Arrays.asList;
import static java.util.Collections.addAll;
@@ -126,7 +127,6 @@ import static java.util.Collections.singletonList;
import static java.util.Collections.singletonMap;
import static org.apache.maven.surefire.shared.lang3.StringUtils.substringBeforeLast;
import static org.apache.maven.surefire.shared.lang3.SystemUtils.IS_OS_WINDOWS;
-import static org.apache.maven.artifact.ArtifactUtils.artifactMapByVersionlessId;
import static org.apache.maven.plugin.surefire.SurefireDependencyResolver.isWithinVersionSpec;
import static org.apache.maven.plugin.surefire.util.DependencyScanner.filter;
import static org.apache.maven.plugin.surefire.SurefireHelper.replaceThreadNumberPlaceholders;
@@ -2318,7 +2318,7 @@ public abstract class AbstractSurefireMojo
Artifact artifact = getPluginArtifactMap().get( "org.junit.platform:junit-platform-engine" );
if ( artifact == null )
{
- artifact = getProjectArtifactMap().get( "org.junit.platform:junit-platform-commons" );
+ return getProjectArtifactMap().get( "org.junit.platform:junit-platform-commons" );
}
return artifact;
@@ -2499,7 +2499,7 @@ public abstract class AbstractSurefireMojo
}
else
{
- return Integer.parseInt( trimmed );
+ return parseInt( trimmed );
}
}
@@ -3104,7 +3104,7 @@ public abstract class AbstractSurefireMojo
private final Artifact junitPlatformArtifact;
private final TestClassPath testClasspath;
- JUnitPlatformProviderInfo( Artifact junitPlatformArtifact, TestClassPath testClasspath )
+ JUnitPlatformProviderInfo( Artifact junitPlatformArtifact, @Nonnull TestClassPath testClasspath )
{
this.junitPlatformArtifact = junitPlatformArtifact;
this.testClasspath = testClasspath;
@@ -3140,24 +3140,24 @@ public abstract class AbstractSurefireMojo
ProjectBuildingRequest request = getSession().getProjectBuildingRequest();
Plugin plugin = getPluginDescriptor().getPlugin();
- Set<Artifact> engines = surefireDependencyResolver.resolvePluginDependencies( request, plugin );
+ Map<String, Artifact> engines = surefireDependencyResolver.resolvePluginDependencies( request, plugin );
- // tymto sa len zarovna verzia junit-platform-launcher z classpathu providera
if ( hasDependencyPlatformEngine( engines ) )
{
- Map<String, Artifact> engineArtifacts = artifactMapByVersionlessId( engines );
- providerArtifacts.putAll( engineArtifacts );
+ providerArtifacts.putAll( engines );
}
- else
+ else if ( !hasDependencyPlatformEngine( testDependencies ) )
{
+ String engineVersion = null;
if ( hasDependencyJupiterAPI( testDependencies ) )
{
String engineGroupId = "org.junit.jupiter";
String engineArtifactId = "junit-jupiter-engine";
String engineCoordinates = engineGroupId + ":" + engineArtifactId;
String api = "org.junit.jupiter:junit-jupiter-api";
- getConsoleLogger().debug( "Test dependencies contain " + api + ". Resolving " + engineCoordinates );
- String engineVersion = testDependencies.get( api ).getBaseVersion();
+ engineVersion = testDependencies.get( api ).getBaseVersion();
+ getConsoleLogger().debug( "Test dependencies contain "
+ + api + ". Resolving " + engineCoordinates + ":" + engineVersion );
addEngineByApi( engineGroupId, engineArtifactId, engineVersion, providerArtifacts );
}
@@ -3167,10 +3167,13 @@ public abstract class AbstractSurefireMojo
String engineGroupId = "org.junit.vintage";
String engineArtifactId = "junit-vintage-engine";
String engineCoordinates = engineGroupId + ":" + engineArtifactId;
- String api = "org.junit.jupiter:junit-jupiter-api";
- getConsoleLogger().debug( "Test dependencies contain JUnit4. Resolving " + engineCoordinates );
- String engineVersion = testDependencies.get( api ).getBaseVersion();
- addEngineByApi( engineGroupId, engineArtifactId, engineVersion, providerArtifacts );
+
+ if ( engineVersion != null )
+ {
+ getConsoleLogger().debug( "Test dependencies contain JUnit4. Resolving "
+ + engineCoordinates + ":" + engineVersion );
+ addEngineByApi( engineGroupId, engineArtifactId, engineVersion, providerArtifacts );
+ }
}
}
@@ -3219,35 +3222,16 @@ public abstract class AbstractSurefireMojo
return r;
}
- private boolean hasDependencyVintageEngine( Map<String, Artifact> dependencies )
- {
- return dependencies.containsKey( "org.junit.vintage:junit-vintage-engine" )
- || hasGroupArtifactId( "org.junit.vintage", "junit-vintage-engine", getProject().getArtifact() );
- }
-
private boolean hasDependencyJupiterAPI( Map<String, Artifact> dependencies )
{
- return dependencies.containsKey( "org.junit.jupiter:junit-jupiter-api" )
- || hasGroupArtifactId( "org.junit.jupiter", "junit-jupiter-api", getProject().getArtifact() );
+ return dependencies.containsKey( "org.junit.jupiter:junit-jupiter-api" );
}
private boolean hasDependencyPlatformEngine( Map<String, Artifact> dependencies )
{
- return dependencies.containsKey( "org.junit.platform:junit-platform-engine" )
- || hasGroupArtifactId( "org.junit.platform", "junit-platform-engine", getProject().getArtifact() );
- }
-
- private boolean hasDependencyPlatformEngine( Collection<Artifact> dependencies )
- {
- if ( hasGroupArtifactId( "org.junit.platform", "junit-platform-engine", getProject().getArtifact() ) )
+ for ( Entry<String, Artifact> dependency : dependencies.entrySet() )
{
- return true;
- }
-
- for ( Artifact dependency : dependencies )
- {
- if ( dependency.getGroupId().equals( "org.junit.platform" )
- && dependency.getArtifactId().equals( "junit-platform-engine" ) )
+ if ( dependency.getKey().equals( "org.junit.platform:junit-platform-engine" ) )
{
return true;
}
@@ -3351,7 +3335,9 @@ public abstract class AbstractSurefireMojo
{
ProjectBuildingRequest request = getSession().getProjectBuildingRequest();
Plugin plugin = getPluginDescriptor().getPlugin();
- return surefireDependencyResolver.resolvePluginDependencies( request, plugin );
+ Map<String, Artifact> providerArtifacts =
+ surefireDependencyResolver.resolvePluginDependencies( request, plugin );
+ return new LinkedHashSet<>( providerArtifacts.values() );
}
}
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireDependencyResolver.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireDependencyResolver.java
index 6da4a1a..63d5582 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireDependencyResolver.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireDependencyResolver.java
@@ -21,6 +21,7 @@ package org.apache.maven.plugin.surefire;
import java.util.Collection;
import java.util.Iterator;
+import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
@@ -94,7 +95,7 @@ final class SurefireDependencyResolver
private final String pluginName;
- private final DependencyResolver depencencyResolver;
+ private final DependencyResolver dependencyResolver;
private final boolean offline;
@@ -102,7 +103,7 @@ final class SurefireDependencyResolver
ArtifactRepository localRepository,
List<ArtifactRepository> pluginRemoteRepositories,
List<ArtifactRepository> projectRemoteRepositories, String pluginName,
- DependencyResolver depencencyResolver, boolean offline )
+ DependencyResolver dependencyResolver, boolean offline )
{
this.repositorySystem = repositorySystem;
this.log = log;
@@ -110,7 +111,7 @@ final class SurefireDependencyResolver
this.pluginRemoteRepositories = pluginRemoteRepositories;
this.projectRemoteRepositories = projectRemoteRepositories;
this.pluginName = pluginName;
- this.depencencyResolver = depencencyResolver;
+ this.dependencyResolver = dependencyResolver;
this.offline = offline;
}
@@ -138,19 +139,20 @@ final class SurefireDependencyResolver
}
}
- Set<Artifact> resolvePluginDependencies( ProjectBuildingRequest request, Plugin plugin )
+ Map<String, Artifact> resolvePluginDependencies( ProjectBuildingRequest request, Plugin plugin )
throws MojoExecutionException
{
Collection<Dependency> pluginDependencies = plugin.getDependencies();
try
{
- Iterable<ArtifactResult> resolvedPluginDependencies = depencencyResolver.resolveDependencies( request,
+ Iterable<ArtifactResult> resolvedPluginDependencies = dependencyResolver.resolveDependencies( request,
pluginDependencies, null, including( SCOPE_COMPILE, SCOPE_COMPILE_PLUS_RUNTIME, SCOPE_RUNTIME ) );
- Set<Artifact> resolved = new LinkedHashSet<>();
+ Map<String, Artifact> resolved = new LinkedHashMap<>();
for ( ArtifactResult resolvedPluginDependency : resolvedPluginDependencies )
{
- resolved.add( resolvedPluginDependency.getArtifact() );
+ Artifact artifact = resolvedPluginDependency.getArtifact();
+ resolved.put( artifact.getGroupId() + ":" + artifact.getArtifactId(), artifact );
}
return resolved;
}
diff --git a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoTest.java b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoTest.java
index a2a8795..158a14c 100644
--- a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoTest.java
+++ b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoTest.java
@@ -28,6 +28,7 @@ import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Model;
import org.apache.maven.model.Plugin;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
@@ -38,6 +39,7 @@ import org.apache.maven.project.ProjectBuildingRequest;
import org.apache.maven.repository.RepositorySystem;
import org.apache.maven.shared.artifact.filter.resolve.TransformableFilter;
import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult;
+import org.apache.maven.shared.transfer.dependencies.DependableCoordinate;
import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver;
import org.apache.maven.surefire.booter.ClassLoaderConfiguration;
import org.apache.maven.surefire.booter.Classpath;
@@ -52,7 +54,6 @@ import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
-import org.mockito.ArgumentMatchers;
import org.mockito.Mock;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
@@ -77,6 +78,7 @@ import static java.io.File.separatorChar;
import static java.util.Arrays.asList;
import static java.util.Collections.emptySet;
import static java.util.Collections.singleton;
+import static java.util.Collections.singletonList;
import static java.util.Collections.singletonMap;
import static org.apache.maven.surefire.shared.lang3.SystemUtils.IS_OS_WINDOWS;
import static org.apache.maven.artifact.versioning.VersionRange.createFromVersion;
@@ -86,7 +88,6 @@ import static org.fest.assertions.MapAssert.entry;
import static org.junit.Assert.fail;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.ArgumentMatchers.isNull;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.when;
import static org.mockito.Mockito.verify;
@@ -119,6 +120,14 @@ public class AbstractSurefireMojoTest
{
MavenSession session = mock( MavenSession.class );
mojo.setSession( session );
+
+ PluginDescriptor pluginDescriptor = mock( PluginDescriptor.class );
+ Plugin plugin = new Plugin();
+ plugin.setGroupId( "org.apache.maven.surefire" );
+ plugin.setArtifactId( "maven-surefire-plugin" );
+ plugin.setVersion( "1" );
+ when( pluginDescriptor.getPlugin() ).thenReturn( plugin );
+ mojo.setPluginDescriptor( pluginDescriptor );
}
@Test
@@ -552,13 +561,15 @@ public class AbstractSurefireMojoTest
final VersionRange surefireVersion = createFromVersion( "1" );
- Artifact junitPlatformArtifact = new DefaultArtifact( "org.apache.maven.surefire",
- "surefire-junit-platform", surefireVersion, null, "jar", null, mock( ArtifactHandler.class ) );
+ Artifact testClasspathJUnit = new DefaultArtifact( "junit", "junit",
+ createFromVersion( "4.12" ), null, "jar", null, mock( ArtifactHandler.class ) );
- Artifact testClasspathJUnit = new DefaultArtifact( "junit", "junit", createFromVersion( "4.12" ), null, "jar",
- null, mock( ArtifactHandler.class ) );
+ Artifact testClasspathHamcrest = new DefaultArtifact( "org.hamcrest", "hamcrest-core",
+ createFromVersion( "1.3" ), null, "jar", null, mock( ArtifactHandler.class ) );
- Iterable<Artifact> testArtifacts = singleton( testClasspathJUnit );
+ Collection<Artifact> testArtifacts = new ArrayList<>();
+ testArtifacts.add( testClasspathJUnit );
+ testArtifacts.add( testClasspathHamcrest );
File classesDirectory = new File( "target/classes" );
@@ -588,7 +599,6 @@ public class AbstractSurefireMojoTest
}
} );
final ArtifactResolutionResult surefireProviderResolutionResult = mock( ArtifactResolutionResult.class );
- final ArtifactResolutionResult junit4ResolutionResult = mock( ArtifactResolutionResult.class );
when( repositorySystem.resolve( any( ArtifactResolutionRequest.class ) ) )
.thenAnswer( new Answer<ArtifactResolutionResult>()
{
@@ -601,35 +611,20 @@ public class AbstractSurefireMojoTest
{
return surefireProviderResolutionResult;
}
- else if ( artifact.getGroupId().equals( "junit" )
- && artifact.getArtifactId().equals( "junit" )
- && artifact.getVersion().equals( "4.12" ) )
+ else if ( "org.junit.platform".equals( artifact.getGroupId() )
+ && "junit-platform-launcher".equals( artifact.getArtifactId() )
+ && "1.4.0".equals( artifact.getVersion() ) )
{
- return junit4ResolutionResult;
+ return createExpectedJUnitPlatformLauncherResolutionResult();
}
else
{
- fail();
+ fail( artifact.getGroupId() + ":" + artifact.getArtifactId() );
return null;
}
}
} );
- DependencyResolver dependencyResolver = mock( DependencyResolver.class );
- when( dependencyResolver.resolveDependencies( any( ProjectBuildingRequest.class ),
- ArgumentMatchers.<Dependency>anyCollection(), isNull( Collection.class ),
- any( TransformableFilter.class ) ) )
- .thenAnswer( new Answer<Object>()
- {
- @Override
- public Object answer( InvocationOnMock invocation )
- {
- Collection deps = (Collection) invocation.getArguments()[1];
- assertThat( deps ).isEmpty();
- return emptySet();
- }
- } );
-
Artifact java5 = new DefaultArtifact( "org.apache.maven.surefire", "common-java5",
surefireVersion, null, "jar", null, mock( ArtifactHandler.class ) );
Artifact launcher = new DefaultArtifact( "org.junit.platform", "junit-platform-launcher",
@@ -654,19 +649,54 @@ public class AbstractSurefireMojoTest
when( surefireProviderResolutionResult.getArtifacts() )
.thenReturn( providerArtifacts );
- Artifact junit = new DefaultArtifact( "junit", "junit",
- createFromVersion( "4.12" ), null, "jar", null, mock( ArtifactHandler.class ) );
- Artifact hamcrest = new DefaultArtifact( "org.hamcrest", "hamcrest-core",
- createFromVersion( "1.3" ), null, "jar", null, mock( ArtifactHandler.class ) );
- Set<Artifact> junitArtifacts = new HashSet<>();
- junitArtifacts.add( junit );
- junitArtifacts.add( hamcrest );
- when( junit4ResolutionResult.getArtifacts() )
- .thenReturn( junitArtifacts );
-
mojo.setRepositorySystem( repositorySystem );
mojo.setLogger( mock( Logger.class ) );
- mojo.setDependencyResolver( dependencyResolver );
+ mojo.setDependencyResolver( new DependencyResolverMock()
+ {
+ @Override
+ public Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest,
+ Collection<Dependency> dependencies,
+ Collection<Dependency> managedDependencies,
+ TransformableFilter filter )
+ {
+ assertThat( dependencies ).hasSize( 1 );
+ Dependency pluginDependency = dependencies.iterator().next();
+ assertThat( pluginDependency.getGroupId() ).isEqualTo( "org.junit.vintage" );
+ assertThat( pluginDependency.getArtifactId() ).isEqualTo( "junit-vintage-engine" );
+ assertThat( pluginDependency.getVersion() ).isEqualTo( "5.4.0" );
+
+ Artifact a1 = new DefaultArtifact( "org.junit.vintage", "junit-vintage-engine",
+ createFromVersion( "5.4.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
+
+ Artifact a2 = new DefaultArtifact( "org.apiguardian", "apiguardian-api",
+ createFromVersion( "1.0.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
+
+ Artifact a3 = new DefaultArtifact( "org.junit.platform", "junit-platform-engine",
+ createFromVersion( "1.4.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
+
+ Artifact a4 = new DefaultArtifact( "junit", "junit",
+ createFromVersion( "4.12" ), null, "jar", null, mock( ArtifactHandler.class ) );
+
+ Artifact a5 = new DefaultArtifact( "org.hamcrest", "hamcrest-core",
+ createFromVersion( "1.3" ), null, "jar", null, mock( ArtifactHandler.class ) );
+
+ Artifact a6 = new DefaultArtifact( "org.opentest4j", "opentest4j",
+ createFromVersion( "1.1.1" ), null, "jar", null, mock( ArtifactHandler.class ) );
+
+ final Artifact a7 = new DefaultArtifact( "org.junit.platform", "junit-platform-commons",
+ createFromVersion( "1.4.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
+
+ Collection<ArtifactResult> it = new ArrayList<>();
+ it.add( toArtifactResult( a1 ) );
+ it.add( toArtifactResult( a2 ) );
+ it.add( toArtifactResult( a3 ) );
+ it.add( toArtifactResult( a4 ) );
+ it.add( toArtifactResult( a5 ) );
+ it.add( toArtifactResult( a6 ) );
+ it.add( toArtifactResult( a7 ) );
+ return it;
+ }
+ } );
invokeMethod( mojo, "setupStuff" );
@@ -678,34 +708,42 @@ public class AbstractSurefireMojoTest
Plugin p = mock( Plugin.class );
when( pluginDescriptor.getPlugin() )
.thenReturn( p );
+ Artifact pluginDependency = new DefaultArtifact( "org.junit.vintage", "junit-vintage-engine",
+ createFromVersion( "5.4.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
when( p.getDependencies() )
- .thenReturn( Collections.<Dependency>emptyList() );
+ .thenReturn( singletonList( toDependency( pluginDependency ) ) );
+
+ Artifact pluginTransitiveDependency = new DefaultArtifact( "org.junit.platform", "junit-platform-launcher",
+ createFromVersion( "1.4.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
JUnitPlatformProviderInfo prov =
- mojo.createJUnitPlatformProviderInfo( junitPlatformArtifact, testClasspathWrapper );
+ mojo.createJUnitPlatformProviderInfo( pluginTransitiveDependency, testClasspathWrapper );
Artifact expectedProvider = new DefaultArtifact( "org.apache.maven.surefire", "surefire-junit-platform",
surefireVersion, null, "jar", null, mock( ArtifactHandler.class ) );
Artifact expectedCommonJava5 = new DefaultArtifact( "org.apache.maven.surefire", "common-java5",
surefireVersion, null, "jar", null, mock( ArtifactHandler.class ) );
Artifact expectedLauncher = new DefaultArtifact( "org.junit.platform", "junit-platform-launcher",
- createFromVersion( "1.3.2" ), null, "jar", null, mock( ArtifactHandler.class ) );
+ createFromVersion( "1.4.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
Artifact expectedApiguardian = new DefaultArtifact( "org.apiguardian", "apiguardian-api",
createFromVersion( "1.0.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
Artifact expectedJUnit5Engine = new DefaultArtifact( "org.junit.platform", "junit-platform-engine",
- createFromVersion( "1.3.2" ), null, "jar", null, mock( ArtifactHandler.class ) );
+ createFromVersion( "1.4.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
Artifact expectedOpentest4j = new DefaultArtifact( "org.opentest4j", "opentest4j",
createFromVersion( "1.1.1" ), null, "jar", null, mock( ArtifactHandler.class ) );
Artifact expectedPlatformCommons = new DefaultArtifact( "org.junit.platform", "junit-platform-commons",
- createFromVersion( "1.3.2" ), null, "jar", null, mock( ArtifactHandler.class ) );
+ createFromVersion( "1.4.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
+ Artifact expectedEngine = new DefaultArtifact( "org.junit.vintage", "junit-vintage-engine",
+ createFromVersion( "5.4.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
assertThat( prov.getProviderClasspath() )
- .hasSize( 7 )
+ .hasSize( 8 )
.containsOnly( expectedProvider, expectedCommonJava5, expectedLauncher, expectedApiguardian,
- expectedJUnit5Engine, expectedOpentest4j, expectedPlatformCommons );
+ expectedJUnit5Engine, expectedOpentest4j, expectedPlatformCommons, expectedEngine );
assertThat( testClasspathWrapper.getTestDependencies() )
- .hasSize( 1 )
- .includes( entry( "junit:junit", testClasspathJUnit ) );
+ .hasSize( 2 )
+ .includes( entry( "junit:junit", testClasspathJUnit ),
+ entry( "org.hamcrest:hamcrest-core", testClasspathHamcrest ) );
}
@Test
@@ -716,21 +754,18 @@ public class AbstractSurefireMojoTest
null, "jar", null, mock( ArtifactHandler.class ) ) );
mojo.setProject( mavenProject );
- final VersionRange surefireVersion = createFromVersion( "1" );
-
- Artifact junitPlatformArtifact = new DefaultArtifact( "org.apache.maven.surefire",
- "surefire-junit-platform", surefireVersion, null, "jar", null, mock( ArtifactHandler.class ) );
+ VersionRange surefireVersion = createFromVersion( "1" );
- final Artifact testClasspathSomeTestArtifact = new DefaultArtifact( "third.party", "artifact",
+ Artifact testClasspathSomeTestArtifact = new DefaultArtifact( "third.party", "artifact",
createFromVersion( "1.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
- final Artifact testClasspathVintage = new DefaultArtifact( "org.junit.vintage", "junit-vintage-engine",
+ Artifact testClasspathVintage = new DefaultArtifact( "org.junit.vintage", "junit-vintage-engine",
createFromVersion( "5.4.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
- final Artifact testClasspathApiguardian = new DefaultArtifact( "org.apiguardian", "apiguardian-api",
+ Artifact testClasspathApiguardian = new DefaultArtifact( "org.apiguardian", "apiguardian-api",
createFromVersion( "1.0.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
- final Artifact testClasspathPlatformEng = new DefaultArtifact( "org.junit.platform", "junit-platform-engine",
+ Artifact testClasspathPlatformEng = new DefaultArtifact( "org.junit.platform", "junit-platform-engine",
createFromVersion( "1.4.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
Artifact testClasspathJUnit4 = new DefaultArtifact( "junit", "junit",
@@ -739,10 +774,10 @@ public class AbstractSurefireMojoTest
Artifact testClasspathHamcrest = new DefaultArtifact( "org.hamcrest", "hamcrest-core",
createFromVersion( "1.3" ), null, "jar", null, mock( ArtifactHandler.class ) );
- final Artifact testClasspathOpentest4j = new DefaultArtifact( "org.opentest4j", "opentest4j",
+ Artifact testClasspathOpentest4j = new DefaultArtifact( "org.opentest4j", "opentest4j",
createFromVersion( "1.1.1" ), null, "jar", null, mock( ArtifactHandler.class ) );
- final Artifact testClasspathCommons = new DefaultArtifact( "org.junit.platform", "junit-platform-commons",
+ Artifact testClasspathCommons = new DefaultArtifact( "org.junit.platform", "junit-platform-commons",
createFromVersion( "1.4.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
Iterable<Artifact> testArtifacts = asList( testClasspathSomeTestArtifact, testClasspathVintage,
@@ -777,7 +812,6 @@ public class AbstractSurefireMojoTest
}
} );
final ArtifactResolutionResult surefireProviderResolutionResult = mock( ArtifactResolutionResult.class );
- final ArtifactResolutionResult junit4ResolutionResult = mock( ArtifactResolutionResult.class );
when( repositorySystem.resolve( any( ArtifactResolutionRequest.class ) ) )
.thenAnswer( new Answer<ArtifactResolutionResult>()
{
@@ -791,12 +825,6 @@ public class AbstractSurefireMojoTest
return surefireProviderResolutionResult;
}
else if ( "org.junit.platform".equals( resolvable.getGroupId() )
- && "junit-platform-engine".equals( resolvable.getArtifactId() )
- && "1.4.0".equals( resolvable.getVersion() ) )
- {
- return createVintageEngineResolutionResult();
- }
- else if ( "org.junit.platform".equals( resolvable.getGroupId() )
&& "junit-platform-launcher".equals( resolvable.getArtifactId() )
&& "1.4.0".equals( resolvable.getVersion() ) )
{
@@ -804,7 +832,7 @@ public class AbstractSurefireMojoTest
}
else
{
- fail();
+ fail( resolvable.getGroupId() + ":" + resolvable.getArtifactId() );
return null;
}
}
@@ -830,26 +858,36 @@ public class AbstractSurefireMojoTest
providerArtifacts.add( engine );
providerArtifacts.add( commons );
providerArtifacts.add( opentest4j );
-
when( surefireProviderResolutionResult.getArtifacts() )
.thenReturn( providerArtifacts );
- Artifact junit = new DefaultArtifact( "junit", "junit",
- createFromVersion( "4.12" ), null, "jar", null, mock( ArtifactHandler.class ) );
- Artifact hamcrest = new DefaultArtifact( "org.hamcrest", "hamcrest-core",
- createFromVersion( "1.3" ), null, "jar", null, mock( ArtifactHandler.class ) );
- Set<Artifact> junitArtifacts = new HashSet<>();
- junitArtifacts.add( junit );
- junitArtifacts.add( hamcrest );
- when( junit4ResolutionResult.getArtifacts() )
- .thenReturn( junitArtifacts );
-
mojo.setRepositorySystem( repositorySystem );
mojo.setLogger( mock( Logger.class ) );
+ mojo.setDependencyResolver( new DependencyResolverMock()
+ {
+ @Override
+ public Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest,
+ Collection<Dependency> dependencies,
+ Collection<Dependency> managedDependencies,
+ TransformableFilter filter )
+ {
+ assertThat( dependencies ).isEmpty();
+ return emptySet();
+ }
+ } );
invokeMethod( mojo, "setupStuff" );
+
+ PluginDescriptor pluginDescriptor = mock( PluginDescriptor.class );
+ mojo.setPluginDescriptor( pluginDescriptor );
+ Plugin p = mock( Plugin.class );
+ when( pluginDescriptor.getPlugin() )
+ .thenReturn( p );
+ when( p.getDependencies() )
+ .thenReturn( Collections.<Dependency>emptyList() );
+
JUnitPlatformProviderInfo prov =
- mojo.createJUnitPlatformProviderInfo( junitPlatformArtifact, testClasspathWrapper );
+ mojo.createJUnitPlatformProviderInfo( testClasspathCommons, testClasspathWrapper );
Artifact expectedProvider = new DefaultArtifact( "org.apache.maven.surefire", "surefire-junit-platform",
surefireVersion, null, "jar", null, mock( ArtifactHandler.class ) );
@@ -883,16 +921,13 @@ public class AbstractSurefireMojoTest
final VersionRange surefireVersion = createFromVersion( "1" );
- Artifact junitPlatformArtifact = new DefaultArtifact( "org.apache.maven.surefire",
- "surefire-junit-platform", surefireVersion, null, "jar", null, mock( ArtifactHandler.class ) );
-
- final Artifact testClasspathSomeTestArtifact = new DefaultArtifact( "third.party", "artifact",
+ Artifact testClasspathSomeTestArtifact = new DefaultArtifact( "third.party", "artifact",
createFromVersion( "1.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
- final Artifact testClasspathCommons = new DefaultArtifact( "org.junit.platform", "junit-platform-commons",
+ Artifact testClasspathCommons = new DefaultArtifact( "org.junit.platform", "junit-platform-commons",
createFromVersion( "1.4.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
- final Artifact testClasspathApiguardian = new DefaultArtifact( "org.apiguardian", "apiguardian-api",
+ Artifact testClasspathApiguardian = new DefaultArtifact( "org.apiguardian", "apiguardian-api",
createFromVersion( "1.0.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
Iterable<Artifact> testArtifacts =
@@ -938,32 +973,34 @@ public class AbstractSurefireMojoTest
{
return createSurefireProviderResolutionResult( surefireVersion );
}
+ else if ( "org.junit.platform".equals( resolvable.getGroupId() )
+ && "junit-platform-launcher".equals( resolvable.getArtifactId() )
+ && "1.4.0".equals( resolvable.getVersion() ) )
+ {
+ return createExpectedJUnitPlatformLauncherResolutionResult();
+ }
else
{
- fail();
+ fail( resolvable.getGroupId() + ":" + resolvable.getArtifactId() );
return null;
}
}
} );
- DependencyResolver dependencyResolver = mock( DependencyResolver.class );
- when( dependencyResolver.resolveDependencies( any( ProjectBuildingRequest.class ),
- ArgumentMatchers.<Dependency>anyCollection(), isNull( Collection.class ),
- any( TransformableFilter.class ) ) )
- .thenAnswer( new Answer<Object>()
- {
- @Override
- public Object answer( InvocationOnMock invocation )
- {
- Collection deps = (Collection) invocation.getArguments()[1];
- assertThat( deps ).isEmpty();
- return emptySet();
- }
- } );
-
mojo.setRepositorySystem( repositorySystem );
mojo.setLogger( mock( Logger.class ) );
- mojo.setDependencyResolver( dependencyResolver );
+ mojo.setDependencyResolver( new DependencyResolverMock()
+ {
+ @Override
+ public Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest,
+ Collection<Dependency> dependencies,
+ Collection<Dependency> managedDependencies,
+ TransformableFilter filter )
+ {
+ assertThat( dependencies ).isEmpty();
+ return emptySet();
+ }
+ } );
invokeMethod( mojo, "setupStuff" );
@@ -979,7 +1016,7 @@ public class AbstractSurefireMojoTest
.thenReturn( Collections.<Dependency>emptyList() );
JUnitPlatformProviderInfo prov =
- mojo.createJUnitPlatformProviderInfo( junitPlatformArtifact, testClasspathWrapper );
+ mojo.createJUnitPlatformProviderInfo( testClasspathCommons, testClasspathWrapper );
Set<Artifact> resolvedProviderArtifacts = prov.getProviderClasspath();
Artifact provider = new DefaultArtifact( "org.apache.maven.surefire", "surefire-junit-platform",
@@ -987,9 +1024,9 @@ public class AbstractSurefireMojoTest
Artifact java5 = new DefaultArtifact( "org.apache.maven.surefire", "common-java5",
surefireVersion, null, "jar", null, mock( ArtifactHandler.class ) );
Artifact launcher = new DefaultArtifact( "org.junit.platform", "junit-platform-launcher",
- createFromVersion( "1.3.2" ), null, "jar", null, mock( ArtifactHandler.class ) );
+ createFromVersion( "1.4.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
Artifact engine = new DefaultArtifact( "org.junit.platform", "junit-platform-engine",
- createFromVersion( "1.3.2" ), null, "jar", null, mock( ArtifactHandler.class ) );
+ createFromVersion( "1.4.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
Artifact opentest4j = new DefaultArtifact( "org.opentest4j", "opentest4j",
createFromVersion( "1.1.1" ), null, "jar", null, mock( ArtifactHandler.class ) );
assertThat( resolvedProviderArtifacts )
@@ -1013,9 +1050,6 @@ public class AbstractSurefireMojoTest
final VersionRange surefireVersion = createFromVersion( "1" );
- Artifact junitPlatformArtifact = new DefaultArtifact( "org.apache.maven.surefire",
- "surefire-junit-platform", surefireVersion, null, "jar", null, mock( ArtifactHandler.class ) );
-
final Artifact testClasspathSomeTestArtifact = new DefaultArtifact( "third.party", "artifact",
createFromVersion( "1.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
@@ -1074,11 +1108,6 @@ public class AbstractSurefireMojoTest
{
return createSurefireProviderResolutionResult( surefireVersion );
}
- else if ( resolvable.equals( testClasspathJUnit5 ) )
- {
- return createResolutionResult( testClasspathJUnit5, testClasspathApiguardian,
- testClasspathCommons, testClasspathOpentest4j );
- }
else if ( "org.junit.platform".equals( resolvable.getGroupId() )
&& "junit-platform-launcher".equals( resolvable.getArtifactId() )
&& "1.4.0".equals( resolvable.getVersion() ) )
@@ -1087,7 +1116,7 @@ public class AbstractSurefireMojoTest
}
else
{
- fail();
+ fail( resolvable.getGroupId() + ":" + resolvable.getArtifactId() );
return null;
}
}
@@ -1095,10 +1124,22 @@ public class AbstractSurefireMojoTest
mojo.setRepositorySystem( repositorySystem );
mojo.setLogger( mock( Logger.class ) );
+ mojo.setDependencyResolver( new DependencyResolverMock()
+ {
+ @Override
+ public Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest,
+ Collection<Dependency> dependencies,
+ Collection<Dependency> managedDependencies,
+ TransformableFilter filter )
+ {
+ assertThat( dependencies ).isEmpty();
+ return emptySet();
+ }
+ } );
invokeMethod( mojo, "setupStuff" );
JUnitPlatformProviderInfo prov =
- mojo.createJUnitPlatformProviderInfo( junitPlatformArtifact, testClasspathWrapper );
+ mojo.createJUnitPlatformProviderInfo( testClasspathCommons, testClasspathWrapper );
Set<Artifact> resolvedProviderArtifacts = prov.getProviderClasspath();
Artifact java5 = new DefaultArtifact( "org.apache.maven.surefire", "common-java5",
@@ -1128,9 +1169,6 @@ public class AbstractSurefireMojoTest
final VersionRange surefireVersion = createFromVersion( "1" );
- Artifact junitPlatformArtifact = new DefaultArtifact( "org.apache.maven.surefire",
- "surefire-junit-platform", surefireVersion, null, "jar", null, mock( ArtifactHandler.class ) );
-
final Artifact testClasspathSomeTestArtifact = new DefaultArtifact( "third.party", "artifact",
createFromVersion( "1.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
@@ -1189,11 +1227,6 @@ public class AbstractSurefireMojoTest
{
return createSurefireProviderResolutionResult( surefireVersion );
}
- else if ( resolvable.equals( testClasspathJupiterApi ) )
- {
- return createResolutionResult( testClasspathJupiterApi, testClasspathApiguardian,
- testClasspathCommons, testClasspathOpentest4j );
- }
else if ( "org.junit.platform".equals( resolvable.getGroupId() )
&& "junit-platform-launcher".equals( resolvable.getArtifactId() )
&& "1.4.0".equals( resolvable.getVersion() ) )
@@ -1208,30 +1241,26 @@ public class AbstractSurefireMojoTest
}
else
{
- fail();
+ fail( resolvable.getGroupId() + ":" + resolvable.getArtifactId() );
return null;
}
}
} );
- DependencyResolver dependencyResolver = mock( DependencyResolver.class );
- when( dependencyResolver.resolveDependencies( any( ProjectBuildingRequest.class ),
- ArgumentMatchers.<Dependency>anyCollection(), isNull( Collection.class ),
- any( TransformableFilter.class ) ) )
- .thenAnswer( new Answer<Object>()
- {
- @Override
- public Object answer( InvocationOnMock invocation )
- {
- Collection deps = (Collection) invocation.getArguments()[1];
- assertThat( deps ).isEmpty();
- return emptySet();
- }
- } );
-
mojo.setRepositorySystem( repositorySystem );
mojo.setLogger( mock( Logger.class ) );
- mojo.setDependencyResolver( dependencyResolver );
+ mojo.setDependencyResolver( new DependencyResolverMock()
+ {
+ @Override
+ public Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest,
+ Collection<Dependency> dependencies,
+ Collection<Dependency> managedDependencies,
+ TransformableFilter filter )
+ {
+ assertThat( dependencies ).isEmpty();
+ return emptySet();
+ }
+ } );
invokeMethod( mojo, "setupStuff" );
@@ -1247,7 +1276,7 @@ public class AbstractSurefireMojoTest
.thenReturn( Collections.<Dependency>emptyList() );
JUnitPlatformProviderInfo prov =
- mojo.createJUnitPlatformProviderInfo( junitPlatformArtifact, testClasspathWrapper );
+ mojo.createJUnitPlatformProviderInfo( testClasspathCommons, testClasspathWrapper );
Set<Artifact> resolvedProviderArtifacts = prov.getProviderClasspath();
Artifact java5 = new DefaultArtifact( "org.apache.maven.surefire", "common-java5",
@@ -1281,9 +1310,6 @@ public class AbstractSurefireMojoTest
final VersionRange surefireVersion = createFromVersion( "1" );
- Artifact junitPlatformArtifact = new DefaultArtifact( "org.apache.maven.surefire",
- "surefire-junit-platform", surefireVersion, null, "jar", null, mock( ArtifactHandler.class ) );
-
final Artifact testClasspathSomeTestArtifact = new DefaultArtifact( "third.party", "artifact",
createFromVersion( "1.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
@@ -1349,26 +1375,15 @@ public class AbstractSurefireMojoTest
{
return createSurefireProviderResolutionResult( surefireVersion );
}
- else if ( resolvable.equals( testClasspathJupiterApi ) )
- {
- return createResolutionResult( testClasspathJupiterApi, testClasspathApiguardian,
- testClasspathCommons, testClasspathOpentest4j );
- }
else if ( "org.junit.platform".equals( resolvable.getGroupId() )
&& "junit-platform-launcher".equals( resolvable.getArtifactId() )
&& "1.4.0".equals( resolvable.getVersion() ) )
{
return createExpectedJUnitPlatformLauncherResolutionResult();
}
- else if ( "org.junit.platform".equals( resolvable.getGroupId() )
- && "junit-platform-engine".equals( resolvable.getArtifactId() )
- && "1.4.0".equals( resolvable.getVersion() ) )
- {
- return createVintageEngineResolutionResult();
- }
else
{
- fail();
+ fail( resolvable.getGroupId() + ":" + resolvable.getArtifactId() );
return null;
}
}
@@ -1376,10 +1391,22 @@ public class AbstractSurefireMojoTest
mojo.setRepositorySystem( repositorySystem );
mojo.setLogger( mock( Logger.class ) );
+ mojo.setDependencyResolver( new DependencyResolverMock()
+ {
+ @Override
+ public Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest,
+ Collection<Dependency> dependencies,
+ Collection<Dependency> managedDependencies,
+ TransformableFilter filter )
+ {
+ assertThat( dependencies ).isEmpty();
+ return emptySet();
+ }
+ } );
invokeMethod( mojo, "setupStuff" );
JUnitPlatformProviderInfo prov =
- mojo.createJUnitPlatformProviderInfo( junitPlatformArtifact, testClasspathWrapper );
+ mojo.createJUnitPlatformProviderInfo( testClasspathCommons, testClasspathWrapper );
Set<Artifact> resolvedProviderArtifacts = prov.getProviderClasspath();
Artifact java5 = new DefaultArtifact( "org.apache.maven.surefire", "common-java5",
@@ -1404,7 +1431,6 @@ public class AbstractSurefireMojoTest
@Test
public void shouldSmartlyResolveJUnit5ProviderWithJupiterEngineInPluginDependencies() throws Exception
{
-
final VersionRange surefireVersion = createFromVersion( "1" );
final Artifact plugin = new DefaultArtifact( "org.apache.maven.surefire", "maven-surefire-plugin",
@@ -1447,9 +1473,6 @@ public class AbstractSurefireMojoTest
null, "jar", null, mock( ArtifactHandler.class ) ) );
mojo.setProject( mavenProject );
- Artifact junitPlatformArtifact = new DefaultArtifact( "g", "a",
- createFromVersion( "0" ), null, "jar", null, mock( ArtifactHandler.class ) );
-
final Artifact testClasspathSomeTestArtifact = new DefaultArtifact( "third.party", "artifact",
createFromVersion( "1.0" ), null, "jar", null, mock( ArtifactHandler.class ) );
@@ -1510,54 +1533,9 @@ public class AbstractSurefireMojoTest
{
return createExpectedJUnitPlatformLauncherResolutionResult();
}
- else if ( "org.apache.maven.surefire".equals( resolvable.getGroupId() )
- && "maven-surefire-plugin".equals( resolvable.getArtifactId() )
- && "1".equals( resolvable.getVersion() ) )
- {
- Set<Artifact> pluginItself = new HashSet<>();
- pluginItself.add( plugin );
- pluginItself.add( forkedBooter );
- ArtifactResolutionResult launcherResolutionResult = mock( ArtifactResolutionResult.class );
- when( launcherResolutionResult.getArtifacts() )
- .thenReturn( pluginItself );
- return launcherResolutionResult;
- }
- else
- {
- fail();
- return null;
- }
- }
- } );
-
- DependencyResolver dependencyResolver = mock( DependencyResolver.class );
- when( dependencyResolver.resolveDependencies( any( ProjectBuildingRequest.class ),
- ArgumentMatchers.<Dependency>anyCollection(), isNull( Collection.class ),
- any( TransformableFilter.class ) ) )
- .thenAnswer( new Answer<Object>()
- {
- @Override
- public Object answer( InvocationOnMock invocation )
- {
- Collection deps = (Collection) invocation.getArguments()[1];
- assertThat( deps ).hasSize( 1 );
- Dependency resolvable = (Dependency) deps.iterator().next();
- if ( "org.junit.jupiter".equals( resolvable.getGroupId() )
- && "junit-jupiter-engine".equals( resolvable.getArtifactId() )
- && "5.4.0".equals( resolvable.getVersion() ) )
- {
- Set<ArtifactResult> resolvedPluginDeps = new HashSet<>();
- resolvedPluginDeps.add( toArtifactResult( pluginDepJupiterEngine ) );
- resolvedPluginDeps.add( toArtifactResult( pluginDepPlatformEngine ) );
- resolvedPluginDeps.add( toArtifactResult( pluginDepJupiterApi ) );
- resolvedPluginDeps.add( toArtifactResult( pluginDepApiguardian ) );
- resolvedPluginDeps.add( toArtifactResult( pluginDepCommons ) );
- resolvedPluginDeps.add( toArtifactResult( pluginDepOpentest4j ) );
- return resolvedPluginDeps;
- }
else
{
- fail();
+ fail( resolvable.getGroupId() + ":" + resolvable.getArtifactId() );
return null;
}
}
@@ -1565,12 +1543,41 @@ public class AbstractSurefireMojoTest
mojo.setRepositorySystem( repositorySystem );
mojo.setLogger( mock( Logger.class ) );
- mojo.setDependencyResolver( dependencyResolver );
+ mojo.setDependencyResolver( new DependencyResolverMock()
+ {
+ @Override
+ public Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest,
+ Collection<Dependency> dependencies,
+ Collection<Dependency> managedDependencies,
+ TransformableFilter filter )
+ {
+ assertThat( dependencies ).hasSize( 1 );
+ Dependency resolvable = (Dependency) dependencies.iterator().next();
+ if ( "org.junit.jupiter".equals( resolvable.getGroupId() )
+ && "junit-jupiter-engine".equals( resolvable.getArtifactId() )
+ && "5.4.0".equals( resolvable.getVersion() ) )
+ {
+ Set<ArtifactResult> resolvedPluginDeps = new HashSet<>();
+ resolvedPluginDeps.add( toArtifactResult( pluginDepJupiterEngine ) );
+ resolvedPluginDeps.add( toArtifactResult( pluginDepPlatformEngine ) );
+ resolvedPluginDeps.add( toArtifactResult( pluginDepJupiterApi ) );
+ resolvedPluginDeps.add( toArtifactResult( pluginDepApiguardian ) );
+ resolvedPluginDeps.add( toArtifactResult( pluginDepCommons ) );
+ resolvedPluginDeps.add( toArtifactResult( pluginDepOpentest4j ) );
+ return resolvedPluginDeps;
+ }
+ else
+ {
+ fail( resolvable.getGroupId() + ":" + resolvable.getArtifactId() );
+ return null;
+ }
+ }
+ } );
invokeMethod( mojo, "setupStuff" );
JUnitPlatformProviderInfo prov =
- mojo.createJUnitPlatformProviderInfo( junitPlatformArtifact, testClasspathWrapper );
+ mojo.createJUnitPlatformProviderInfo( pluginDepPlatformEngine, testClasspathWrapper );
when( mojo.getSession().getProjectBuildingRequest() )
.thenReturn( mock( ProjectBuildingRequest.class ) );
@@ -1631,8 +1638,6 @@ public class AbstractSurefireMojoTest
Set<Artifact> resolvedLauncherArtifacts = new HashSet<>();
resolvedLauncherArtifacts.add( new DefaultArtifact( "org.junit.vintage", "junit-vintage-engine",
createFromVersion( "5.4.0" ), null, "jar", null, mock( ArtifactHandler.class ) ) );
- resolvedLauncherArtifacts.add( new DefaultArtifact( "org.junit.jupiter", "junit-jupiter-api",
- createFromVersion( "5.4.0" ), null, "jar", null, mock( ArtifactHandler.class ) ) );
resolvedLauncherArtifacts.add( new DefaultArtifact( "junit", "junit",
createFromVersion( "4.12" ), null, "jar", null, mock( ArtifactHandler.class ) ) );
resolvedLauncherArtifacts.add( new DefaultArtifact( "org.hamcrest", "hamcrest-core",
@@ -2227,6 +2232,25 @@ public class AbstractSurefireMojoTest
}
}
return new AR();
+ }
+ private abstract static class DependencyResolverMock implements DependencyResolver
+ {
+ @Override
+ public Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest,
+ DependableCoordinate coordinate,
+ TransformableFilter filter )
+ {
+ fail( "unexpected call of DependencyResolver" );
+ return null;
+ }
+
+ @Override
+ public Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest, Model model,
+ TransformableFilter filter )
+ {
+ fail( "unexpected call of DependencyResolver" );
+ return null;
+ }
}
}
diff --git a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/SurefireDependencyResolverTest.java b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/SurefireDependencyResolverTest.java
index c90a857..d9fcf6f 100644
--- a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/SurefireDependencyResolverTest.java
+++ b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/SurefireDependencyResolverTest.java
@@ -47,6 +47,7 @@ import java.io.File;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashSet;
+import java.util.Map;
import java.util.Set;
import static java.util.Collections.singleton;
@@ -325,12 +326,12 @@ public class SurefireDependencyResolverTest
when( resolutionResult.getArtifacts() )
.thenReturn( singleton( providerAsArtifact ) );
- Set<Artifact> providers = surefireDependencyResolver.resolvePluginDependencies( request, plugin );
+ Map<String, Artifact> providers = surefireDependencyResolver.resolvePluginDependencies( request, plugin );
verify( depencencyResolver, times( 1 ) )
.resolveDependencies( request, dep.getValue(), null, filter.getValue() );
- assertThat( providers )
+ assertThat( providers.values() )
.hasSize( 1 )
.containsOnly( providerAsArtifact );
diff --git a/pom.xml b/pom.xml
index 06361d2..796bcfd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -355,7 +355,7 @@
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
- <version>2.27.0</version>
+ <version>2.28.2</version>
<exclusions>
<exclusion>
<groupId>org.hamcrest</groupId>