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]

Reply via email to