This is an automated email from the ASF dual-hosted git repository. asf-gitbox-commits pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cayenne.git
commit d899659a16bc6d6c4008c3f604c35fe2095ea656 Author: Andrus Adamchik <[email protected]> AuthorDate: Sun May 10 20:19:07 2026 -0400 refactor away ancient FileUtil from tests --- .../org/apache/cayenne/test/file/FileUtil.java | 82 ---------------------- ...enneGeneratorTaskCrossMapRelationshipsTest.java | 7 +- .../cayenne/tools/CayenneGeneratorTaskTest.java | 21 +++--- .../apache/cayenne/tools/CgenWithConfigTest.java | 16 +++-- .../apache/cayenne/tools/DbImporterTaskTest.java | 9 ++- 5 files changed, 35 insertions(+), 100 deletions(-) diff --git a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/file/FileUtil.java b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/file/FileUtil.java deleted file mode 100644 index 1daccfc16..000000000 --- a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/file/FileUtil.java +++ /dev/null @@ -1,82 +0,0 @@ -/***************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - ****************************************************************/ -package org.apache.cayenne.test.file; - -import java.io.File; - -public final class FileUtil { - - static final String TEST_DIR_KEY = "cayenne.test.dir"; - static final String DEFAULT_TEST_DIR = "target/testrun"; - - private static final File baseTestDirectory; - - static { - String testDirName = System.getProperty(TEST_DIR_KEY); - - if (testDirName == null) { - testDirName = DEFAULT_TEST_DIR; - } - - baseTestDirectory = new File(testDirName); - - // delete old tests - if (baseTestDirectory.exists()) { - if (!FileUtil.delete(testDirName, true)) { - throw new RuntimeException("Error deleting test directory: " - + testDirName); - } - } - - if (!baseTestDirectory.mkdirs()) { - throw new RuntimeException("Error creating test directory: " + testDirName); - } - } - - /** - * Returns a test directory that is used as a scratch area. - */ - public static File baseTestDirectory() { - return baseTestDirectory; - } - - public static boolean delete(String filePath, boolean recursive) { - File file = new File(filePath); - if (!file.exists()) { - return true; - } - - if (!recursive || !file.isDirectory()) - return file.delete(); - - String[] contents = file.list(); - - // list can be null if directory doesn't have an 'x' permission bit set for the - // user - if (contents != null) { - for (String item : contents) { - if (!delete(filePath + File.separator + item, true)) { - return false; - } - } - } - - return file.delete(); - } -} diff --git a/cayenne-ant/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java b/cayenne-ant/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java index ff387dfe6..2102e9fa8 100644 --- a/cayenne-ant/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java +++ b/cayenne-ant/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java @@ -19,13 +19,13 @@ package org.apache.cayenne.tools; -import org.apache.cayenne.test.file.FileUtil; import org.apache.cayenne.test.resource.ResourceUtil; import org.apache.tools.ant.Location; import org.apache.tools.ant.Project; import org.apache.tools.ant.types.FileList; import org.apache.tools.ant.types.Path; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import java.io.BufferedReader; import java.io.File; @@ -38,6 +38,9 @@ import static org.junit.jupiter.api.Assertions.fail; public class CayenneGeneratorTaskCrossMapRelationshipsTest { + @TempDir + File tempDir; + /** * Tests pairs generation with a cross-DataMap relationship. */ @@ -51,7 +54,7 @@ public class CayenneGeneratorTaskCrossMapRelationshipsTest { // prepare destination directory - File destDir = new File(FileUtil.baseTestDirectory(), "cgen12"); + File destDir = new File(tempDir, "cgen12"); // prepare destination directory if (!destDir.exists()) { assertTrue(destDir.mkdirs()); diff --git a/cayenne-ant/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java b/cayenne-ant/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java index f6e4c8501..fb1149234 100644 --- a/cayenne-ant/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java +++ b/cayenne-ant/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java @@ -22,17 +22,19 @@ package org.apache.cayenne.tools; import org.apache.cayenne.gen.CgenConfiguration; import org.apache.cayenne.gen.TemplateType; import org.apache.cayenne.map.DataMap; -import org.apache.cayenne.test.file.FileUtil; import org.apache.cayenne.test.resource.ResourceUtil; import org.apache.tools.ant.Location; import org.apache.tools.ant.Project; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; +import java.nio.file.Path; import java.util.List; import java.util.regex.Pattern; @@ -43,14 +45,17 @@ import static org.junit.jupiter.api.Assertions.fail; public class CayenneGeneratorTaskTest { - private static final File baseDir; - private static final File map; - private static final File mapEmbeddables; - private static final File template; + @TempDir + static Path tempDir; - static { + private static File baseDir; + private static File map; + private static File mapEmbeddables; + private static File template; - baseDir = FileUtil.baseTestDirectory(); + @BeforeAll + static void setUpClass() { + baseDir = tempDir.toFile(); map = new File(baseDir, "antmap.xml"); mapEmbeddables = new File(baseDir, "antmap-embeddables.xml"); template = new File(baseDir, "velotemplate.vm"); @@ -137,7 +142,7 @@ public class CayenneGeneratorTaskTest { assertTrue(cgenConfiguration.isUsePkgPath()); assertTrue(cgenConfiguration.getTemplate().isFile()); - assertEquals(convertPath("target/testrun/velotemplate.vm"), convertPath(cgenConfiguration.getTemplate().getData())); + assertEquals(template.getPath(), convertPath(cgenConfiguration.getTemplate().getData())); assertEquals(TemplateType.ENTITY_SUBCLASS, cgenConfiguration.getTemplate().getType()); assertTrue(cgenConfiguration.getSuperTemplate().isFile()); diff --git a/cayenne-ant/src/test/java/org/apache/cayenne/tools/CgenWithConfigTest.java b/cayenne-ant/src/test/java/org/apache/cayenne/tools/CgenWithConfigTest.java index 2f034a3a0..f365f61e0 100644 --- a/cayenne-ant/src/test/java/org/apache/cayenne/tools/CgenWithConfigTest.java +++ b/cayenne-ant/src/test/java/org/apache/cayenne/tools/CgenWithConfigTest.java @@ -18,14 +18,16 @@ ****************************************************************/ package org.apache.cayenne.tools; -import org.apache.cayenne.test.file.FileUtil; import org.apache.cayenne.test.resource.ResourceUtil; import org.apache.tools.ant.Location; import org.apache.tools.ant.Project; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import java.io.File; +import java.nio.file.Path; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -35,11 +37,15 @@ import static org.junit.jupiter.api.Assertions.assertTrue; */ public class CgenWithConfigTest { - private static final File baseDir; - private static final File map; + @TempDir + static Path tempDir; - static { - baseDir = FileUtil.baseTestDirectory(); + private static File baseDir; + private static File map; + + @BeforeAll + static void setUpClass() { + baseDir = tempDir.toFile(); map = new File(baseDir, "antmap-cgen.xml"); ResourceUtil.copyResourceToFile("cgenTest.map.xml", map); diff --git a/cayenne-ant/src/test/java/org/apache/cayenne/tools/DbImporterTaskTest.java b/cayenne-ant/src/test/java/org/apache/cayenne/tools/DbImporterTaskTest.java index b0ea2c408..2cb2cb633 100644 --- a/cayenne-ant/src/test/java/org/apache/cayenne/tools/DbImporterTaskTest.java +++ b/cayenne-ant/src/test/java/org/apache/cayenne/tools/DbImporterTaskTest.java @@ -19,7 +19,6 @@ package org.apache.cayenne.tools; import org.apache.cayenne.dbsync.reverse.dbimport.DbImportConfiguration; -import org.apache.cayenne.test.file.FileUtil; import org.apache.cayenne.test.jdbc.SQLReader; import org.apache.cayenne.test.resource.ResourceUtil; import org.apache.tools.ant.Project; @@ -27,12 +26,14 @@ import org.apache.tools.ant.ProjectHelper; import org.apache.tools.ant.UnknownElement; import org.apache.tools.ant.util.FileUtils; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import org.xmlunit.matchers.CompareMatcher; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.net.URL; +import java.nio.file.Path; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; @@ -53,9 +54,11 @@ import static org.junit.jupiter.api.Assertions.assertTrue; // based on "cayenneTestConnection", like we do in cayenne-server, etc. public class DbImporterTaskTest { + @TempDir + Path tempDir; - private static File distDir(String name) { - File distDir = new File(FileUtil.baseTestDirectory(), "cdbImport"); + private File distDir(String name) { + File distDir = tempDir.resolve("cdbImport").toFile(); File file = new File(distDir, name); distDir = file.getParentFile(); // prepare destination directory
