From 8cebd77210162a802e9a9e84757c729015b26a23 Mon Sep 17 00:00:00 2001 From: Chris Nauroth Date: Thu, 14 Aug 2025 20:49:00 +0000 Subject: [PATCH] HADOOP-19343: Remove JUnit 4 dependencies from hadoop-gcp. --- hadoop-tools/hadoop-gcp/pom.xml | 47 +++++------- .../hadoop/fs/gs/TestStorageResourceId.java | 2 +- .../apache/hadoop/fs/gs/TestStringPaths.java | 71 ++++++++++++------- .../org/apache/hadoop/fs/gs/TestUriPaths.java | 29 +++++--- 4 files changed, 85 insertions(+), 64 deletions(-) diff --git a/hadoop-tools/hadoop-gcp/pom.xml b/hadoop-tools/hadoop-gcp/pom.xml index 2da2881ab7935..c3c2c6bbd8e5f 100644 --- a/hadoop-tools/hadoop-gcp/pom.xml +++ b/hadoop-tools/hadoop-gcp/pom.xml @@ -425,23 +425,23 @@ - - - - - com.google.protobuf - protobuf-java - 3.25.5 - - - + + + + + com.google.protobuf + protobuf-java + 3.25.5 + + + @@ -475,26 +475,16 @@ assertj-core test - - junit - junit - test - org.junit.platform junit-platform-launcher test - - org.junit.vintage - junit-vintage-engine - test - com.google.cloud google-cloud-storage - + org.junit.jupiter junit-jupiter-api test @@ -511,4 +501,3 @@ - diff --git a/hadoop-tools/hadoop-gcp/src/test/java/org/apache/hadoop/fs/gs/TestStorageResourceId.java b/hadoop-tools/hadoop-gcp/src/test/java/org/apache/hadoop/fs/gs/TestStorageResourceId.java index e027c7b40914a..5a60858487f2d 100644 --- a/hadoop-tools/hadoop-gcp/src/test/java/org/apache/hadoop/fs/gs/TestStorageResourceId.java +++ b/hadoop-tools/hadoop-gcp/src/test/java/org/apache/hadoop/fs/gs/TestStorageResourceId.java @@ -20,7 +20,7 @@ import java.net.URI; -import org.junit.Test; +import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertThrows; diff --git a/hadoop-tools/hadoop-gcp/src/test/java/org/apache/hadoop/fs/gs/TestStringPaths.java b/hadoop-tools/hadoop-gcp/src/test/java/org/apache/hadoop/fs/gs/TestStringPaths.java index a6b64ff7cffab..e9ea55b52ad54 100644 --- a/hadoop-tools/hadoop-gcp/src/test/java/org/apache/hadoop/fs/gs/TestStringPaths.java +++ b/hadoop-tools/hadoop-gcp/src/test/java/org/apache/hadoop/fs/gs/TestStringPaths.java @@ -18,9 +18,10 @@ package org.apache.hadoop.fs.gs; -import org.junit.Test; +import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -42,29 +43,39 @@ public void testValidateBucketNameEndsWithSlash() { assertEquals("another-bucket", StringPaths.validateBucketName("another-bucket/")); } - @Test(expected = IllegalArgumentException.class) + @Test public void testValidateBucketNameEmpty() { - StringPaths.validateBucketName(""); + assertThrows(IllegalArgumentException.class, () -> { + StringPaths.validateBucketName(""); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void testValidateBucketNameNull() { - StringPaths.validateBucketName(null); + assertThrows(IllegalArgumentException.class, () -> { + StringPaths.validateBucketName(null); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void testValidateBucketNameInvalidChars() { - StringPaths.validateBucketName("my bucket"); // Space + assertThrows(IllegalArgumentException.class, () -> { + StringPaths.validateBucketName("my bucket"); // Space + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void testValidateBucketNameInvalidChars2() { - StringPaths.validateBucketName("my@bucket"); // @ symbol + assertThrows(IllegalArgumentException.class, () -> { + StringPaths.validateBucketName("my@bucket"); // @ symbol + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void testValidateBucketNameUpperCase() { - StringPaths.validateBucketName("MyBucket"); // Uppercase + assertThrows(IllegalArgumentException.class, () -> { + StringPaths.validateBucketName("MyBucket"); // Uppercase + }); } @Test @@ -84,14 +95,18 @@ public void testValidateObjectNameLeadingSlash() { assertEquals("object", StringPaths.validateObjectName("/object", false)); } - @Test(expected = IllegalArgumentException.class) + @Test public void testValidateObjectNameEmptyNotAllowed() { - StringPaths.validateObjectName("", false); + assertThrows(IllegalArgumentException.class, () -> { + StringPaths.validateObjectName("", false); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void testValidateObjectNameNullNotAllowed() { - StringPaths.validateObjectName(null, false); + assertThrows(IllegalArgumentException.class, () -> { + StringPaths.validateObjectName(null, false); + }); } @Test @@ -101,19 +116,25 @@ public void testValidateObjectNameEmptyAllowed() { assertEquals("", StringPaths.validateObjectName("/", true)); // Single slash becomes empty } - @Test(expected = IllegalArgumentException.class) + @Test public void testValidateObjectNameConsecutiveSlashes() { - StringPaths.validateObjectName("path//to/object", false); + assertThrows(IllegalArgumentException.class, () -> { + StringPaths.validateObjectName("path//to/object", false); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void testValidateObjectNameConsecutiveSlashesAtStart() { - StringPaths.validateObjectName("//path/to/object", false); + assertThrows(IllegalArgumentException.class, () -> { + StringPaths.validateObjectName("//path/to/object", false); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void testValidateObjectNameConsecutiveSlashesAtEnd() { - StringPaths.validateObjectName("path/to/object//", false); + assertThrows(IllegalArgumentException.class, () -> { + StringPaths.validateObjectName("path/to/object//", false); + }); } @Test @@ -124,9 +145,11 @@ public void testFromComponentsValid() { assertEquals("gs://my-bucket/", StringPaths.fromComponents("my-bucket", "")); } - @Test(expected = IllegalArgumentException.class) + @Test public void testFromComponentsNullBucketNonNullObject() { - StringPaths.fromComponents(null, "path/to/object"); + assertThrows(IllegalArgumentException.class, () -> { + StringPaths.fromComponents(null, "path/to/object"); + }); } @Test @@ -163,4 +186,4 @@ public void testToDirectoryPath() { assertEquals("", StringPaths.toDirectoryPath("")); assertNull(StringPaths.toDirectoryPath(null)); } -} \ No newline at end of file +} diff --git a/hadoop-tools/hadoop-gcp/src/test/java/org/apache/hadoop/fs/gs/TestUriPaths.java b/hadoop-tools/hadoop-gcp/src/test/java/org/apache/hadoop/fs/gs/TestUriPaths.java index 0325df52f9b72..20b36d908427b 100644 --- a/hadoop-tools/hadoop-gcp/src/test/java/org/apache/hadoop/fs/gs/TestUriPaths.java +++ b/hadoop-tools/hadoop-gcp/src/test/java/org/apache/hadoop/fs/gs/TestUriPaths.java @@ -20,8 +20,9 @@ import java.net.URI; -import org.junit.Test; +import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; public class TestUriPaths { @Test @@ -130,23 +131,31 @@ public void testFromStringPathComponentsValid() throws Exception { UriPaths.fromStringPathComponents("my-bucket", "", true)); } - @Test(expected = IllegalArgumentException.class) + @Test public void testFromStringPathComponentsNullBucketNameNotAllowed() { - UriPaths.fromStringPathComponents(null, "object", false); + assertThrows(IllegalArgumentException.class, () -> { + UriPaths.fromStringPathComponents(null, "object", false); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void testFromStringPathComponentsEmptyObjectNameNotAllowed() { - UriPaths.fromStringPathComponents("my-bucket", "", false); + assertThrows(IllegalArgumentException.class, () -> { + UriPaths.fromStringPathComponents("my-bucket", "", false); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void testFromStringPathComponentsConsecutiveSlashes() { - UriPaths.fromStringPathComponents("my-bucket", "path//to/object", false); + assertThrows(IllegalArgumentException.class, () -> { + UriPaths.fromStringPathComponents("my-bucket", "path//to/object", false); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void testFromStringPathComponentsInvalidBucketName() { - UriPaths.fromStringPathComponents("MyBucket", "object", false); // Uppercase + assertThrows(IllegalArgumentException.class, () -> { + UriPaths.fromStringPathComponents("MyBucket", "object", false); // Uppercase + }); } -} \ No newline at end of file +}