This is an automated email from the ASF dual-hosted git repository.
adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new 58a04536f7 HDDS-12381. Fix spotbugs warnings in TestHddsUtils (#7955)
58a04536f7 is described below
commit 58a04536f769d0f571e7bce81f20e54435a4c345
Author: Peter Lee <[email protected]>
AuthorDate: Sun Feb 23 18:17:59 2025 +0800
HDDS-12381. Fix spotbugs warnings in TestHddsUtils (#7955)
---
.../common/dev-support/findbugsExcludeFile.xml | 14 -------
.../java/org/apache/hadoop/hdds/TestHddsUtils.java | 48 +++++++++++++++-------
2 files changed, 33 insertions(+), 29 deletions(-)
diff --git a/hadoop-hdds/common/dev-support/findbugsExcludeFile.xml
b/hadoop-hdds/common/dev-support/findbugsExcludeFile.xml
index ec4cd0ac5a..61f4cddad8 100644
--- a/hadoop-hdds/common/dev-support/findbugsExcludeFile.xml
+++ b/hadoop-hdds/common/dev-support/findbugsExcludeFile.xml
@@ -31,18 +31,4 @@
<Method name="update" />
<Bug pattern="SF_SWITCH_FALLTHROUGH,SF_SWITCH_NO_DEFAULT" />
</Match>
-
- <!-- Test -->
- <Match>
- <Class name="org.apache.hadoop.hdds.TestHddsUtils"></Class>
- <Bug pattern="DMI_HARDCODED_ABSOLUTE_FILENAME" />
- </Match>
- <Match>
- <Class
name="~org\.apache\.hadoop\.hdds\.scm\.net\.TestNodeSchemaLoader\$.*"></Class>
- <Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.hdds.utils.db.Proto2CodecTestBase"/>
- <Bug pattern="NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS" />
- </Match>
</FindBugsFilter>
diff --git
a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/TestHddsUtils.java
b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/TestHddsUtils.java
index 7a6924e2b3..71fb2eae23 100644
--- a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/TestHddsUtils.java
+++ b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/TestHddsUtils.java
@@ -32,6 +32,7 @@
import java.net.InetSocketAddress;
import java.nio.file.Paths;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
@@ -43,6 +44,9 @@
import org.apache.hadoop.hdds.scm.ScmConfigKeys;
import org.apache.hadoop.ozone.ha.ConfUtils;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
/**
* Testing HddsUtils.
@@ -66,23 +70,37 @@ void testGetHostName() {
HddsUtils.getHostName(":1234"));
}
- @Test
- void validatePath() {
- HddsUtils.validatePath(Paths.get("/"), Paths.get("/"));
- HddsUtils.validatePath(Paths.get("/a"), Paths.get("/"));
- HddsUtils.validatePath(Paths.get("/a"), Paths.get("/a"));
- HddsUtils.validatePath(Paths.get("/a/b"), Paths.get("/a"));
- HddsUtils.validatePath(Paths.get("/a/b/c"), Paths.get("/a"));
- HddsUtils.validatePath(Paths.get("/a/../a/b"), Paths.get("/a"));
+ static List<Arguments> validPaths() {
+ return Arrays.asList(
+ Arguments.of("/", "/"),
+ Arguments.of("/a", "/"),
+ Arguments.of("/a", "/a"),
+ Arguments.of("/a/b", "/a"),
+ Arguments.of("/a/b/c", "/a"),
+ Arguments.of("/a/../a/b", "/a")
+ );
+ }
+ @ParameterizedTest
+ @MethodSource("validPaths")
+ void validatePathAcceptsValidPath(String path, String ancestor) {
+ HddsUtils.validatePath(Paths.get(path), Paths.get(ancestor));
+ }
+
+ static List<Arguments> invalidPaths() {
+ return Arrays.asList(
+ Arguments.of("/b/c", "/a"),
+ Arguments.of("/", "/a"),
+ Arguments.of("/a/..", "/a"),
+ Arguments.of("/a/../b", "/a")
+ );
+ }
+
+ @ParameterizedTest
+ @MethodSource("invalidPaths")
+ void validatePathRejectsInvalidPath(String path, String ancestor) {
assertThrows(IllegalArgumentException.class,
- () -> HddsUtils.validatePath(Paths.get("/b/c"), Paths.get("/a")));
- assertThrows(IllegalArgumentException.class,
- () -> HddsUtils.validatePath(Paths.get("/"), Paths.get("/a")));
- assertThrows(IllegalArgumentException.class,
- () -> HddsUtils.validatePath(Paths.get("/a/.."), Paths.get("/a")));
- assertThrows(IllegalArgumentException.class,
- () -> HddsUtils.validatePath(Paths.get("/a/../b"), Paths.get("/a")));
+ () -> HddsUtils.validatePath(Paths.get(path), Paths.get(ancestor)));
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]