You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2026/05/11 00:21:10 UTC
(cayenne) 02/02: refactor away ancient FileUtil from tests
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 <an...@objectstyle.com>
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