diff --git a/pom.xml b/pom.xml index 5964b217..46d67305 100644 --- a/pom.xml +++ b/pom.xml @@ -196,21 +196,6 @@ under the License. org.codehaus.plexus plexus-xml - - - - junit - junit - 4.13.2 - test - - - - org.hamcrest - hamcrest-core - - - org.hamcrest hamcrest @@ -227,7 +212,7 @@ under the License. org.mockito mockito-core - 4.6.1 + 4.11.0 test diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java index e893a1d0..6ec290b7 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java @@ -46,18 +46,20 @@ import org.codehaus.plexus.archiver.zip.ZipArchiver; import org.codehaus.plexus.component.configurator.BasicComponentConfigurator; import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.fail; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.api.io.TempDir; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; + +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.assertNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.fail; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.atLeastOnce; @@ -66,10 +68,11 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@MockitoSettings(strictness = Strictness.WARN) +@ExtendWith(MockitoExtension.class) public class DefaultAssemblyArchiverTest { - @Rule - public TemporaryFolder temporaryFolder = new TemporaryFolder(); + @TempDir + public File temporaryFolder; private ArchiverManager archiverManager; @@ -90,17 +93,19 @@ public static void setupInterpolators(AssemblerConfigurationSource configSource, .thenReturn(AbstractAssemblyMojo.mainProjectInterpolator(mavenProject)); } - @Before + @BeforeEach public void setup() throws PlexusContainerException { this.archiverManager = mock(ArchiverManager.class); this.container = new DefaultPlexusContainer(); this.configurator = new BasicComponentConfigurator(); } - @Test(expected = InvalidAssemblerConfigurationException.class) + @Test public void failWhenAssemblyIdIsNull() throws Exception { - final DefaultAssemblyArchiver archiver = createSubject(Collections.emptyList()); - archiver.createArchive(new Assembly(), "full-name", "zip", null, null); + assertThrows(InvalidAssemblerConfigurationException.class, () -> { + final DefaultAssemblyArchiver archiver = createSubject(Collections.emptyList()); + archiver.createArchive(new Assembly(), "full-name", "zip", null, null); + }); } @Test @@ -111,10 +116,10 @@ public void testCreateArchive() throws Exception { final AssemblyArchiverPhase phase = mock(AssemblyArchiverPhase.class); - final File outDir = temporaryFolder.newFolder("out"); + final File outDir = newFolder(temporaryFolder, "out"); final AssemblerConfigurationSource configSource = mock(AssemblerConfigurationSource.class); - when(configSource.getTemporaryRootDirectory()).thenReturn(new File(temporaryFolder.getRoot(), "temp")); + when(configSource.getTemporaryRootDirectory()).thenReturn(new File(temporaryFolder, "temp")); when(configSource.getOverrideUid()).thenReturn(0); when(configSource.getOverrideUserName()).thenReturn("root"); when(configSource.getOverrideGid()).thenReturn(0); @@ -397,4 +402,13 @@ public String getDuplicateBehavior() { return Archiver.DUPLICATES_ADD; } } + + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } } diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizerTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizerTest.java index 7ac378a0..2c9be279 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizerTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizerTest.java @@ -34,19 +34,21 @@ import org.apache.maven.model.Model; import org.apache.maven.project.MavenProject; import org.codehaus.plexus.archiver.jar.JarArchiver; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.api.io.TempDir; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; -@RunWith(MockitoJUnitRunner.class) +@MockitoSettings(strictness = Strictness.WARN) +@ExtendWith(MockitoExtension.class) public class ManifestCreationFinalizerTest { - @Rule - public TemporaryFolder temporaryFolder = new TemporaryFolder(); + @TempDir + public File temporaryFolder; @Test public void testShouldDoNothingWhenArchiveConfigIsNull() throws Exception { @@ -66,7 +68,7 @@ public void testShouldAddManifestWhenArchiverIsJarArchiver() throws Exception { MavenProject project = new MavenProject(new Model()); MavenArchiveConfiguration config = new MavenArchiveConfiguration(); - File tempDir = temporaryFolder.getRoot(); + File tempDir = temporaryFolder; Path manifestFile = tempDir.toPath().resolve("MANIFEST.MF"); @@ -78,7 +80,7 @@ public void testShouldAddManifestWhenArchiverIsJarArchiver() throws Exception { archiver.setArchiveFinalizers(Collections.singletonList(new ManifestCreationFinalizer(null, project, config))); - File file = temporaryFolder.newFile(); + File file = File.createTempFile("junit", null, temporaryFolder); archiver.setDestFile(file); @@ -112,7 +114,7 @@ public void testShouldAddManifestEntriesWhenArchiverIsJarArchiver() throws Excep archiver.setArchiveFinalizers(Collections.singletonList(new ManifestCreationFinalizer(null, project, config))); - File file = temporaryFolder.newFile(); + File file = File.createTempFile("junit", null, temporaryFolder); archiver.setDestFile(file); diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/archiver/AssemblyProxyArchiverTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/archiver/AssemblyProxyArchiverTest.java index a89fec67..1da880ae 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/archiver/AssemblyProxyArchiverTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/archiver/AssemblyProxyArchiverTest.java @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.concurrent.TimeUnit; import org.codehaus.plexus.archiver.Archiver; import org.codehaus.plexus.archiver.ArchiverException; @@ -35,30 +36,34 @@ import org.codehaus.plexus.components.io.fileselectors.FileInfo; import org.codehaus.plexus.components.io.fileselectors.FileSelector; import org.codehaus.plexus.components.io.functions.InputStreamTransformer; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.Timeout; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.api.io.TempDir; import org.mockito.ArgumentCaptor; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@MockitoSettings(strictness = Strictness.WARN) +@ExtendWith(MockitoExtension.class) public class AssemblyProxyArchiverTest { - @Rule - public TemporaryFolder temporaryFolder = new TemporaryFolder(); + @TempDir + public File temporaryFolder; - @Test(timeout = 5000) + @Test + @Timeout(value = 5000, unit = TimeUnit.MILLISECONDS) public void addFileSetSkipWhenSourceIsAssemblyWorkDir() throws IOException, ArchiverException { - final File sources = temporaryFolder.getRoot(); + final File sources = temporaryFolder; final File workdir = new File(sources, "workdir"); @@ -75,9 +80,10 @@ public void addFileSetSkipWhenSourceIsAssemblyWorkDir() throws IOException, Arch assertTrue(tracker.added.isEmpty()); } - @Test(timeout = 5000) + @Test + @Timeout(value = 5000, unit = TimeUnit.MILLISECONDS) public void addFileSetAddExcludeWhenSourceContainsAssemblyWorkDir() throws IOException, ArchiverException { - final File sources = temporaryFolder.getRoot(); + final File sources = temporaryFolder; final File workdir = new File(sources, "workdir"); workdir.mkdir(); @@ -121,7 +127,7 @@ public void addFileNoPermsCallAcceptFilesOnlyOnce() throws IOException, Archiver new AssemblyProxyArchiver("", delegate, null, selectors, null, new File(".")); archiver.setForced(true); - final File inputFile = temporaryFolder.newFile(); + final File inputFile = File.createTempFile("junit", null, temporaryFolder); archiver.addFile(inputFile, "file.txt"); assertEquals(1, counter.getCount()); @@ -134,7 +140,7 @@ public void addFileNoPermsCallAcceptFilesOnlyOnce() throws IOException, Archiver public void addDirectoryNoPermsCallAcceptFilesOnlyOnce() throws IOException, ArchiverException { final Archiver delegate = new JarArchiver(); - final File output = temporaryFolder.newFile(); + final File output = File.createTempFile("junit", null, temporaryFolder); delegate.setDestFile(output); @@ -147,7 +153,7 @@ public void addDirectoryNoPermsCallAcceptFilesOnlyOnce() throws IOException, Arc archiver.setForced(true); - final File dir = temporaryFolder.newFolder(); + final File dir = newFolder(temporaryFolder, "junit"); Files.write( dir.toPath().resolve("file.txt"), Collections.singletonList("This is a test."), StandardCharsets.UTF_8); @@ -164,10 +170,10 @@ public void assemblyWorkDir() { final List selectors = new ArrayList<>(); final AssemblyProxyArchiver archiver = new AssemblyProxyArchiver( - "prefix", delegate, null, selectors, null, new File(temporaryFolder.getRoot(), "module1")); + "prefix", delegate, null, selectors, null, new File(temporaryFolder, "module1")); FileSet fileSet = mock(FileSet.class); - when(fileSet.getDirectory()).thenReturn(temporaryFolder.getRoot()); + when(fileSet.getDirectory()).thenReturn(temporaryFolder); when(fileSet.getStreamTransformer()).thenReturn(mock(InputStreamTransformer.class)); archiver.addFileSet(fileSet); @@ -176,7 +182,7 @@ public void assemblyWorkDir() { verify(delegate).addFileSet(delFileSet.capture()); assertThat(delFileSet.getValue().getDirectory(), is(fileSet.getDirectory())); - assertThat(delFileSet.getValue().getExcludes(), is(new String[] {"module1"})); + assertThat(delFileSet.getValue().getExcludes(), is(new String[]{"module1"})); assertThat(delFileSet.getValue().getFileMappers(), is(fileSet.getFileMappers())); assertThat(delFileSet.getValue().getFileSelectors(), is(fileSet.getFileSelectors())); assertThat(delFileSet.getValue().getIncludes(), is(new String[0])); @@ -207,4 +213,13 @@ public boolean isSelected(final FileInfo fileInfo) throws IOException { return answer; } } + + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } } diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/AssemblyArchiverPhaseComparatorTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/AssemblyArchiverPhaseComparatorTest.java index 0925f15a..55cfeac1 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/AssemblyArchiverPhaseComparatorTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/AssemblyArchiverPhaseComparatorTest.java @@ -28,9 +28,9 @@ import org.apache.maven.plugins.assembly.format.AssemblyFormattingException; import org.apache.maven.plugins.assembly.model.Assembly; import org.codehaus.plexus.archiver.Archiver; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertSame; public class AssemblyArchiverPhaseComparatorTest { diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/DependencySetAssemblyPhaseTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/DependencySetAssemblyPhaseTest.java index f6b50d1d..4a123c50 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/DependencySetAssemblyPhaseTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/DependencySetAssemblyPhaseTest.java @@ -33,10 +33,12 @@ import org.apache.maven.plugins.assembly.model.DependencySet; import org.apache.maven.project.MavenProject; import org.apache.maven.project.ProjectBuilder; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; import static org.mockito.ArgumentMatchers.anyList; import static org.mockito.ArgumentMatchers.eq; @@ -45,13 +47,14 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@MockitoSettings(strictness = Strictness.WARN) +@ExtendWith(MockitoExtension.class) public class DependencySetAssemblyPhaseTest { private DependencySetAssemblyPhase phase; private DependencyResolver dependencyResolver; - @Before + @BeforeEach public void setUp() { this.dependencyResolver = mock(DependencyResolver.class); @@ -61,7 +64,7 @@ public void setUp() { @Test public void testExecuteShouldAddOneDependencyFromProject() throws AssemblyFormattingException, ArchiveCreationException, IOException, - InvalidAssemblerConfigurationException, DependencyResolutionException { + InvalidAssemblerConfigurationException, DependencyResolutionException { final String outputLocation = "/out"; final MavenProject project = newMavenProject("group", "project", "0"); diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhaseTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhaseTest.java index cfaa9f09..ce384c02 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhaseTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhaseTest.java @@ -19,6 +19,7 @@ package org.apache.maven.plugins.assembly.archive.phase; import java.io.File; +import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.util.Collections; @@ -32,11 +33,12 @@ import org.codehaus.plexus.archiver.Archiver; import org.codehaus.plexus.components.io.resources.PlexusIoResource; import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.api.io.TempDir; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -46,18 +48,19 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@MockitoSettings(strictness = Strictness.WARN) +@ExtendWith(MockitoExtension.class) public class FileItemAssemblyPhaseTest { private final Logger logger = LoggerFactory.getLogger(getClass()); - @Rule - public TemporaryFolder temporaryFolder = new TemporaryFolder(); + @TempDir + public File temporaryFolder; @Test public void testExecuteShouldAddNothingWhenNoFileItemsArePresent() throws Exception { final AssemblerConfigurationSource macCS = mock(AssemblerConfigurationSource.class); - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; when(macCS.getBasedir()).thenReturn(basedir); @@ -73,9 +76,9 @@ public void testExecuteShouldAddNothingWhenNoFileItemsArePresent() throws Except public void testExecuteShouldAddAbsoluteFileNoFilterNoLineEndingConversion() throws Exception { final AssemblerConfigurationSource macCS = mock(AssemblerConfigurationSource.class); - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; - final File file = temporaryFolder.newFile("file.txt"); + final File file = newFile(temporaryFolder, "file.txt"); Files.write(file.toPath(), Collections.singletonList("This is a test file."), StandardCharsets.UTF_8); when(macCS.getBasedir()).thenReturn(basedir); @@ -107,9 +110,9 @@ public void testExecuteShouldAddAbsoluteFileNoFilterNoLineEndingConversion() thr public void testExecuteShouldAddRelativeFileNoFilterNoLineEndingConversion() throws Exception { final AssemblerConfigurationSource macCS = mock(AssemblerConfigurationSource.class); - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; - final File file = temporaryFolder.newFile("file.txt"); + final File file = newFile(temporaryFolder, "file.txt"); Files.write(file.toPath(), Collections.singletonList("This is a test file."), StandardCharsets.UTF_8); when(macCS.getBasedir()).thenReturn(basedir); @@ -141,21 +144,21 @@ public void testExecuteShouldAddRelativeFileNoFilterNoLineEndingConversion() thr public void testExecuteWithOutputDirectory() throws Exception { final AssemblerConfigurationSource macCS = mock(AssemblerConfigurationSource.class); - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; - final File readmeFile = temporaryFolder.newFile("README.txt"); + final File readmeFile = newFile(temporaryFolder, "README.txt"); Files.write( readmeFile.toPath(), Collections.singletonList("This is a test file for README.txt."), StandardCharsets.UTF_8); - final File licenseFile = temporaryFolder.newFile("LICENSE.txt"); + final File licenseFile = newFile(temporaryFolder, "LICENSE.txt"); Files.write( licenseFile.toPath(), Collections.singletonList("This is a test file for LICENSE.txt."), StandardCharsets.UTF_8); - final File configFile = new File(temporaryFolder.newFolder("config"), "config.txt"); + final File configFile = new File(newFolder(temporaryFolder, "config"), "config.txt"); Files.write( configFile.toPath(), Collections.singletonList("This is a test file for config/config.txt"), @@ -220,21 +223,21 @@ public void testExecuteWithOutputDirectory() throws Exception { public void testExecuteWithOutputDirectoryAndDestName() throws Exception { final AssemblerConfigurationSource macCS = mock(AssemblerConfigurationSource.class); - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; - final File readmeFile = temporaryFolder.newFile("README.txt"); + final File readmeFile = newFile(temporaryFolder, "README.txt"); Files.write( readmeFile.toPath(), Collections.singletonList("This is a test file for README.txt."), StandardCharsets.UTF_8); - final File licenseFile = temporaryFolder.newFile("LICENSE.txt"); + final File licenseFile = newFile(temporaryFolder, "LICENSE.txt"); Files.write( licenseFile.toPath(), Collections.singletonList("This is a test file for LICENSE.txt."), StandardCharsets.UTF_8); - final File configFile = new File(temporaryFolder.newFolder("config"), "config.txt"); + final File configFile = new File(newFolder(temporaryFolder, "config"), "config.txt"); Files.write( configFile.toPath(), Collections.singletonList("This is a test file for config/config.txt"), @@ -302,21 +305,21 @@ public void testExecuteWithOutputDirectoryAndDestName() throws Exception { public void testExecuteWithOutputDirectoryAndDestNameAndIncludeBaseDirectoryFalse() throws Exception { final AssemblerConfigurationSource macCS = mock(AssemblerConfigurationSource.class); - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; - final File readmeFile = temporaryFolder.newFile("README.txt"); + final File readmeFile = newFile(temporaryFolder, "README.txt"); Files.write( readmeFile.toPath(), Collections.singletonList("This is a test file for README.txt."), StandardCharsets.UTF_8); - final File licenseFile = temporaryFolder.newFile("LICENSE.txt"); + final File licenseFile = newFile(temporaryFolder, "LICENSE.txt"); Files.write( licenseFile.toPath(), Collections.singletonList("This is a test file for LICENSE.txt."), StandardCharsets.UTF_8); - final File configFile = new File(temporaryFolder.newFolder("config"), "config.txt"); + final File configFile = new File(newFolder(temporaryFolder, "config"), "config.txt"); Files.write( configFile.toPath(), Collections.singletonList("This is a test file for config/config.txt"), @@ -383,4 +386,19 @@ private void prepareInterpolators(AssemblerConfigurationSource configSource) { when(configSource.getEnvInterpolator()).thenReturn(FixedStringSearchInterpolator.empty()); when(configSource.getMainProjectInterpolator()).thenReturn(FixedStringSearchInterpolator.empty()); } + + private static File newFile(File parent, String child) throws IOException { + File result = new File(parent, child); + result.createNewFile(); + return result; + } + + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } } diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileSetAssemblyPhaseTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileSetAssemblyPhaseTest.java index dff75928..72852a65 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileSetAssemblyPhaseTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileSetAssemblyPhaseTest.java @@ -25,21 +25,24 @@ import org.apache.maven.plugins.assembly.model.FileSet; import org.apache.maven.project.MavenProject; import org.codehaus.plexus.archiver.Archiver; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@MockitoSettings(strictness = Strictness.WARN) +@ExtendWith(MockitoExtension.class) public class FileSetAssemblyPhaseTest { private FileSetAssemblyPhase phase; - @Before + @BeforeEach public void setUp() { this.phase = new FileSetAssemblyPhase(); } diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java index 01087952..896524ae 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java @@ -42,20 +42,21 @@ import org.apache.maven.project.MavenProject; import org.apache.maven.project.ProjectBuilder; import org.codehaus.plexus.archiver.Archiver; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.api.io.TempDir; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import static java.util.Collections.singleton; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyList; import static org.mockito.ArgumentMatchers.eq; @@ -67,18 +68,19 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@MockitoSettings(strictness = Strictness.WARN) +@ExtendWith(MockitoExtension.class) public class ModuleSetAssemblyPhaseTest { private final Logger logger = LoggerFactory.getLogger(getClass()); - @Rule - public TemporaryFolder temporaryFolder = new TemporaryFolder(); + @TempDir + public File temporaryFolder; private ModuleSetAssemblyPhase phase; private DependencyResolver dependencyResolver; - @Before + @BeforeEach public void setUp() { ProjectBuilder projectBuilder = mock(ProjectBuilder.class); this.dependencyResolver = mock(DependencyResolver.class); @@ -141,7 +143,7 @@ public void testCreateFileSetShouldUseModuleDirOnlyWhenOutDirIsNull() throws Exc final ModuleSources sources = new ModuleSources(); sources.setIncludeModuleDirectory(true); - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; final MavenProject artifactProject = new MavenProject(new Model()); artifactProject.setGroupId("GROUPID"); @@ -184,7 +186,7 @@ public void testCreateFileSetShouldPrependModuleDirWhenOutDirIsProvided() throws final MavenProject artifactProject = new MavenProject(new Model()); artifactProject.setGroupId("GROUPID"); - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; artifactProject.setFile(new File(basedir, "pom.xml")); @@ -221,7 +223,7 @@ public void testCreateFileSetShouldAddExcludesForSubModulesWhenExcludeSubModDirs final MavenProject project = new MavenProject(model); - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; project.setGroupId("GROUPID"); project.setFile(new File(basedir, "pom.xml")); @@ -257,7 +259,7 @@ public void testExecuteShouldAddOneModuleSetWithOneModuleInIt() throws Exception final MavenProject module = createProject("group", "module", "version", project); Artifact artifact = mock(Artifact.class); - final File moduleArtifactFile = temporaryFolder.newFile(); + final File moduleArtifactFile = File.createTempFile("junit", null, temporaryFolder); when(artifact.getGroupId()).thenReturn("GROUPID"); when(artifact.getFile()).thenReturn(moduleArtifactFile); module.setArtifact(artifact); @@ -343,7 +345,7 @@ public void testAddModuleBinariesShouldAddOneModuleAttachmentArtifactAndNoDeps() Artifact artifact = mock(Artifact.class); when(artifact.getGroupId()).thenReturn("GROUPID"); when(artifact.getClassifier()).thenReturn("test"); - final File artifactFile = temporaryFolder.newFile(); + final File artifactFile = File.createTempFile("junit", null, temporaryFolder); when(artifact.getFile()).thenReturn(artifactFile); final Archiver archiver = mock(Archiver.class); @@ -421,7 +423,7 @@ public void testAddModuleBinariesShouldFailWhenOneModuleDoesntHaveAttachmentWith @Test public void testAddModuleBinariesShouldAddOneModuleArtifactAndNoDeps() throws Exception { Artifact artifact = mock(Artifact.class); - final File artifactFile = temporaryFolder.newFile(); + final File artifactFile = File.createTempFile("junit", null, temporaryFolder); when(artifact.getGroupId()).thenReturn("GROUPID"); when(artifact.getFile()).thenReturn(artifactFile); @@ -447,7 +449,7 @@ public void testAddModuleBinariesShouldAddOneModuleArtifactAndNoDeps() throws Ex final Set projects = singleton(project); when(dependencyResolver.resolveDependencySets( - isNull(), isNull(), any(AssemblerConfigurationSource.class), anyList())) + isNull(), isNull(), any(AssemblerConfigurationSource.class), anyList())) .thenReturn(new LinkedHashMap<>()); DefaultAssemblyArchiverTest.setupInterpolators(configSource, project); @@ -485,7 +487,7 @@ public void testAddModuleArtifactShouldThrowExceptionWhenArtifactFileIsNull() th public void testAddModuleArtifactShouldAddOneArtifact() throws Exception { Artifact artifact = mock(Artifact.class); when(artifact.getGroupId()).thenReturn("GROUPID"); - final File artifactFile = temporaryFolder.newFile(); + final File artifactFile = File.createTempFile("junit", null, temporaryFolder); when(artifact.getFile()).thenReturn(artifactFile); final MavenProject project = createProject("group", "artifact", "version", null); @@ -772,7 +774,7 @@ private MavenProject createProject( File pomFile; if (parentProject == null) { - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; pomFile = new File(basedir, "pom.xml"); } else { final File parentBase = parentProject.getBasedir(); diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddArtifactTaskTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddArtifactTaskTest.java index a35ff22d..36d5fc01 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddArtifactTaskTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddArtifactTaskTest.java @@ -32,13 +32,14 @@ import org.apache.maven.project.MavenProject; import org.codehaus.plexus.archiver.ArchivedFileSet; import org.codehaus.plexus.archiver.Archiver; -import org.junit.After; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.api.io.TempDir; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -49,18 +50,19 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@MockitoSettings(strictness = Strictness.WARN) +@ExtendWith(MockitoExtension.class) public class AddArtifactTaskTest { private final Logger logger = LoggerFactory.getLogger(getClass()); - @Rule - public TemporaryFolder temporaryFolder = new TemporaryFolder(); + @TempDir + public File temporaryFolder; private MavenProject mainProject; private AssemblerConfigurationSource configSource; - @Before + @BeforeEach public void setUp() throws IOException { Model model = new Model(); model.setGroupId("group"); @@ -73,7 +75,7 @@ public void setUp() throws IOException { when(configSource.getFinalName()).thenReturn("final-name"); } - @After + @AfterEach public void tearDown() { // result of easymock migration, should be assert of expected result instead of verifying methodcalls verify(configSource, atLeastOnce()).getFinalName(); @@ -86,7 +88,7 @@ public void testShouldAddArchiveFileWithoutUnpacking() throws Exception { Artifact artifact = mock(Artifact.class); when(artifact.getGroupId()).thenReturn("GROUPID"); - File artifactFile = temporaryFolder.newFile(); + File artifactFile = File.createTempFile("junit", null, temporaryFolder); when(artifact.getFile()).thenReturn(artifactFile); final Archiver archiver = mock(Archiver.class); @@ -122,7 +124,7 @@ public void testShouldAddArchiveFileWithDefaultOutputLocation() throws Exception when(artifact.getGroupId()).thenReturn("GROUPID"); when(artifactHandler.getExtension()).thenReturn(ext); when(artifact.getArtifactHandler()).thenReturn(artifactHandler); - File artifactFile = temporaryFolder.newFile(); + File artifactFile = File.createTempFile("junit", null, temporaryFolder); when(artifact.getFile()).thenReturn(artifactFile); final Archiver archiver = mock(Archiver.class); @@ -178,7 +180,7 @@ public void testShouldAddArchiveFileWithUnpack() throws Exception { DefaultAssemblyArchiverTest.setupInterpolators(configSource, mainProject); Artifact artifact = mock(Artifact.class); - when(artifact.getFile()).thenReturn(temporaryFolder.newFile()); + when(artifact.getFile()).thenReturn(File.createTempFile("junit", null, temporaryFolder)); AddArtifactTask task = createTask(artifact); task.setUnpack(true); @@ -207,7 +209,7 @@ public void testShouldAddArchiveFileWithUnpackAndModes() throws Exception { DefaultAssemblyArchiverTest.setupInterpolators(configSource, mainProject); Artifact artifact = mock(Artifact.class); - when(artifact.getFile()).thenReturn(temporaryFolder.newFile()); + when(artifact.getFile()).thenReturn(File.createTempFile("junit", null, temporaryFolder)); AddArtifactTask task = createTask(artifact); task.setUnpack(true); @@ -241,7 +243,7 @@ public void testShouldAddArchiveFileWithUnpackIncludesAndExcludes() throws Excep String[] excludes = {"**/README.txt"}; Artifact artifact = mock(Artifact.class); - when(artifact.getFile()).thenReturn(temporaryFolder.newFile()); + when(artifact.getFile()).thenReturn(File.createTempFile("junit", null, temporaryFolder)); DefaultAssemblyArchiverTest.setupInterpolators(configSource, mainProject); diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTaskTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTaskTest.java index fd75678c..78440d4f 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTaskTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTaskTest.java @@ -47,18 +47,19 @@ import org.codehaus.plexus.archiver.Archiver; import org.codehaus.plexus.archiver.ArchiverException; import org.codehaus.plexus.archiver.FileSet; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.api.io.TempDir; import org.mockito.ArgumentCaptor; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertSame; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.isNull; import static org.mockito.Mockito.atLeastOnce; @@ -67,10 +68,11 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@MockitoSettings(strictness = Strictness.WARN) +@ExtendWith(MockitoExtension.class) public class AddDependencySetsTaskTest { - @Rule - public TemporaryFolder temporaryFolder = new TemporaryFolder(); + @TempDir + public File temporaryFolder; @Test public void testAddDependencySetShouldInterpolateDefaultOutputFileNameMapping() throws Exception { @@ -110,7 +112,7 @@ public void testAddDependencySetShouldInterpolateDefaultOutputFileNameMapping() ArtifactHandler artifactHandler = mock(ArtifactHandler.class); when(artifactHandler.getExtension()).thenReturn(depExt); when(depArtifact.getArtifactHandler()).thenReturn(artifactHandler); - final File newFile = temporaryFolder.newFile(); + final File newFile = File.createTempFile("junit", null, temporaryFolder); when(depArtifact.getFile()).thenReturn(newFile); when(depArtifact.getGroupId()).thenReturn("GROUPID"); @@ -260,7 +262,7 @@ public void testAddDependencySetShouldAddOneDependencyFromProjectUnpacked() thro private void verifyOneDependencyAdded(final String outputLocation, final boolean unpack) throws AssemblyFormattingException, ArchiverException, ArchiveCreationException, IOException, - InvalidAssemblerConfigurationException, ProjectBuildingException { + InvalidAssemblerConfigurationException, ProjectBuildingException { final MavenProject project = new MavenProject(new Model()); final DependencySet ds = new DependencySet(); @@ -282,7 +284,7 @@ private void verifyOneDependencyAdded(final String outputLocation, final boolean when(configSource.getFinalName()).thenReturn("final-name"); Artifact artifact = mock(Artifact.class); - final File artifactFile = temporaryFolder.newFile(); + final File artifactFile = File.createTempFile("junit", null, temporaryFolder); when(artifact.getFile()).thenReturn(artifactFile); when(artifact.getGroupId()).thenReturn("GROUPID"); @@ -426,13 +428,13 @@ public void useDefaultExcludes() throws Exception { when(zipArtifact.getGroupId()).thenReturn("some-artifact"); when(zipArtifact.getArtifactId()).thenReturn("of-type-zip"); when(zipArtifact.getId()).thenReturn("some-artifact:of-type-zip:1.0:zip"); - when(zipArtifact.getFile()).thenReturn(temporaryFolder.newFile("of-type-zip.zip")); + when(zipArtifact.getFile()).thenReturn(newFile(temporaryFolder, "of-type-zip.zip")); Artifact dirArtifact = mock(Artifact.class); when(dirArtifact.getGroupId()).thenReturn("some-artifact"); when(dirArtifact.getArtifactId()).thenReturn("of-type-zip"); when(dirArtifact.getId()).thenReturn("some-artifact:of-type-zip:1.0:dir"); - when(dirArtifact.getFile()).thenReturn(temporaryFolder.newFolder("of-type-zip")); + when(dirArtifact.getFile()).thenReturn(newFolder(temporaryFolder, "of-type-zip")); final Set artifacts = new HashSet<>(Arrays.asList(zipArtifact, dirArtifact)); @@ -478,4 +480,19 @@ public void useDefaultExcludes() throws Exception { verify(archiver).addFileSet(fileSet.capture()); assertThat(fileSet.getValue().isUsingDefaultExcludes(), is(false)); } + + private static File newFile(File parent, String child) throws IOException { + File result = new File(parent, child); + result.createNewFile(); + return result; + } + + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } } diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddDirectoryTaskTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddDirectoryTaskTest.java index af0de22b..aa6afeae 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddDirectoryTaskTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddDirectoryTaskTest.java @@ -23,26 +23,28 @@ import org.codehaus.plexus.archiver.Archiver; import org.codehaus.plexus.archiver.FileSet; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.api.io.TempDir; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; import static org.mockito.Mockito.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@MockitoSettings(strictness = Strictness.WARN) +@ExtendWith(MockitoExtension.class) public class AddDirectoryTaskTest { - @Rule - public TemporaryFolder temporaryFolder = new TemporaryFolder(); + @TempDir + public File temporaryFolder; private Archiver archiver; - @Before + @BeforeEach public void setUp() { this.archiver = mock(Archiver.class); } @@ -55,7 +57,7 @@ public void testAddDirectoryShouldNotAddDirectoryIfNonExistent() throws Exceptio when(archiver.getOverrideDirectoryMode()).thenReturn(defaultDirMode); when(archiver.getOverrideFileMode()).thenReturn(defaultFileMode); - AddDirectoryTask task = new AddDirectoryTask(new File(temporaryFolder.getRoot(), "non-existent")); + AddDirectoryTask task = new AddDirectoryTask(new File(temporaryFolder, "non-existent")); task.execute(archiver); @@ -72,7 +74,7 @@ public void testAddDirectoryShouldAddDirectory() throws Exception { when(archiver.getOverrideDirectoryMode()).thenReturn(defaultDirMode); when(archiver.getOverrideFileMode()).thenReturn(defaultFileMode); - AddDirectoryTask task = new AddDirectoryTask(temporaryFolder.getRoot()); + AddDirectoryTask task = new AddDirectoryTask(temporaryFolder); task.setOutputDirectory("dir"); task.execute(archiver); @@ -93,7 +95,7 @@ public void testAddDirectoryShouldAddDirectoryWithDirMode() throws Exception { when(archiver.getOverrideDirectoryMode()).thenReturn(defaultDirMode); when(archiver.getOverrideFileMode()).thenReturn(defaultFileMode); - AddDirectoryTask task = new AddDirectoryTask(temporaryFolder.getRoot()); + AddDirectoryTask task = new AddDirectoryTask(temporaryFolder); task.setDirectoryMode(dirMode); task.setFileMode(fileMode); task.setOutputDirectory("dir"); @@ -115,7 +117,7 @@ public void testAddDirectoryShouldAddDirectoryWithIncludesAndExcludes() throws E when(archiver.getOverrideDirectoryMode()).thenReturn(-1); when(archiver.getOverrideFileMode()).thenReturn(-1); - AddDirectoryTask task = new AddDirectoryTask(temporaryFolder.getRoot()); + AddDirectoryTask task = new AddDirectoryTask(temporaryFolder); task.setIncludes(Collections.singletonList("**/*.txt")); task.setExcludes(Collections.singletonList("**/README.txt")); task.setOutputDirectory("dir"); diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddFileSetsTaskTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddFileSetsTaskTest.java index 185b01fe..4efb2441 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddFileSetsTaskTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddFileSetsTaskTest.java @@ -19,6 +19,7 @@ package org.apache.maven.plugins.assembly.archive.task; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import org.apache.maven.model.Model; @@ -28,14 +29,15 @@ import org.apache.maven.plugins.assembly.model.FileSet; import org.apache.maven.project.MavenProject; import org.codehaus.plexus.archiver.Archiver; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.api.io.TempDir; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; import static org.mockito.Mockito.any; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.mock; @@ -43,14 +45,15 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@MockitoSettings(strictness = Strictness.WARN) +@ExtendWith(MockitoExtension.class) public class AddFileSetsTaskTest { - @Rule - public TemporaryFolder temporaryFolder = new TemporaryFolder(); + @TempDir + public File temporaryFolder; @Test public void testGetFileSetDirectoryShouldReturnAbsoluteSourceDir() throws Exception { - final File dir = temporaryFolder.newFolder(); + final File dir = newFolder(temporaryFolder, "junit"); final FileSet fs = new FileSet(); @@ -63,7 +66,7 @@ public void testGetFileSetDirectoryShouldReturnAbsoluteSourceDir() throws Except @Test public void testGetFileSetDirectoryShouldReturnBasedir() throws Exception { - final File dir = temporaryFolder.newFolder(); + final File dir = newFolder(temporaryFolder, "junit"); final FileSet fs = new FileSet(); @@ -74,7 +77,7 @@ public void testGetFileSetDirectoryShouldReturnBasedir() throws Exception { @Test public void testGetFileSetDirectoryShouldReturnDirFromBasedirAndSourceDir() throws Exception { - final File dir = temporaryFolder.newFolder(); + final File dir = newFolder(temporaryFolder, "junit"); final String srcPath = "source"; @@ -91,7 +94,7 @@ public void testGetFileSetDirectoryShouldReturnDirFromBasedirAndSourceDir() thro @Test public void testGetFileSetDirectoryShouldReturnDirFromArchiveBasedirAndSourceDir() throws Exception { - final File dir = temporaryFolder.newFolder(); + final File dir = newFolder(temporaryFolder, "junit"); final String srcPath = "source"; @@ -108,10 +111,10 @@ public void testGetFileSetDirectoryShouldReturnDirFromArchiveBasedirAndSourceDir @Test public void testAddFileSetShouldAddDirectory() throws Exception { - File basedir = temporaryFolder.getRoot(); + File basedir = temporaryFolder; final FileSet fs = new FileSet(); - fs.setDirectory(temporaryFolder.newFolder("dir").getName()); + fs.setDirectory(newFolder(temporaryFolder, "dir").getName()); fs.setOutputDirectory("dir2"); // the logger sends a debug message with this info inside the addFileSet(..) method.. @@ -148,7 +151,7 @@ public void testAddFileSetShouldAddDirectoryUsingSourceDirNameForDestDir() throw final String dirname = "dir"; fs.setDirectory(dirname); - final File archiveBaseDir = temporaryFolder.newFolder(); + final File archiveBaseDir = newFolder(temporaryFolder, "junit"); // ensure this exists, so the directory addition will proceed. final File srcDir = new File(archiveBaseDir, dirname); @@ -184,7 +187,7 @@ public void testAddFileSetShouldNotAddDirectoryWhenSourceDirNonExistent() throws final FileSet fs = new FileSet(); fs.setDirectory("dir"); - final File archiveBaseDir = temporaryFolder.newFolder(); + final File archiveBaseDir = newFolder(temporaryFolder, "junit"); final AssemblerConfigurationSource configSource = mock(AssemblerConfigurationSource.class); when(configSource.getFinalName()).thenReturn("finalName"); @@ -213,7 +216,7 @@ public void testAddFileSetShouldNotAddDirectoryWhenSourceDirNonExistent() throws @Test public void testExecuteShouldThrowExceptionIfArchiveBasedirProvidedIsNonExistent() throws Exception { - File archiveBaseDir = new File(temporaryFolder.getRoot(), "archive"); + File archiveBaseDir = new File(temporaryFolder, "archive"); final AssemblerConfigurationSource configSource = mock(AssemblerConfigurationSource.class); when(configSource.getArchiveBaseDirectory()).thenReturn(archiveBaseDir); @@ -233,7 +236,7 @@ public void testExecuteShouldThrowExceptionIfArchiveBasedirProvidedIsNonExistent @Test public void testExecuteShouldThrowExceptionIfArchiveBasedirProvidedIsNotADirectory() throws Exception { - File archiveBaseDir = temporaryFolder.newFile(); + File archiveBaseDir = File.createTempFile("junit", null, temporaryFolder); final AssemblerConfigurationSource configSource = mock(AssemblerConfigurationSource.class); when(configSource.getArchiveBaseDirectory()).thenReturn(archiveBaseDir); @@ -249,4 +252,13 @@ public void testExecuteShouldThrowExceptionIfArchiveBasedirProvidedIsNotADirecto verify(configSource).getArchiveBaseDirectory(); } + + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } } diff --git a/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java b/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java index 364dc7b8..1d68808d 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java @@ -42,21 +42,24 @@ import org.eclipse.aether.graph.Dependency; import org.eclipse.aether.resolution.DependencyRequest; import org.eclipse.aether.resolution.DependencyResult; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@MockitoSettings(strictness = Strictness.WARN) +@ExtendWith(MockitoExtension.class) public class DefaultDependencyResolverTest { @Mock diff --git a/src/test/java/org/apache/maven/plugins/assembly/artifact/ResolutionManagementInfoTest.java b/src/test/java/org/apache/maven/plugins/assembly/artifact/ResolutionManagementInfoTest.java index de7ffe3d..26e9c10a 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/artifact/ResolutionManagementInfoTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/artifact/ResolutionManagementInfoTest.java @@ -26,9 +26,9 @@ import org.apache.maven.artifact.DefaultArtifact; import org.apache.maven.artifact.handler.DefaultArtifactHandler; import org.apache.maven.artifact.versioning.VersionRange; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; public class ResolutionManagementInfoTest { diff --git a/src/test/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilterTest.java b/src/test/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilterTest.java index 2fb7c82a..d81698a3 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilterTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilterTest.java @@ -52,24 +52,23 @@ import org.jdom2.input.sax.XMLReaders; import org.jdom2.xpath.XPathExpression; import org.jdom2.xpath.XPathFactory; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +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.assertNull; public class ComponentsXmlArchiverFileFilterTest { - @Rule - public TemporaryFolder temporaryFolder = new TemporaryFolder(); + @TempDir + public File temporaryFolder; private ComponentsXmlArchiverFileFilter filter; - @Before + @BeforeEach public void setUp() { filter = new ComponentsXmlArchiverFileFilter(); } @@ -250,11 +249,11 @@ public void testAddToArchiveShouldWriteTwoComponentToArchivedFile() throws Excep final ZipArchiver archiver = new ZipArchiver(); - final File archiveFile = temporaryFolder.newFile("archive"); + final File archiveFile = newFile(temporaryFolder, "archive"); archiver.setDestFile(archiveFile); - final File descriptorFile = new File(temporaryFolder.getRoot(), "descriptor.xml"); + final File descriptorFile = new File(temporaryFolder, "descriptor.xml"); archiver.setArchiveFinalizers(Collections.singletonList(filter)); @@ -551,4 +550,10 @@ public int getOverrideFileMode() { throw new UnsupportedOperationException("not supported"); } } + + private static File newFile(File parent, String child) throws IOException { + File result = new File(parent, child); + result.createNewFile(); + return result; + } } diff --git a/src/test/java/org/apache/maven/plugins/assembly/format/ReaderFormatterTest.java b/src/test/java/org/apache/maven/plugins/assembly/format/ReaderFormatterTest.java index c1d45971..1cf71a7b 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/format/ReaderFormatterTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/format/ReaderFormatterTest.java @@ -39,13 +39,13 @@ import org.codehaus.plexus.archiver.resources.PlexusIoVirtualFileResource; import org.codehaus.plexus.components.io.functions.InputStreamTransformer; import org.codehaus.plexus.components.io.resources.PlexusIoResource; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.sameInstance; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; diff --git a/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyExpressionEvaluatorTest.java b/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyExpressionEvaluatorTest.java index 020bcd17..1af5ba82 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyExpressionEvaluatorTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyExpressionEvaluatorTest.java @@ -28,16 +28,19 @@ import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException; import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator; import org.codehaus.plexus.interpolation.fixed.PropertiesBasedValueSource; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@MockitoSettings(strictness = Strictness.WARN) +@ExtendWith(MockitoExtension.class) public class AssemblyExpressionEvaluatorTest { private final PojoConfigSource configSourceStub = new PojoConfigSource(); diff --git a/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyInterpolatorTest.java b/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyInterpolatorTest.java index a06d64d7..72c7170b 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyInterpolatorTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/interpolation/AssemblyInterpolatorTest.java @@ -36,20 +36,23 @@ import org.apache.maven.project.MavenProject; import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator; import org.codehaus.plexus.interpolation.fixed.PropertiesBasedValueSource; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@MockitoSettings(strictness = Strictness.WARN) +@ExtendWith(MockitoExtension.class) public class AssemblyInterpolatorTest { @Test public void testDependencySetOutputFileNameMappingsAreNotInterpolated() throws IOException, AssemblyInterpolationException, AssemblyReadException, - InvalidAssemblerConfigurationException { + InvalidAssemblerConfigurationException { final Model model = new Model(); model.setArtifactId("artifact-id"); model.setGroupId("group.id"); @@ -87,7 +90,7 @@ public void testDependencySetOutputFileNameMappingsAreNotInterpolated() @Test public void testDependencySetOutputDirectoryIsNotInterpolated() throws IOException, AssemblyInterpolationException, AssemblyReadException, - InvalidAssemblerConfigurationException { + InvalidAssemblerConfigurationException { final Model model = new Model(); model.setArtifactId("artifact-id"); model.setGroupId("group.id"); @@ -129,7 +132,7 @@ private Assembly roundTripInterpolation(Assembly assembly, AssemblerConfiguratio @Test public void testShouldResolveModelGroupIdInAssemblyId() throws AssemblyInterpolationException, InvalidAssemblerConfigurationException, AssemblyReadException, - IOException { + IOException { final Model model = new Model(); model.setArtifactId("artifact-id"); model.setGroupId("group.id"); @@ -153,7 +156,7 @@ public void testShouldResolveModelGroupIdInAssemblyId() @Test public void testShouldResolveModelPropertyBeforeModelGroupIdInAssemblyId() throws AssemblyInterpolationException, InvalidAssemblerConfigurationException, AssemblyReadException, - IOException { + IOException { final Model model = new Model(); model.setArtifactId("artifact-id"); model.setGroupId("group.id"); @@ -218,7 +221,7 @@ public void testShouldResolveContextValueBeforeModelPropertyOrModelGroupIdInAsse @Test public void testShouldNotTouchUnresolvedExpression() throws AssemblyInterpolationException, InvalidAssemblerConfigurationException, AssemblyReadException, - IOException { + IOException { final Model model = new Model(); model.setArtifactId("artifact-id"); model.setGroupId("group.id"); @@ -243,7 +246,7 @@ public void testShouldNotTouchUnresolvedExpression() @Test public void testShouldInterpolateMultiDotProjectExpression() throws AssemblyInterpolationException, InvalidAssemblerConfigurationException, AssemblyReadException, - IOException { + IOException { final Build build = new Build(); build.setFinalName("final-name"); diff --git a/src/test/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReaderTest.java b/src/test/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReaderTest.java index 0b898fe7..609f86ac 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReaderTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReaderTest.java @@ -49,25 +49,27 @@ import org.apache.maven.project.MavenProject; import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator; import org.codehaus.plexus.interpolation.fixed.InterpolationState; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.api.io.TempDir; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; import org.slf4j.LoggerFactory; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.fail; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@MockitoSettings(strictness = Strictness.WARN) +@ExtendWith(MockitoExtension.class) public class DefaultAssemblyReaderTest { - @Rule - public TemporaryFolder temporaryFolder = new TemporaryFolder(); + @TempDir + public File temporaryFolder; @Mock private AssemblerConfigurationSource configSource; @@ -101,7 +103,7 @@ public void testIncludeSiteInAssemblyShouldFailIfSiteDirectoryNonExistent() thro @Test public void testIncludeSiteInAssemblyShouldAddSiteDirFileSetWhenDirExists() throws Exception { - final File siteDir = temporaryFolder.getRoot(); + final File siteDir = temporaryFolder; when(configSource.getSiteDirectory()).thenReturn(siteDir); @@ -270,7 +272,7 @@ public void testMergeComponentsWithMainAssemblyShouldAddOneFileSetToAssembly() t component.addFileSet(fileSet); - final File componentFile = temporaryFolder.newFile(); + final File componentFile = File.createTempFile("junit", null, temporaryFolder); try (Writer writer = new OutputStreamWriter(Files.newOutputStream(componentFile.toPath()), StandardCharsets.UTF_8)) { @@ -327,11 +329,11 @@ public void testReadAssemblyShouldReadAssemblyWithSiteDirInclusionFromAssemblyWi final StringReader sr = writeToStringReader(assembly); - final File siteDir = temporaryFolder.newFolder("site"); + final File siteDir = newFolder(temporaryFolder, "site"); when(configSource.getSiteDirectory()).thenReturn(siteDir); - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; when(configSource.getBasedir()).thenReturn(basedir); @@ -360,7 +362,7 @@ public void testReadAssemblyShouldReadAssemblyWithSiteDirInclusionFromAssemblyWi @Test public void testReadAssemblyShouldReadAssemblyWithComponentWithoutSiteDirInclusionOrInterpolation() throws Exception { - final File componentsFile = temporaryFolder.newFile(); + final File componentsFile = File.createTempFile("junit", null, temporaryFolder); final File basedir = componentsFile.getParentFile(); final String componentsFilename = componentsFile.getName(); @@ -410,8 +412,8 @@ public void testReadAssemblyShouldReadAssemblyWithComponentWithoutSiteDirInclusi @Test public void testReadAssemblyShouldReadAssemblyWithComponentInterpolationWithoutSiteDirInclusionOrAssemblyInterpolation() - throws Exception { - final File componentsFile = temporaryFolder.newFile(); + throws Exception { + final File componentsFile = File.createTempFile("junit", null, temporaryFolder); final File basedir = componentsFile.getParentFile(); final String componentsFilename = componentsFile.getName(); @@ -474,7 +476,7 @@ private Assembly doReadAssembly(Assembly assembly) throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException { final StringReader sr = writeToStringReader(assembly); - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; when(configSource.getBasedir()).thenReturn(basedir); @@ -502,7 +504,7 @@ public void testGetAssemblyFromDescriptorFileShouldReadAssembly() throws Excepti assembly.addFileSet(fs); - final File assemblyFile = temporaryFolder.newFile(); + final File assemblyFile = File.createTempFile("junit", null, temporaryFolder); final File basedir = assemblyFile.getParentFile(); @@ -524,7 +526,7 @@ public void testGetAssemblyFromDescriptorFileShouldReadAssembly() throws Excepti @Test public void testGetAssemblyForDescriptorReferenceShouldReadBinaryAssemblyRef() throws Exception { - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; when(configSource.getBasedir()).thenReturn(basedir); @@ -547,13 +549,13 @@ public void testReadAssembliesShouldGetAssemblyDescriptorFromSingleFile() throws assembly.addFileSet(fs); - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; final List files = writeAssembliesToFile(Collections.singletonList(assembly), basedir); final String assemblyFile = files.get(0); - final List assemblies = performReadAssemblies(basedir, new String[] {assemblyFile}, null, null); + final List assemblies = performReadAssemblies(basedir, new String[]{assemblyFile}, null, null); assertNotNull(assemblies); assertEquals(1, assemblies.size()); @@ -565,7 +567,7 @@ public void testReadAssembliesShouldGetAssemblyDescriptorFromSingleFile() throws @Test public void testReadAssembliesShouldFailWhenSingleDescriptorFileMissing() throws Exception { - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; try { performReadAssemblies(basedir, null, null, null, false); @@ -578,7 +580,7 @@ public void testReadAssembliesShouldFailWhenSingleDescriptorFileMissing() throws @Test public void testReadAssembliesShouldIgnoreMissingSingleDescriptorFileWhenIgnoreIsConfigured() throws Exception { - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; try { performReadAssemblies(basedir, null, null, null, true); @@ -600,7 +602,7 @@ public void testReadAssembliesShouldGetAssemblyDescriptorFromFileArray() throws assemblies.add(assembly1); assemblies.add(assembly2); - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; final List files = writeAssembliesToFile(assemblies, basedir); @@ -620,9 +622,9 @@ public void testReadAssembliesShouldGetAssemblyDescriptorFromFileArray() throws @Test public void testReadAssembliesShouldGetAssemblyDescriptorFromMultipleRefs() throws Exception { - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; - final List assemblies = performReadAssemblies(basedir, null, new String[] {"bin", "src"}, null); + final List assemblies = performReadAssemblies(basedir, null, new String[]{"bin", "src"}, null); assertNotNull(assemblies); assertEquals(2, assemblies.size()); @@ -648,7 +650,7 @@ public void testReadAssembliesShouldGetAssemblyDescriptorFromDirectory() throws assemblies.add(assembly1); assemblies.add(assembly2); - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; writeAssembliesToFile(assemblies, basedir); @@ -678,7 +680,7 @@ public void testReadAssembliesShouldGetTwoAssemblyDescriptorsFromDirectoryWithTh assemblies.add(assembly1); assemblies.add(assembly2); - final File basedir = temporaryFolder.getRoot(); + final File basedir = temporaryFolder; writeAssembliesToFile(assemblies, basedir); @@ -766,4 +768,13 @@ private List performReadAssemblies( return new DefaultAssemblyReader().readAssemblies(configSource); } + + private static File newFolder(File root, String... subDirs) throws IOException { + String subFolder = String.join("/", subDirs); + File result = new File(root, subFolder); + if (!result.mkdirs()) { + throw new IOException("Couldn't create folders " + root); + } + return result; + } } diff --git a/src/test/java/org/apache/maven/plugins/assembly/io/PrefixedClasspathLocatorStrategyTest.java b/src/test/java/org/apache/maven/plugins/assembly/io/PrefixedClasspathLocatorStrategyTest.java index 25844c78..5fd1919d 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/io/PrefixedClasspathLocatorStrategyTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/io/PrefixedClasspathLocatorStrategyTest.java @@ -18,10 +18,10 @@ */ package org.apache.maven.plugins.assembly.io; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Benjamin Bentmann diff --git a/src/test/java/org/apache/maven/plugins/assembly/utils/AssemblyFormatUtilsTest.java b/src/test/java/org/apache/maven/plugins/assembly/utils/AssemblyFormatUtilsTest.java index a4cc6c64..62255849 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/utils/AssemblyFormatUtilsTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/utils/AssemblyFormatUtilsTest.java @@ -32,18 +32,21 @@ import org.apache.maven.plugins.assembly.model.Assembly; import org.apache.maven.project.MavenProject; import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@MockitoSettings(strictness = Strictness.WARN) +@ExtendWith(MockitoExtension.class) public class AssemblyFormatUtilsTest { @Test public void testFixRelativePathRefsShouldRemoveRelativeRefToCurrentDir() { diff --git a/src/test/java/org/apache/maven/plugins/assembly/utils/FilterUtilsTest.java b/src/test/java/org/apache/maven/plugins/assembly/utils/FilterUtilsTest.java index fe8f5709..1107cf77 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/utils/FilterUtilsTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/utils/FilterUtilsTest.java @@ -30,20 +30,23 @@ import org.apache.maven.plugins.assembly.InvalidAssemblerConfigurationException; import org.apache.maven.project.MavenProject; import org.hamcrest.Matchers; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; import org.slf4j.LoggerFactory; import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@MockitoSettings(strictness = Strictness.WARN) +@ExtendWith(MockitoExtension.class) public class FilterUtilsTest { @Test diff --git a/src/test/java/org/apache/maven/plugins/assembly/utils/LineEndingsUtilsTest.java b/src/test/java/org/apache/maven/plugins/assembly/utils/LineEndingsUtilsTest.java index bada093e..b9aff77c 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/utils/LineEndingsUtilsTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/utils/LineEndingsUtilsTest.java @@ -28,10 +28,11 @@ import org.apache.commons.io.IOUtils; import org.apache.maven.plugins.assembly.format.AssemblyFormattingException; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertThrows; public class LineEndingsUtilsTest { @@ -81,10 +82,10 @@ public void testGetLineEndingCharsShouldReturnNullLineEnding() throws AssemblyFo assertNull(LineEndingsUtils.getLineEndingCharacters("keep")); } - @Test(expected = AssemblyFormattingException.class) - public void testGetLineEndingCharsShouldThrowFormattingExceptionWithInvalidHint() - throws AssemblyFormattingException { - LineEndingsUtils.getLineEndingCharacters("invalid"); + @Test + public void testGetLineEndingCharsShouldThrowFormattingExceptionWithInvalidHint() { + assertThrows(AssemblyFormattingException.class, () -> + LineEndingsUtils.getLineEndingCharacters("invalid")); } @Test diff --git a/src/test/java/org/apache/maven/plugins/assembly/utils/LinuxLineFeedInputStreamTest.java b/src/test/java/org/apache/maven/plugins/assembly/utils/LinuxLineFeedInputStreamTest.java index 3630a2a9..849d287c 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/utils/LinuxLineFeedInputStreamTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/utils/LinuxLineFeedInputStreamTest.java @@ -21,9 +21,9 @@ import java.io.ByteArrayInputStream; import java.io.IOException; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; public class LinuxLineFeedInputStreamTest { diff --git a/src/test/java/org/apache/maven/plugins/assembly/utils/ProjectUtilsTest.java b/src/test/java/org/apache/maven/plugins/assembly/utils/ProjectUtilsTest.java index f74334e4..7633eea8 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/utils/ProjectUtilsTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/utils/ProjectUtilsTest.java @@ -28,14 +28,14 @@ import org.apache.maven.model.Model; import org.apache.maven.project.MavenProject; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; public class ProjectUtilsTest { private final Logger logger = LoggerFactory.getLogger(getClass()); diff --git a/src/test/java/org/apache/maven/plugins/assembly/utils/TypeConversionUtilsTest.java b/src/test/java/org/apache/maven/plugins/assembly/utils/TypeConversionUtilsTest.java index f5792d1f..342aab0c 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/utils/TypeConversionUtilsTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/utils/TypeConversionUtilsTest.java @@ -22,14 +22,14 @@ import java.util.List; import org.apache.maven.plugins.assembly.format.AssemblyFormattingException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @@ -89,9 +89,9 @@ private void checkFileModeSanity( final String mode, final boolean isSane, final List messagesToCheckIfInsane) { Logger logger = mock(Logger.class); assertEquals( - "Mode sanity should be: " + isSane, isSane, - TypeConversionUtils.verifyModeSanity(Integer.parseInt(mode, 8), logger)); + TypeConversionUtils.verifyModeSanity(Integer.parseInt(mode, 8), logger), + "Mode sanity should be: " + isSane); if (!isSane && messagesToCheckIfInsane != null && !messagesToCheckIfInsane.isEmpty()) { ArgumentCaptor warnings = ArgumentCaptor.forClass(String.class); @@ -100,7 +100,7 @@ private void checkFileModeSanity( final String message = warnings.getAllValues().toString(); for (final String checkMessage : messagesToCheckIfInsane) { - assertTrue("\'" + checkMessage + "\' is not present in output.", message.contains(checkMessage)); + assertTrue(message.contains(checkMessage), "\'" + checkMessage + "\' is not present in output."); } } } diff --git a/src/test/java/org/apache/maven/plugins/assembly/utils/WindowsLineFeedInputStreamTest.java b/src/test/java/org/apache/maven/plugins/assembly/utils/WindowsLineFeedInputStreamTest.java index 55ab114e..da8b0213 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/utils/WindowsLineFeedInputStreamTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/utils/WindowsLineFeedInputStreamTest.java @@ -21,9 +21,9 @@ import java.io.ByteArrayInputStream; import java.io.IOException; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; public class WindowsLineFeedInputStreamTest {