runtime support
diff --git a/pom.xml b/pom.xml
index 48d0212..38d3e2c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -100,7 +100,6 @@
<dependency>
<groupId>org.eclipse.sisu</groupId>
<artifactId>org.eclipse.sisu.plexus</artifactId>
- <version>0.0.0.M2a</version>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
@@ -151,6 +150,11 @@
<version>1.1.0</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.eclipse.sisu</groupId>
+ <artifactId>org.eclipse.sisu.inject</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
diff --git a/src/main/java/org/apache/maven/plugins/resources/TestResourcesMojo.java b/src/main/java/org/apache/maven/plugins/resources/TestResourcesMojo.java
index 72df179..99e4d95 100644
--- a/src/main/java/org/apache/maven/plugins/resources/TestResourcesMojo.java
+++ b/src/main/java/org/apache/maven/plugins/resources/TestResourcesMojo.java
@@ -20,10 +20,10 @@
*/
import org.apache.maven.api.plugin.MojoException;
+import org.apache.maven.api.plugin.annotations.LifecyclePhase;
+import org.apache.maven.api.plugin.annotations.Mojo;
+import org.apache.maven.api.plugin.annotations.Parameter;
import org.apache.maven.model.Resource;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
import java.io.File;
import java.util.List;
@@ -35,8 +35,7 @@
* @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
*/
-@Mojo( name = "testResources", defaultPhase = LifecyclePhase.PROCESS_TEST_RESOURCES, requiresProject = true,
- threadSafe = true )
+@Mojo( name = "testResources", defaultPhase = LifecyclePhase.PROCESS_TEST_RESOURCES, requiresProject = true )
public class TestResourcesMojo
extends ResourcesMojo
{
diff --git a/src/test/java/org/apache/maven/plugins/resources/AbstractPropertyUtilsTest.java b/src/test/java/org/apache/maven/plugins/resources/AbstractPropertyUtilsTest.java
index 366aa39..833899d 100644
--- a/src/test/java/org/apache/maven/plugins/resources/AbstractPropertyUtilsTest.java
+++ b/src/test/java/org/apache/maven/plugins/resources/AbstractPropertyUtilsTest.java
@@ -26,14 +26,15 @@
import java.util.Enumeration;
import java.util.Properties;
-import org.apache.maven.plugin.testing.AbstractMojoTestCase;
import org.codehaus.plexus.util.IOUtil;
+import org.junit.jupiter.api.BeforeEach;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
/**
* Base class for propertyutils test case
*/
public abstract class AbstractPropertyUtilsTest
- extends AbstractMojoTestCase
{
protected File propertyFile;
@@ -45,11 +46,10 @@
protected abstract File getValidationFile();
+ @BeforeEach
protected void setUp()
throws Exception
{
- super.setUp();
-
// load data
propertyFile = getPropertyFile();
assertNotNull( propertyFile );
diff --git a/src/test/java/org/apache/maven/plugins/resources/BasicPropertyUtilsTest.java b/src/test/java/org/apache/maven/plugins/resources/BasicPropertyUtilsTest.java
index 35473b9..a641cce 100644
--- a/src/test/java/org/apache/maven/plugins/resources/BasicPropertyUtilsTest.java
+++ b/src/test/java/org/apache/maven/plugins/resources/BasicPropertyUtilsTest.java
@@ -23,6 +23,12 @@
import java.util.Properties;
import org.apache.maven.shared.filtering.PropertyUtils;
+import org.junit.jupiter.api.Test;
+
+import static org.codehaus.plexus.testing.PlexusExtension.getBasedir;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
public class BasicPropertyUtilsTest
extends AbstractPropertyUtilsTest
@@ -58,9 +64,8 @@
/**
* load property test case can be adjusted by modifying the basic.properties and basic_validation properties
- *
- * @throws Exception
*/
+ @Test
public void testBasicLoadProperty_FF()
throws Exception
{
@@ -72,9 +77,8 @@
/**
* load property test case can be adjusted by modifying the basic.properties and basic_validation properties
- *
- * @throws Exception
*/
+ @Test
public void testBasicLoadProperty_TF()
throws Exception
{
@@ -86,9 +90,8 @@
/**
* load property test case can be adjusted by modifying the basic.properties and basic_validation properties
- *
- * @throws Exception
*/
+ @Test
public void testBasicLoadProperty_TT()
throws Exception
{
@@ -101,9 +104,8 @@
/**
* load property test case can be adjusted by modifying the basic.properties and basic_validation properties
- *
- * @throws Exception
*/
+ @Test
public void testNonExistentProperty()
throws Exception
{
diff --git a/src/test/java/org/apache/maven/plugins/resources/CopyResourcesMojoTest.java b/src/test/java/org/apache/maven/plugins/resources/CopyResourcesMojoTest.java
index 5d12f90..39f48c3 100644
--- a/src/test/java/org/apache/maven/plugins/resources/CopyResourcesMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/resources/CopyResourcesMojoTest.java
@@ -1,13 +1,20 @@
package org.apache.maven.plugins.resources;
import java.io.File;
+import java.nio.file.Files;
import java.util.Collections;
import org.apache.maven.model.Resource;
-import org.apache.maven.plugin.testing.AbstractMojoTestCase;
-import org.apache.maven.plugins.resources.ResourcesMojo;
+import org.apache.maven.api.plugin.testing.InjectMojo;
+import org.apache.maven.api.plugin.testing.MojoTest;
import org.apache.maven.plugins.resources.stub.MavenProjectResourcesStub;
import org.codehaus.plexus.util.FileUtils;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.apache.maven.api.plugin.testing.MojoExtension.setVariableValueToObject;
+import static org.codehaus.plexus.testing.PlexusExtension.getBasedir;
+import static org.junit.jupiter.api.Assertions.assertTrue;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -32,21 +39,21 @@
* @author Olivier Lamy
* @version $Id$
*/
+@MojoTest
public class CopyResourcesMojoTest
- extends AbstractMojoTestCase
{
- protected final static String defaultPomFilePath = "/target/test-classes/unit/resources-test/plugin-config.xml";
+ public static final String PLUGIN_CONFIG_XML = "classpath:/unit/resources-test/plugin-config.xml";
File outputDirectory = new File( getBasedir(), "/target/copyResourcesTests" );
+ @BeforeEach
protected void setUp()
throws Exception
{
- super.setUp();
if ( !outputDirectory.exists() )
{
- outputDirectory.mkdirs();
+ Files.createDirectories( outputDirectory.toPath() );
}
else
{
@@ -54,12 +61,11 @@
}
}
- public void testCopyWithoutFiltering()
+ @Test
+ @InjectMojo( goal = "resources", pom = PLUGIN_CONFIG_XML )
+ public void testCopyWithoutFiltering( ResourcesMojo mojo )
throws Exception
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
-
mojo.setOutputDirectory( outputDirectory );
Resource resource = new Resource();
diff --git a/src/test/java/org/apache/maven/plugins/resources/PropertyUtilsExceptionTest.java b/src/test/java/org/apache/maven/plugins/resources/PropertyUtilsExceptionTest.java
index a0c00a9..32346cc 100644
--- a/src/test/java/org/apache/maven/plugins/resources/PropertyUtilsExceptionTest.java
+++ b/src/test/java/org/apache/maven/plugins/resources/PropertyUtilsExceptionTest.java
@@ -23,20 +23,21 @@
import java.io.FileNotFoundException;
import org.apache.maven.shared.filtering.PropertyUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertThrows;
public class PropertyUtilsExceptionTest
{
/**
* load property test case can be adjusted by modifying the basic.properties and basic_validation properties
- *
- * @throws Exception
*/
- @Test( expected = FileNotFoundException.class )
+ @Test
public void loadPropertyFileShouldFailWithFileNotFoundException()
throws Exception
{
- PropertyUtils.loadPropertyFile( new File( "NON_EXISTENT_FILE" ), true, true );
+ assertThrows( FileNotFoundException.class, () ->
+ PropertyUtils.loadPropertyFile( new File( "NON_EXISTENT_FILE" ), true, true ) );
}
}
diff --git a/src/test/java/org/apache/maven/plugins/resources/ResourcesMojoTest.java b/src/test/java/org/apache/maven/plugins/resources/ResourcesMojoTest.java
index 31ad57c..b7f9479 100644
--- a/src/test/java/org/apache/maven/plugins/resources/ResourcesMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/resources/ResourcesMojoTest.java
@@ -29,43 +29,47 @@
import java.util.List;
import java.util.Properties;
+import org.apache.maven.api.Session;
import org.apache.maven.execution.DefaultMavenExecutionRequest;
import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.execution.MavenSession;
import org.apache.maven.model.Resource;
-import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import org.apache.maven.api.plugin.testing.InjectMojo;
+import org.apache.maven.api.plugin.testing.MojoTest;
+import org.apache.maven.api.plugin.testing.stubs.SessionStub;
import org.apache.maven.plugins.resources.stub.MavenProjectResourcesStub;
-import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.util.FileUtils;
-import org.eclipse.aether.RepositorySystemSession;
+import org.junit.jupiter.api.Test;
+import static org.apache.maven.api.plugin.testing.MojoExtension.setVariableValueToObject;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+@MojoTest
public class ResourcesMojoTest
- extends AbstractMojoTestCase
{
- protected final static String defaultPomFilePath = "/target/test-classes/unit/resources-test/plugin-config.xml";
+
+ public static final String PLUGIN_CONFIG_XML = "classpath:/unit/resources-test/plugin-config.xml";
/**
* test mojo lookup, test harness should be working fine
*
* @throws Exception
*/
- public void testHarnessEnvironment()
+ @Test
+ @InjectMojo( goal = "resources", pom = PLUGIN_CONFIG_XML )
+ public void testHarnessEnvironment( ResourcesMojo mojo )
throws Exception
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
-
assertNotNull( mojo );
}
- /**
- * @throws Exception
- */
- public void testResourceDirectoryStructure()
+ @Test
+ @InjectMojo( goal = "resources", pom = PLUGIN_CONFIG_XML )
+ public void testResourceDirectoryStructure( ResourcesMojo mojo )
throws Exception
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceDirectoryStructure" );
List<Resource> resources = project.getBuild()
.getResources();
@@ -96,14 +100,11 @@
assertTrue( FileUtils.fileExists( resourcesDir + "/notpackage/test" ) );
}
- /**
- * @throws Exception
- */
- public void testResourceDirectoryStructure_RelativePath()
+ @Test
+ @InjectMojo( goal = "resources", pom = PLUGIN_CONFIG_XML )
+ public void testResourceDirectoryStructure_RelativePath( ResourcesMojo mojo )
throws Exception
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceDirectoryStructure_RelativePath" );
List<Resource> resources = project.getBuild()
.getResources();
@@ -135,17 +136,13 @@
assertTrue( FileUtils.fileExists( resourcesDir + "/notpackage/test" ) );
}
- /**
- * @throws Exception
- */
- public void testResourceEncoding()
+ @Test
+ @InjectMojo( goal = "resources", pom = PLUGIN_CONFIG_XML )
+ public void testResourceEncoding( ResourcesMojo mojo )
throws Exception
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
MavenProjectResourcesStub project = new MavenProjectResourcesStub( "encoding" );
- List<Resource> resources = project.getBuild()
- .getResources();
+ List<Resource> resources = project.getBuild().getResources();
assertNotNull( mojo );
@@ -167,14 +164,11 @@
assertTrue( FileUtils.fileExists( resourcesDir + "/file4.txt" ) );
}
- /**
- * @throws Exception
- */
- public void testResourceInclude()
+ @Test
+ @InjectMojo( goal = "resources", pom = PLUGIN_CONFIG_XML )
+ public void testResourceInclude( ResourcesMojo mojo )
throws Exception
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceInclude" );
List<Resource> resources = project.getBuild()
.getResources();
@@ -221,14 +215,11 @@
assertFalse( FileUtils.fileExists( resourcesDir + "/notpackage/nottest/file.txt" ) );
}
- /**
- * @throws Exception
- */
- public void testResourceExclude()
+ @Test
+ @InjectMojo( goal = "resources", pom = PLUGIN_CONFIG_XML )
+ public void testResourceExclude( ResourcesMojo mojo )
throws Exception
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceExclude" );
List<Resource> resources = project.getBuild()
.getResources();
@@ -276,14 +267,11 @@
assertFalse( FileUtils.fileExists( resourcesDir + "/notpackage/nottest/file.txt" ) );
}
- /**
- * @throws Exception
- */
- public void testResourceTargetPath()
+ @Test
+ @InjectMojo( goal = "resources", pom = PLUGIN_CONFIG_XML )
+ public void testResourceTargetPath( ResourcesMojo mojo )
throws Exception
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceTargetPath" );
List<Resource> resources = project.getBuild()
.getResources();
@@ -316,14 +304,11 @@
assertTrue( FileUtils.fileExists( resourcesDir + "/org/apache/maven/plugin/test/notpackage/test" ) );
}
- /**
- * @throws Exception
- */
- public void testResourceSystemProperties_Filtering()
+ @Test
+ @InjectMojo( goal = "resources", pom = PLUGIN_CONFIG_XML )
+ public void testResourceSystemProperties_Filtering( ResourcesMojo mojo )
throws Exception
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceSystemProperties_Filtering" );
List<Resource> resources = project.getBuild()
.getResources();
@@ -346,8 +331,7 @@
MavenExecutionRequest request = new DefaultMavenExecutionRequest();
request.setSystemProperties( System.getProperties() );
- MavenSession mavenSession =
- new MavenSession( (PlexusContainer) null, (RepositorySystemSession) null, request, null );
+ Session mavenSession = new SessionStub();
setVariableValueToObject( mojo, "session", mavenSession );
mojo.execute();
@@ -357,29 +341,21 @@
assertTrue( userDir.exists() );
Properties props = new Properties();
- final FileInputStream inStream = new FileInputStream( new File( resourcesDir, "file4.txt" ) );
- try
+ try ( FileInputStream inStream = new FileInputStream( new File( resourcesDir, "file4.txt" ) ) )
{
props.load( inStream );
}
- finally
- {
- inStream.close();
- }
File fileFromFiltering = new File( props.getProperty( "current-working-directory" ) );
- assertTrue( fileFromFiltering.getAbsolutePath() + " does not exist.", fileFromFiltering.exists() );
+ assertTrue( fileFromFiltering.exists(), fileFromFiltering.getAbsolutePath() + " does not exist." );
assertEquals( userDir.getAbsolutePath(), fileFromFiltering.getAbsolutePath() );
}
- /**
- * @throws Exception
- */
- public void testResourceProjectProperties_Filtering()
+ @Test
+ @InjectMojo( goal = "resources", pom = PLUGIN_CONFIG_XML )
+ public void testResourceProjectProperties_Filtering( ResourcesMojo mojo )
throws Exception
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceProjectProperties_Filtering" );
List<Resource> resources = project.getBuild()
.getResources();
@@ -406,14 +382,11 @@
assertContent( resourcesDir + "/file4.txt", checkString );
}
- /**
- * @throws Exception
- */
- public void testProjectProperty_Filtering_PropertyDestination()
+ @Test
+ @InjectMojo( goal = "resources", pom = PLUGIN_CONFIG_XML )
+ public void testProjectProperty_Filtering_PropertyDestination( ResourcesMojo mojo )
throws Exception
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
MavenProjectResourcesStub project =
new MavenProjectResourcesStub( "resourcePojectProperty_Filtering_PropertyDestination" );
List<Resource> resources = project.getBuild()
@@ -444,18 +417,15 @@
assertContent( resourcesDir + "/file4.properties", checkString );
}
- /**
- * @throws Exception
- */
- public void testPropertyFiles_Filtering()
+ @Test
+ @InjectMojo( goal = "resources", pom = PLUGIN_CONFIG_XML )
+ public void testPropertyFiles_Filtering( ResourcesMojo mojo )
throws Exception
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourcePropertyFiles_Filtering" );
List<Resource> resources = project.getBuild()
.getResources();
- LinkedList<String> filterList = new LinkedList<String>();
+ LinkedList<String> filterList = new LinkedList<>();
assertNotNull( mojo );
@@ -480,18 +450,15 @@
assertContent( resourcesDir + "/file4.properties", checkString );
}
- /**
- * @throws Exception
- */
- public void testPropertyFiles_Extra()
+ @Test
+ @InjectMojo( goal = "resources", pom = PLUGIN_CONFIG_XML )
+ public void testPropertyFiles_Extra( ResourcesMojo mojo )
throws Exception
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourcePropertyFiles_Extra" );
List<Resource> resources = project.getBuild()
.getResources();
- LinkedList<String> filterList = new LinkedList<String>();
+ LinkedList<String> filterList = new LinkedList<>();
assertNotNull( mojo );
@@ -516,19 +483,16 @@
assertContent( resourcesDir + "/extra.properties", checkString );
}
- /**
- * @throws Exception
- */
- public void testPropertyFiles_MainAndExtra()
+ @Test
+ @InjectMojo( goal = "resources", pom = PLUGIN_CONFIG_XML )
+ public void testPropertyFiles_MainAndExtra( ResourcesMojo mojo )
throws Exception
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourcePropertyFiles_MainAndExtra" );
List<Resource> resources = project.getBuild()
.getResources();
- LinkedList<String> filterList = new LinkedList<String>();
- LinkedList<String> extraFilterList = new LinkedList<String>();
+ LinkedList<String> filterList = new LinkedList<>();
+ LinkedList<String> extraFilterList = new LinkedList<>();
assertNotNull( mojo );
@@ -563,19 +527,17 @@
/**
* Validates that a Filter token containing a project property will be resolved before the Filter is applied to the
* resources.
- *
- * @throws Exception
*/
- public void testPropertyFiles_Filtering_TokensInFilters()
+ @Test
+ @InjectMojo( goal = "resources", pom = PLUGIN_CONFIG_XML )
+ public void testPropertyFiles_Filtering_TokensInFilters( ResourcesMojo mojo )
throws Exception
{
- final File testPom = new File( getBasedir(), defaultPomFilePath );
- final ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
final MavenProjectResourcesStub project =
new MavenProjectResourcesStub( "resourcePropertyFiles_Filtering_TokensInFilters" );
final List<Resource> resources = project.getBuild()
.getResources();
- final LinkedList<String> filterList = new LinkedList<String>();
+ final LinkedList<String> filterList = new LinkedList<>();
assertNotNull( mojo );
@@ -601,21 +563,19 @@
assertContent( resourcesDir + "/file4.properties", checkString );
}
- public void testWindowsPathEscapingDisabled()
+ @Test
+ @InjectMojo( goal = "resources", pom = PLUGIN_CONFIG_XML )
+ public void testWindowsPathEscapingDisabled( ResourcesMojo mojo )
throws Exception
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
MavenProjectResourcesStub project = new MavenProjectResourcesStub( "windows-paths" );
List<Resource> resources = project.getBuild()
.getResources();
assertNotNull( mojo );
- project.getProperties()
- .setProperty( "basePath", "C:\\Users\\Administrator" );
- project.getProperties()
- .setProperty( "docsPath", "${basePath}\\Documents" );
+ project.addProperty( "basePath", "C:\\Users\\Administrator" );
+ project.addProperty( "docsPath", "${basePath}\\Documents" );
project.addFile( "path-listing.txt", "base path is ${basePath}\ndocuments path is ${docsPath}" );
project.setResourceFiltering( 0, true );
@@ -641,21 +601,19 @@
FileUtils.fileRead( new File( resourcesDir, "path-listing.txt" ) ) );
}
- public void testWindowsPathEscapingEnabled()
+ @Test
+ @InjectMojo( goal = "resources", pom = PLUGIN_CONFIG_XML )
+ public void testWindowsPathEscapingEnabled( ResourcesMojo mojo )
throws Exception
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
MavenProjectResourcesStub project = new MavenProjectResourcesStub( "windows-paths" );
List<Resource> resources = project.getBuild()
.getResources();
assertNotNull( mojo );
- project.getProperties()
- .setProperty( "basePath", "C:\\Users\\Administrator" );
- project.getProperties()
- .setProperty( "docsPath", "${basePath}\\Documents" );
+ project.addProperty( "basePath", "C:\\Users\\Administrator" );
+ project.addProperty( "docsPath", "${basePath}\\Documents" );
project.addFile( "path-listing.txt", "base path is ${basePath}\ndocuments path is ${docsPath}" );
project.setResourceFiltering( 0, true );
diff --git a/src/test/java/org/apache/maven/plugins/resources/TestResourcesTest.java b/src/test/java/org/apache/maven/plugins/resources/TestResourcesTest.java
index 28948bf..28890f6 100644
--- a/src/test/java/org/apache/maven/plugins/resources/TestResourcesTest.java
+++ b/src/test/java/org/apache/maven/plugins/resources/TestResourcesTest.java
@@ -24,43 +24,37 @@
import java.util.List;
import org.apache.maven.model.Resource;
-import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import org.apache.maven.api.plugin.testing.InjectMojo;
+import org.apache.maven.api.plugin.testing.MojoTest;
import org.apache.maven.plugins.resources.stub.MavenProjectResourcesStub;
import org.codehaus.plexus.util.FileUtils;
+import org.junit.jupiter.api.Test;
+import static org.apache.maven.api.plugin.testing.MojoExtension.setVariableValueToObject;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+@MojoTest
public class TestResourcesTest
- extends AbstractMojoTestCase
{
- protected final static String defaultPomFilePath = "/target/test-classes/unit/resources-test/plugin-config.xml";
- protected void setUp()
- throws Exception
- {
- super.setUp();
- }
+ public static final String PLUGIN_CONFIG_XML = "classpath:/unit/resources-test/plugin-config.xml";
/**
* test mojo lookup, test harness should be working fine
- *
- * @throws Exception
*/
- public void testHarnessEnvironment()
- throws Exception
+ @Test
+ @InjectMojo( goal = "testResources", pom = PLUGIN_CONFIG_XML )
+ public void testHarnessEnvironment( TestResourcesMojo mojo )
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "testResources", testPom );
-
assertNotNull( mojo );
}
- /**
- * @throws Exception
- */
- public void testTestResourceDirectoryCreation()
+ @Test
+ @InjectMojo( goal = "testResources", pom = PLUGIN_CONFIG_XML )
+ public void testTestResourceDirectoryCreation( TestResourcesMojo mojo )
throws Exception
{
- File testPom = new File( getBasedir(), defaultPomFilePath );
- TestResourcesMojo mojo = (TestResourcesMojo) lookupMojo( "testResources", testPom );
MavenProjectResourcesStub project = new MavenProjectResourcesStub( "testResourceDirectoryStructure" );
List<Resource> resources = project.getBuild().getResources();
diff --git a/src/test/java/org/apache/maven/plugins/resources/stub/MavenProjectBasicStub.java b/src/test/java/org/apache/maven/plugins/resources/stub/MavenProjectBasicStub.java
index af9e4e9..a85a0f4 100644
--- a/src/test/java/org/apache/maven/plugins/resources/stub/MavenProjectBasicStub.java
+++ b/src/test/java/org/apache/maven/plugins/resources/stub/MavenProjectBasicStub.java
@@ -19,16 +19,27 @@
* under the License.
*/
+import javax.annotation.Nonnull;
+
import java.io.File;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.List;
import java.util.Properties;
+import org.apache.maven.api.Artifact;
+import org.apache.maven.api.Dependency;
+import org.apache.maven.api.Project;
+import org.apache.maven.model.Model;
import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
import org.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.util.FileUtils;
public class MavenProjectBasicStub
- extends MavenProjectStub
+ implements Project
{
+ protected Model model;
+
protected String identifier;
protected String testRootDir;
@@ -40,6 +51,7 @@
public MavenProjectBasicStub( String id )
throws Exception
{
+ model = new Model();
properties = new Properties();
identifier = id;
testRootDir = PlexusTestCase.getBasedir() + "/target/test-classes/unit/test-dir/" + identifier;
@@ -72,11 +84,11 @@
}
}
- public File getBasedir()
+ public Path getBasedir()
{
// create an isolated environment
// see setupTestEnvironment for details
- return new File( testRootDir );
+ return Paths.get( testRootDir );
}
public String getGroupId()
@@ -101,11 +113,47 @@
public void addProperty( String key, String value )
{
- properties.put( key, value );
+ model.getProperties().put( key, value );
}
- public Properties getProperties()
+ @Nonnull
+ @Override
+ public Artifact getArtifact()
{
- return properties;
+ return null;
+ }
+
+ @Nonnull
+ @Override
+ public Model getModel()
+ {
+ return model;
+ }
+
+ @Nonnull
+ @Override
+ public Path getPomPath()
+ {
+ return null;
+ }
+
+ @Nonnull
+ @Override
+ public List<Dependency> getDependencies()
+ {
+ return null;
+ }
+
+ @Nonnull
+ @Override
+ public List<Dependency> getManagedDependencies()
+ {
+ return null;
+ }
+
+ @Override
+ public boolean isExecutionRoot()
+ {
+ return false;
}
}
diff --git a/src/test/java/org/apache/maven/plugins/resources/stub/MavenProjectBuildStub.java b/src/test/java/org/apache/maven/plugins/resources/stub/MavenProjectBuildStub.java
index ad032c9..364ebe2 100644
--- a/src/test/java/org/apache/maven/plugins/resources/stub/MavenProjectBuildStub.java
+++ b/src/test/java/org/apache/maven/plugins/resources/stub/MavenProjectBuildStub.java
@@ -67,6 +67,7 @@
directoryList = new ArrayList<String>();
dataMap = new HashMap<String, String>();
setupBuild();
+ getModel().setBuild( build );
}
public void addDirectory( String name )
diff --git a/src/test/java/org/apache/maven/plugins/resources/stub/MavenProjectResourcesStub.java b/src/test/java/org/apache/maven/plugins/resources/stub/MavenProjectResourcesStub.java
index c3c26f2..c7cdeea 100644
--- a/src/test/java/org/apache/maven/plugins/resources/stub/MavenProjectResourcesStub.java
+++ b/src/test/java/org/apache/maven/plugins/resources/stub/MavenProjectResourcesStub.java
@@ -20,6 +20,7 @@
*/
import java.io.File;
+import java.nio.file.Path;
import org.apache.maven.model.Resource;
@@ -93,7 +94,7 @@
// of getBasedir
// setup default resources
- resource.setDirectory( getBasedir().getPath() + "/src/main/resources" );
+ resource.setDirectory( getBasedir() + "/src/main/resources" );
resource.setFiltering( false );
resource.setTargetPath( null );
build.addResource( resource );
@@ -107,7 +108,7 @@
// of getBasedir
// setup default test resources
- resource.setDirectory( getBasedir().getPath() + "/src/test/resources" );
+ resource.setDirectory( getBasedir() + "/src/test/resources" );
resource.setFiltering( false );
resource.setTargetPath( null );
build.addTestResource( resource );
@@ -115,7 +116,7 @@
public File getBaseDir()
{
- return baseDir == null ? super.getBasedir() : baseDir;
+ return baseDir == null ? super.getBasedir().toFile() : baseDir;
}
public void setBaseDir( File baseDir )