You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2020/05/20 10:24:18 UTC
[maven] 01/01: [MNG-6909] Use CDI to inject objects under tests
This is an automated email from the ASF dual-hosted git repository.
slachiewicz pushed a commit to branch MNG-6909
in repository https://gitbox.apache.org/repos/asf/maven.git
commit 9e66ded66b06f9efa9ee00d6b254c65fb948a898
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Wed May 20 12:11:21 2020 +0200
[MNG-6909] Use CDI to inject objects under tests
---
maven-core/pom.xml | 5 +++
.../maven/AbstractCoreMavenComponentTestCase.java | 14 ++++---
.../java/org/apache/maven/DefaultMavenTest.java | 6 ++-
.../src/test/java/org/apache/maven/MavenTest.java | 15 ++------
.../maven/ProjectDependenciesResolverTest.java | 12 ++----
.../maven/lifecycle/DefaultLifecyclesTest.java | 5 +--
.../lifecycle/LifecycleExecutorSubModulesTest.java | 45 +++++++---------------
.../maven/lifecycle/LifecycleExecutorTest.java | 34 +++-------------
.../internal/LifecycleDependencyResolverTest.java | 17 ++------
.../org/apache/maven/plugin/PluginManagerTest.java | 12 ++----
.../PluginParameterExpressionEvaluatorTest.java | 10 ++---
.../java/org/apache/maven/cli/MavenCliTest.java | 11 +-----
12 files changed, 59 insertions(+), 127 deletions(-)
diff --git a/maven-core/pom.xml b/maven-core/pom.xml
index 43a6bee..a2fa73e 100644
--- a/maven-core/pom.xml
+++ b/maven-core/pom.xml
@@ -128,6 +128,11 @@ under the License.
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>commons-jxpath</groupId>
<artifactId>commons-jxpath</artifactId>
<scope>test</scope>
diff --git a/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java b/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
index 179b8f9..d9530bc 100644
--- a/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
+++ b/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
@@ -22,6 +22,7 @@ package org.apache.maven;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.Properties;
@@ -45,28 +46,31 @@ import org.apache.maven.project.ProjectBuildingRequest;
import org.apache.maven.repository.RepositorySystem;
import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusTestCase;
-import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.util.FileUtils;
import org.eclipse.aether.DefaultRepositorySystemSession;
import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
import org.eclipse.aether.repository.LocalRepository;
+import javax.inject.Inject;
+
public abstract class AbstractCoreMavenComponentTestCase
extends PlexusTestCase
{
- @Requirement
+ @Inject
protected RepositorySystem repositorySystem;
- @Requirement
+ @Inject
protected org.apache.maven.project.ProjectBuilder projectBuilder;
protected void setUp()
throws Exception
{
- repositorySystem = lookup( RepositorySystem.class );
- projectBuilder = lookup( org.apache.maven.project.ProjectBuilder.class );
+ ((DefaultPlexusContainer)getContainer())
+ .addPlexusInjector( Collections.emptyList(),
+ binder -> binder.requestInjection( this ) );
}
@Override
diff --git a/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java b/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java
index ab073a6..4dbb488 100644
--- a/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java
+++ b/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java
@@ -3,6 +3,8 @@ package org.apache.maven;
import org.apache.maven.execution.MavenExecutionRequest;
import org.apache.maven.execution.MavenExecutionResult;
+import javax.inject.Inject;
+
import static java.util.Arrays.asList;
/*
@@ -25,10 +27,12 @@ import static java.util.Arrays.asList;
*/
public class DefaultMavenTest extends AbstractCoreMavenComponentTestCase{
+ @Inject
+ private Maven maven;
+
public void testThatErrorDuringProjectDependencyGraphCreationAreStored()
throws Exception
{
- Maven maven = getContainer().lookup( Maven.class );
MavenExecutionRequest request = createMavenExecutionRequest( getProject( "cyclic-reference" ) ).setGoals( asList("validate") );
MavenExecutionResult result = maven.execute( request );
diff --git a/maven-core/src/test/java/org/apache/maven/MavenTest.java b/maven-core/src/test/java/org/apache/maven/MavenTest.java
index 3e24860..a2c8fba 100644
--- a/maven-core/src/test/java/org/apache/maven/MavenTest.java
+++ b/maven-core/src/test/java/org/apache/maven/MavenTest.java
@@ -17,25 +17,18 @@ package org.apache.maven;
import org.apache.maven.exception.ExceptionHandler;
-import org.codehaus.plexus.component.annotations.Requirement;
+
+import javax.inject.Inject;
public class MavenTest
extends AbstractCoreMavenComponentTestCase
{
- @Requirement
+ @Inject
private Maven maven;
- @Requirement
+ @Inject
private ExceptionHandler exceptionHandler;
- protected void setUp()
- throws Exception
- {
- super.setUp();
- maven = lookup( Maven.class );
- exceptionHandler = lookup( ExceptionHandler.class );
- }
-
@Override
protected void tearDown()
throws Exception
diff --git a/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java b/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
index 0bc2978..dabb192 100644
--- a/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
+++ b/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
@@ -27,21 +27,15 @@ import java.util.Set;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Requirement;
+
+import javax.inject.Inject;
public class ProjectDependenciesResolverTest
extends AbstractCoreMavenComponentTestCase
{
- @Requirement
+ @Inject
private ProjectDependenciesResolver resolver;
- protected void setUp()
- throws Exception
- {
- super.setUp();
- resolver = lookup( ProjectDependenciesResolver.class );
- }
-
@Override
protected void tearDown()
throws Exception
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
index d025cdd..ecdf988 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
@@ -17,8 +17,8 @@ package org.apache.maven.lifecycle;
import org.codehaus.plexus.ContainerConfiguration;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusTestCase;
-import org.codehaus.plexus.component.annotations.Requirement;
+import javax.inject.Inject;
import java.util.List;
/**
@@ -28,7 +28,7 @@ import java.util.List;
public class DefaultLifecyclesTest
extends PlexusTestCase
{
- @Requirement
+ @Inject
private DefaultLifecycles defaultLifeCycles;
@Override
@@ -56,7 +56,6 @@ public class DefaultLifecyclesTest
}
public void testLifecycle()
- throws Exception
{
final List<Lifecycle> cycles = defaultLifeCycles.getLifeCycles();
assertNotNull( cycles );
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
index df585fb..3085caa 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
@@ -23,10 +23,11 @@ import org.apache.maven.lifecycle.internal.LifecycleExecutionPlanCalculator;
import org.apache.maven.lifecycle.internal.LifecycleModuleBuilder;
import org.apache.maven.lifecycle.internal.LifecycleTaskSegmentCalculator;
import org.apache.maven.lifecycle.internal.MojoExecutor;
-import org.codehaus.plexus.component.annotations.Requirement;
+
+import javax.inject.Inject;
/**
- * Just asserts that it's able to create those components. Handy when plexus gets a nervous breakdown.
+ * Just asserts that it's able to create those components. Handy when CDI container gets a nervous breakdown.
*
* @author Kristian Rosenvold
*/
@@ -34,49 +35,29 @@ import org.codehaus.plexus.component.annotations.Requirement;
public class LifecycleExecutorSubModulesTest
extends AbstractCoreMavenComponentTestCase
{
- @Requirement
+ @Inject
private DefaultLifecycles defaultLifeCycles;
- @Requirement
+ @Inject
private MojoExecutor mojoExecutor;
- @Requirement
+ @Inject
private LifecycleModuleBuilder lifeCycleBuilder;
- @Requirement
+ @Inject
private LifecycleDependencyResolver lifeCycleDependencyResolver;
- @Requirement
+ @Inject
private LifecycleExecutionPlanCalculator lifeCycleExecutionPlanCalculator;
- @Requirement
+ @Inject
private LifeCyclePluginAnalyzer lifeCyclePluginAnalyzer;
- @Requirement
+ @Inject
private LifecycleTaskSegmentCalculator lifeCycleTaskSegmentCalculator;
-
- protected void setUp()
- throws Exception
- {
- super.setUp();
- defaultLifeCycles = lookup( DefaultLifecycles.class );
- mojoExecutor = lookup( MojoExecutor.class );
- lifeCycleBuilder = lookup( LifecycleModuleBuilder.class );
- lifeCycleDependencyResolver = lookup( LifecycleDependencyResolver.class );
- lifeCycleExecutionPlanCalculator = lookup( LifecycleExecutionPlanCalculator.class );
- lifeCyclePluginAnalyzer = lookup( LifeCyclePluginAnalyzer.class );
- lifeCycleTaskSegmentCalculator = lookup( LifecycleTaskSegmentCalculator.class );
- lookup( ExceptionHandler.class );
- }
-
- @Override
- protected void tearDown()
- throws Exception
- {
- defaultLifeCycles = null;
- super.tearDown();
- }
+ @Inject
+ private ExceptionHandler exceptionHandler;
protected String getProjectsDirectory()
{
@@ -84,7 +65,6 @@ public class LifecycleExecutorSubModulesTest
}
public void testCreation()
- throws Exception
{
assertNotNull( defaultLifeCycles );
assertNotNull( mojoExecutor );
@@ -93,6 +73,7 @@ public class LifecycleExecutorSubModulesTest
assertNotNull( lifeCycleExecutionPlanCalculator );
assertNotNull( lifeCyclePluginAnalyzer );
assertNotNull( lifeCycleTaskSegmentCalculator );
+ assertNotNull( exceptionHandler );
}
}
\ No newline at end of file
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
index 5252a21..08c0aac 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
@@ -22,7 +22,6 @@ import java.util.Collections;
import java.util.List;
import org.apache.maven.AbstractCoreMavenComponentTestCase;
-import org.apache.maven.exception.ExceptionHandler;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.execution.MojoExecutionEvent;
import org.apache.maven.execution.MojoExecutionListener;
@@ -33,7 +32,6 @@ import org.apache.maven.lifecycle.internal.DefaultLifecycleTaskSegmentCalculator
import org.apache.maven.lifecycle.internal.ExecutionPlanItem;
import org.apache.maven.lifecycle.internal.LifecycleExecutionPlanCalculator;
import org.apache.maven.lifecycle.internal.LifecycleTask;
-import org.apache.maven.lifecycle.internal.LifecycleTaskSegmentCalculator;
import org.apache.maven.lifecycle.internal.MojoDescriptorCreator;
import org.apache.maven.lifecycle.internal.TaskSegment;
import org.apache.maven.model.Plugin;
@@ -42,45 +40,25 @@ import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoNotFoundException;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.util.xml.Xpp3Dom;
+import javax.inject.Inject;
+
public class LifecycleExecutorTest
extends AbstractCoreMavenComponentTestCase
{
- @Requirement
+ @Inject
private DefaultLifecycleExecutor lifecycleExecutor;
- @Requirement
+ @Inject
private DefaultLifecycleTaskSegmentCalculator lifeCycleTaskSegmentCalculator;
- @Requirement
+ @Inject
private LifecycleExecutionPlanCalculator lifeCycleExecutionPlanCalculator;
- @Requirement
+ @Inject
private MojoDescriptorCreator mojoDescriptorCreator;
-
- protected void setUp()
- throws Exception
- {
- super.setUp();
- lifecycleExecutor = (DefaultLifecycleExecutor) lookup( LifecycleExecutor.class );
- lifeCycleTaskSegmentCalculator =
- (DefaultLifecycleTaskSegmentCalculator) lookup( LifecycleTaskSegmentCalculator.class );
- lifeCycleExecutionPlanCalculator = lookup( LifecycleExecutionPlanCalculator.class );
- mojoDescriptorCreator = lookup( MojoDescriptorCreator.class );
- lookup( ExceptionHandler.class );
- }
-
- @Override
- protected void tearDown()
- throws Exception
- {
- lifecycleExecutor = null;
- super.tearDown();
- }
-
protected String getProjectsDirectory()
{
return "src/test/projects/lifecycle-executor";
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
index 89257d1..6d47829 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
@@ -30,12 +30,12 @@ import org.apache.maven.AbstractCoreMavenComponentTestCase;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.junit.Test;
+
+import javax.inject.Inject;
public class LifecycleDependencyResolverTest extends AbstractCoreMavenComponentTestCase
{
- @Requirement
+ @Inject
private LifecycleDependencyResolver resolver;
@Override
@@ -44,15 +44,6 @@ public class LifecycleDependencyResolverTest extends AbstractCoreMavenComponentT
return null;
}
- @Override
- protected void setUp()
- throws Exception
- {
- super.setUp();
- resolver = lookup( LifecycleDependencyResolver.class );
- }
-
- @Test
public void testCachedReactorProjectDependencies() throws Exception
{
MavenSession session = createMavenSession( new File( "src/test/projects/lifecycle-dependency-resolver/pom.xml" ), new Properties(), true );
@@ -71,7 +62,7 @@ public class LifecycleDependencyResolverTest extends AbstractCoreMavenComponentT
MavenProject lib = session.getProjects().get( 1 );
MavenProject war = session.getProjects().get( 2 );
- assertEquals( null , war.getArtifactMap().get("org.apache.maven.its.mng6300:mng6300-lib").getFile() );
+ assertNull( war.getArtifactMap().get( "org.apache.maven.its.mng6300:mng6300-lib" ).getFile() );
lib.getArtifact().setFile( new File( "lib.jar" ) );
diff --git a/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java b/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
index 3d8306e..58e71fe 100644
--- a/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
@@ -31,22 +31,16 @@ import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.component.repository.ComponentDescriptor;
+import javax.inject.Inject;
+
public class PluginManagerTest
extends AbstractCoreMavenComponentTestCase
{
- @Requirement
+ @Inject
private DefaultBuildPluginManager pluginManager;
- protected void setUp()
- throws Exception
- {
- super.setUp();
- pluginManager = (DefaultBuildPluginManager) lookup( BuildPluginManager.class );
- }
-
@Override
protected void tearDown()
throws Exception
diff --git a/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java b/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
index 04a7ee5..e579d69 100644
--- a/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
@@ -47,6 +47,8 @@ import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
import org.codehaus.plexus.util.dag.CycleDetectedException;
+import javax.inject.Inject;
+
/**
* @author Jason van Zyl
*/
@@ -55,15 +57,9 @@ public class PluginParameterExpressionEvaluatorTest
{
private static final String FS = File.separator;
+ @Inject
private RepositorySystem factory;
- public void setUp()
- throws Exception
- {
- super.setUp();
- factory = lookup( RepositorySystem.class );
- }
-
@Override
protected void tearDown()
throws Exception
diff --git a/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java b/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
index 173b78c..5838944 100644
--- a/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
+++ b/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
@@ -322,15 +322,8 @@ public class MavenCliTest
super.customizeContainer(container);
container.addComponent(mock(Maven.class), "org.apache.maven.Maven");
- ((DefaultPlexusContainer)container).addPlexusInjector(Collections.<PlexusBeanModule>emptyList(),
- new Module()
- {
- public void configure( final Binder binder )
- {
- binder.bind( EventSpyDispatcher.class ).toInstance( eventSpyDispatcherMock );
- }
- }
- );
+ ((DefaultPlexusContainer)container).addPlexusInjector(Collections.emptyList(),
+ binder -> binder.bind( EventSpyDispatcher.class ).toInstance( eventSpyDispatcherMock ) );
}
};