This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-vfs.git
The following commit(s) were added to refs/heads/master by this push: new 51eb9fec Port some test code from IO to NIO APIs 51eb9fec is described below commit 51eb9fec73ae493fdea1fe9110c568c16599c60c Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Sat Jan 28 09:41:52 2023 -0500 Port some test code from IO to NIO APIs --- .../vfs2/provider/DefaultFileContentTest.java | 26 ++++++++------- .../commons/vfs2/provider/local/TempFileTests.java | 11 +++--- .../sftp/AbstractSftpProviderTestCase.java | 15 +++++---- .../commons/vfs2/provider/zip/FileLockTest.java | 26 +++++++-------- .../vfs2/provider/zip/ParseXmlInZipTest.java | 24 +++++++------ .../vfs2/provider/zip/ZipFileObjectTest.java | 39 ++++++++++++---------- 6 files changed, 76 insertions(+), 65 deletions(-) diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/DefaultFileContentTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/DefaultFileContentTest.java index d76e0bb5..4f0834c5 100644 --- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/DefaultFileContentTest.java +++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/DefaultFileContentTest.java @@ -27,6 +27,8 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.concurrent.atomic.AtomicBoolean; import org.apache.commons.lang3.ArrayUtils; @@ -64,10 +66,10 @@ public class DefaultFileContentTest { } private void testInputStreamBufferSize(final int bufferSize) throws Exception { - final File temp = File.createTempFile("temp-file-name", ".tmp"); + final Path temp = Files.createTempFile("temp-file-name", ".tmp"); final FileSystemManager fileSystemManager = VFS.getManager(); - try (FileObject file = fileSystemManager.resolveFile(temp.getAbsolutePath())) { + try (FileObject file = fileSystemManager.resolveFile(temp.toAbsolutePath().toString())) { file.getContent().getInputStream(bufferSize); } } @@ -94,10 +96,10 @@ public class DefaultFileContentTest { @Test public void testMarkingWhenReadingEOS() throws Exception { - final File temp = File.createTempFile("temp-file-name", ".tmp"); + final Path temp = Files.createTempFile("temp-file-name", ".tmp"); final FileSystemManager fileSystemManager = VFS.getManager(); - try (FileObject file = fileSystemManager.resolveFile(temp.getAbsolutePath())) { + try (FileObject file = fileSystemManager.resolveFile(temp.toAbsolutePath().toString())) { try (OutputStream outputStream = file.getContent().getOutputStream()) { outputStream.write(expected.getBytes()); outputStream.flush(); @@ -123,10 +125,10 @@ public class DefaultFileContentTest { @Test public void testMarkingWorks() throws Exception { - final File temp = File.createTempFile("temp-file-name", ".tmp"); + final Path temp = Files.createTempFile("temp-file-name", ".tmp"); final FileSystemManager fileSystemManager = VFS.getManager(); - try (FileObject file = fileSystemManager.resolveFile(temp.getAbsolutePath())) { + try (FileObject file = fileSystemManager.resolveFile(temp.toAbsolutePath().toString())) { try (OutputStream outputStream = file.getContent().getOutputStream()) { outputStream.write(expected.getBytes()); outputStream.flush(); @@ -147,10 +149,10 @@ public class DefaultFileContentTest { } private void testOutputStreamBufferSize(final int bufferSize) throws Exception { - final File temp = File.createTempFile("temp-file-name", ".tmp"); + final Path temp = Files.createTempFile("temp-file-name", ".tmp"); final FileSystemManager fileSystemManager = VFS.getManager(); - try (FileObject file = fileSystemManager.resolveFile(temp.getAbsolutePath())) { + try (FileObject file = fileSystemManager.resolveFile(temp.toAbsolutePath().toString())) { file.getContent().getOutputStream(bufferSize).close(); } } @@ -172,10 +174,10 @@ public class DefaultFileContentTest { @Test public void testOutputStreamBufferSizeNegativeWithAppendFlag() throws Exception { - final File temp = File.createTempFile("temp-file-name", ".tmp"); + final Path temp = Files.createTempFile("temp-file-name", ".tmp"); final FileSystemManager fileSystemManager = VFS.getManager(); - try (FileObject file = fileSystemManager.resolveFile(temp.getAbsolutePath())) { + try (FileObject file = fileSystemManager.resolveFile(temp.toAbsolutePath().toString())) { assertThrows(IllegalArgumentException.class, () -> file.getContent().getOutputStream(true, -1)); } } @@ -186,10 +188,10 @@ public class DefaultFileContentTest { } private <T extends Closeable> void testStreamClosedInADifferentThread(final FailableFunction<FileContent, T, IOException> getStream) throws Exception { - final File temp = File.createTempFile("temp-file-name", ".tmp"); + final Path temp = Files.createTempFile("temp-file-name", ".tmp"); final FileSystemManager fileSystemManager = VFS.getManager(); - try (FileObject file = fileSystemManager.resolveFile(temp.getAbsolutePath())) { + try (FileObject file = fileSystemManager.resolveFile(temp.toAbsolutePath().toString())) { final T stream = getStream.apply(file.getContent()); final AtomicBoolean check = new AtomicBoolean(); final Thread thread = new Thread(() -> { diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/local/TempFileTests.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/local/TempFileTests.java index 72d9898f..6606c07d 100644 --- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/local/TempFileTests.java +++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/local/TempFileTests.java @@ -16,8 +16,9 @@ */ package org.apache.commons.vfs2.provider.local; -import java.io.File; import java.net.URI; +import java.nio.file.Files; +import java.nio.file.Path; import org.apache.commons.vfs2.AbstractProviderTestCase; import org.apache.commons.vfs2.FileContent; @@ -36,13 +37,13 @@ public class TempFileTests extends AbstractProviderTestCase { @Test public void testLocalFile() throws Exception { final String prefix = "\u0074\u0065\u0074"; - final File file = File.createTempFile(prefix + "-", "-" + prefix); - assertTrue(file.exists()); - final URI uri = file.toURI(); + final Path file = Files.createTempFile(prefix + "-", "-" + prefix); + assertTrue(Files.exists(file)); + final URI uri = file.toUri(); try (FileSystemManager manager = getManager()) { try (FileObject fileObject = manager.resolveFile(uri)) { try (FileContent sourceContent = fileObject.getContent()) { - assertEquals(sourceContent.getSize(), file.length()); + assertEquals(sourceContent.getSize(), Files.size(file)); } } } diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/sftp/AbstractSftpProviderTestCase.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/sftp/AbstractSftpProviderTestCase.java index 503fd65b..36c2612c 100644 --- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/sftp/AbstractSftpProviderTestCase.java +++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/sftp/AbstractSftpProviderTestCase.java @@ -26,6 +26,9 @@ import java.io.OutputStream; import java.io.PrintStream; import java.net.InetSocketAddress; import java.net.Socket; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.time.Duration; import java.util.ArrayList; import java.util.List; @@ -484,20 +487,20 @@ abstract class AbstractSftpProviderTestCase extends AbstractProviderTestConfig { return; } // System.setProperty("vfs.sftp.sshdir", getTestDirectory() + "/../vfs.sftp.sshdir"); - final String tmpDir = System.getProperty("java.io.tmpdir"); + final Path tmpDir = Paths.get(System.getProperty("java.io.tmpdir")); Server = SshServer.setUpDefaultServer(); Server.setPort(0); if (SecurityUtils.isBouncyCastleRegistered()) { // A temporary file will hold the key - final File keyFile = File.createTempFile("key", ".pem", new File(tmpDir)); - keyFile.deleteOnExit(); + final Path keyFile = Files.createTempFile(tmpDir, "key", ".pem"); + keyFile.toFile().deleteOnExit(); // It has to be deleted in order to be generated - keyFile.delete(); + Files.delete(keyFile); - final PEMGeneratorHostKeyProvider keyProvider = new PEMGeneratorHostKeyProvider(keyFile.getAbsolutePath()); + final PEMGeneratorHostKeyProvider keyProvider = new PEMGeneratorHostKeyProvider(keyFile.toAbsolutePath().toString()); Server.setKeyPairProvider(keyProvider); } else { - Server.setKeyPairProvider(new SimpleGeneratorHostKeyProvider(tmpDir + "/key.ser")); + Server.setKeyPairProvider(new SimpleGeneratorHostKeyProvider(tmpDir.resolve("key.ser").toString())); } final List<NamedFactory<Command>> list = new ArrayList<>(1); list.add(new NamedFactory<Command>() { diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/zip/FileLockTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/zip/FileLockTest.java index ab200ab0..a01f8d73 100644 --- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/zip/FileLockTest.java +++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/zip/FileLockTest.java @@ -19,15 +19,15 @@ package org.apache.commons.vfs2.provider.zip; 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; import static org.junit.jupiter.api.Assumptions.assumeTrue; -import java.io.File; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; -import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.SystemUtils; import org.apache.commons.vfs2.FileObject; @@ -43,13 +43,13 @@ import org.junit.jupiter.api.Test; public class FileLockTest { private FileSystemManager manager; - private File newZipFile; + private Path newZipFile; private String zipFileUri; - private void assertDelete() { + private void assertDelete() throws IOException { // We do not use newZipFile in the Assert message to avoid touching it before calling delete(). - assertTrue(newZipFile.delete(), "Could not delete file"); + Files.delete(newZipFile); } private void readAndAssert(final InputStream inputStream) throws IOException { @@ -80,11 +80,11 @@ public class FileLockTest { @BeforeEach public void setup() throws IOException { - final File zipFile = new File("src/test/resources/test-data/test.zip"); - newZipFile = File.createTempFile(getClass().getSimpleName(), ".zip"); - newZipFile.deleteOnExit(); - FileUtils.copyFile(zipFile, newZipFile); - zipFileUri = "zip:file:" + newZipFile.getAbsolutePath() + "!/read-tests/file1.txt"; + final Path zipFile = Paths.get("src/test/resources/test-data/test.zip"); + newZipFile = Files.createTempFile(getClass().getSimpleName(), ".zip"); + newZipFile.toFile().deleteOnExit(); + Files.copy(zipFile, newZipFile); + zipFileUri = "zip:file:" + newZipFile.toAbsolutePath() + "!/read-tests/file1.txt"; manager = VFS.getManager(); } @@ -94,7 +94,7 @@ public class FileLockTest { try (InputStream inputStream = zipFileObject.getContent().getInputStream()) { if (SystemUtils.IS_OS_WINDOWS) { // We do not use newZipFile in the Assert message to avoid touching it before calling delete(). - assertFalse(newZipFile.delete(), "Could not delete file"); + assertFalse(newZipFile.toFile().delete(), "Could not delete file"); } } } @@ -107,7 +107,7 @@ public class FileLockTest { try (FileObject zipFileObject = manager.resolveFile(zipFileUri)) { try (InputStream inputStream = zipFileObject.getContent().getInputStream()) { // We do not use newZipFile in the Assert message to avoid touching it before calling delete(). - assertFalse(newZipFile.delete(), "Could not delete file"); + assertFalse(newZipFile.toFile().delete(), "Could not delete file"); } } } diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/zip/ParseXmlInZipTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/zip/ParseXmlInZipTest.java index edd6fde2..72972063 100644 --- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/zip/ParseXmlInZipTest.java +++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/zip/ParseXmlInZipTest.java @@ -19,10 +19,13 @@ package org.apache.commons.vfs2.provider.zip; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; -import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; import java.util.Locale; import java.util.regex.Pattern; @@ -30,7 +33,6 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import org.apache.commons.io.FileUtils; import org.apache.commons.vfs2.FileObject; import org.apache.commons.vfs2.FileSystemException; import org.apache.commons.vfs2.FileSystemManager; @@ -57,11 +59,11 @@ public class ParseXmlInZipTest { Locale.setDefault(new Locale("en", "US")); } - private File createTempFile() throws IOException { - final File zipFile = new File("src/test/resources/test-data/read-xml-tests.zip"); - final File newZipFile = File.createTempFile(getClass().getSimpleName(), ".zip"); - newZipFile.deleteOnExit(); - FileUtils.copyFile(zipFile, newZipFile); + private Path createTempFile() throws IOException { + final Path zipFile = Paths.get("src/test/resources/test-data/read-xml-tests.zip"); + final Path newZipFile = Files.createTempFile(getClass().getSimpleName(), ".zip"); + newZipFile.toFile().deleteOnExit(); + Files.copy(zipFile, newZipFile, StandardCopyOption.REPLACE_EXISTING); return newZipFile; } @@ -101,8 +103,8 @@ public class ParseXmlInZipTest { @Test public void testParseXmlInZip() throws IOException, SAXException { - final File newZipFile = createTempFile(); - final String xmlFilePath = "zip:file:" + newZipFile.getAbsolutePath() + "!/read-xml-tests/file1.xml"; + final Path newZipFile = createTempFile(); + final String xmlFilePath = "zip:file:" + newZipFile.toAbsolutePath() + "!/read-xml-tests/file1.xml"; final FileSystemManager manager = VFS.getManager(); try (FileObject zipFileObject = manager.resolveFile(xmlFilePath)) { try (InputStream inputStream = zipFileObject.getContent().getInputStream()) { @@ -150,8 +152,8 @@ public class ParseXmlInZipTest { private void testResolveAndParseXmlInZip(final String xmlPathInZip, final String xsdPathInZip) throws IOException, FileSystemException, SAXException { - final File newZipFile = createTempFile(); - final String zipFilePath = "zip:file:" + newZipFile.getAbsolutePath(); + final Path newZipFile = createTempFile(); + final String zipFilePath = "zip:file:" + newZipFile.toAbsolutePath(); final FileSystemManager manager = VFS.getManager(); try (FileObject zipFileObject = manager.resolveFile(zipFilePath)) { try (FileObject xmlFileObject = zipFileObject.resolveFile(xmlPathInZip)) { diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/zip/ZipFileObjectTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/zip/ZipFileObjectTest.java index ca28bfb0..dd04ac03 100644 --- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/zip/ZipFileObjectTest.java +++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/zip/ZipFileObjectTest.java @@ -20,8 +20,11 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; -import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.vfs2.FileObject; import org.apache.commons.vfs2.FileSystemException; @@ -36,15 +39,15 @@ public class ZipFileObjectTest { private static final String NESTED_FILE_1 = "/read-xml-tests/file1.xml"; private static final String NESTED_FILE_2 = "/read-xml-tests/file2.xml"; - private void assertDelete(final File fileObject) { - Assert.assertTrue("Could not delete file", fileObject.delete()); + private void assertDelete(final Path fileObject) throws IOException { + Files.delete(fileObject); } - private File createTempFile() throws IOException { - final File zipFile = new File("src/test/resources/test-data/read-xml-tests.zip"); - final File newZipFile = File.createTempFile(getClass().getSimpleName(), ".zip"); - newZipFile.deleteOnExit(); - FileUtils.copyFile(zipFile, newZipFile); + private Path createTempFile() throws IOException { + final Path zipFile = Paths.get("src/test/resources/test-data/read-xml-tests.zip"); + final Path newZipFile = Files.createTempFile(getClass().getSimpleName(), ".zip"); + newZipFile.toFile().deleteOnExit(); + Files.copy(zipFile, newZipFile, StandardCopyOption.REPLACE_EXISTING); return newZipFile; } @@ -82,9 +85,9 @@ public class ZipFileObjectTest { @Test @Disabled("Shows that leaving a stream open and not closing any resource leaves the container file locked") public void testLeaveNestedFileOpen() throws IOException { - final File newZipFile = createTempFile(); + final Path newZipFile = createTempFile(); final FileSystemManager manager = VFS.getManager(); - try (FileObject zipFileObject = manager.resolveFile("zip:file:" + newZipFile.getAbsolutePath())) { + try (FileObject zipFileObject = manager.resolveFile("zip:file:" + newZipFile.toAbsolutePath())) { @SuppressWarnings({ "resource" }) final FileObject zipFileObject1 = zipFileObject.resolveFile(NESTED_FILE_1); getInputStreamAndAssert(zipFileObject1, "1"); @@ -99,9 +102,9 @@ public class ZipFileObjectTest { */ @Test public void testReadingFilesInZipFile() throws IOException { - final File newZipFile = createTempFile(); + final Path newZipFile = createTempFile(); final FileSystemManager manager = VFS.getManager(); - try (FileObject zipFileObject = manager.resolveFile("zip:file:" + newZipFile.getAbsolutePath())) { + try (FileObject zipFileObject = manager.resolveFile("zip:file:" + newZipFile.toAbsolutePath())) { try (FileObject zipFileObject1 = zipFileObject.resolveFile(NESTED_FILE_1)) { try (InputStream inputStream = zipFileObject1.getContent().getInputStream()) { readAndAssert(zipFileObject1, inputStream, "1"); @@ -120,11 +123,11 @@ public class ZipFileObjectTest { */ @Test public void testReadingOneAfterClosingAnotherFile() throws IOException { - final File newZipFile = createTempFile(); + final Path newZipFile = createTempFile(); final FileSystemManager manager = VFS.getManager(); final FileObject zipFileObject1; final InputStream inputStream1; - try (FileObject zipFileObject = manager.resolveFile("zip:file:" + newZipFile.getAbsolutePath())) { + try (FileObject zipFileObject = manager.resolveFile("zip:file:" + newZipFile.toAbsolutePath())) { // leave resources open zipFileObject1 = zipFileObject.resolveFile(NESTED_FILE_1); inputStream1 = zipFileObject1.getContent().getInputStream(); @@ -144,11 +147,11 @@ public class ZipFileObjectTest { */ @Test public void testReadingOneAfterClosingAnotherStream() throws IOException { - final File newZipFile = createTempFile(); + final Path newZipFile = createTempFile(); final FileSystemManager manager = VFS.getManager(); final FileObject zipFileObject1; final InputStream inputStream1; - try (FileObject zipFileObject = manager.resolveFile("zip:file:" + newZipFile.getAbsolutePath())) { + try (FileObject zipFileObject = manager.resolveFile("zip:file:" + newZipFile.toAbsolutePath())) { // leave resources open (note that internal counters are updated) zipFileObject1 = zipFileObject.resolveFile(NESTED_FILE_1); inputStream1 = zipFileObject1.getContent().getInputStream(); @@ -194,9 +197,9 @@ public class ZipFileObjectTest { */ @Test public void testResolveNestedFileWithoutCleanup() throws IOException { - final File newZipFile = createTempFile(); + final Path newZipFile = createTempFile(); final FileSystemManager manager = VFS.getManager(); - try (FileObject zipFileObject = manager.resolveFile("zip:file:" + newZipFile.getAbsolutePath())) { + try (FileObject zipFileObject = manager.resolveFile("zip:file:" + newZipFile.toAbsolutePath())) { @SuppressWarnings({ "unused", "resource" }) // We resolve a nested file and do nothing else. final FileObject zipFileObject1 = zipFileObject.resolveFile(NESTED_FILE_1);