This is an automated email from the ASF dual-hosted git repository.
FrankChen021 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new 6759ebb23c7 test: migrate s3 extension tests to JUnit 5 (#19880)
6759ebb23c7 is described below
commit 6759ebb23c700d829774e35f38c5c55ff16e403d
Author: Frank Chen <[email protected]>
AuthorDate: Wed Aug 5 19:47:13 2026 +0800
test: migrate s3 extension tests to JUnit 5 (#19880)
* test: migrate s3 extension tests to JUnit 5
* fix: use approved filesystem test utilities
* style: format migrated tests
* test: restore S3 test lifecycle
* style: fix S3 test method spacing
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI
<[email protected]>
---------
Co-authored-by: Copilot Autofix powered by AI
<[email protected]>
---
extensions-core/s3-extensions/pom.xml | 10 +-
.../catalog/model/table/S3InputSourceDefnTest.java | 17 +-
.../data/input/s3/S3InputSourceConfigTest.java | 8 +-
.../data/input/s3/S3InputSourceFactoryTest.java | 6 +-
.../druid/data/input/s3/S3InputSourceTest.java | 335 +++++++++++----------
.../storage/s3/ObjectSummaryIteratorTest.java | 20 +-
.../storage/s3/S3DataSegmentArchiverTest.java | 16 +-
.../druid/storage/s3/S3DataSegmentKillerTest.java | 44 +--
.../druid/storage/s3/S3DataSegmentMoverTest.java | 70 +++--
.../druid/storage/s3/S3DataSegmentPullerTest.java | 65 ++--
.../storage/s3/S3DataSegmentPusherConfigTest.java | 12 +-
.../druid/storage/s3/S3DataSegmentPusherTest.java | 47 ++-
.../druid/storage/s3/S3InputDataConfigTest.java | 22 +-
.../storage/s3/S3StorageConnectorProviderTest.java | 32 +-
.../druid/storage/s3/S3StorageDruidModuleTest.java | 16 +-
.../apache/druid/storage/s3/S3TaskLogsTest.java | 83 ++---
.../s3/S3TimestampVersionedDataFinderTest.java | 12 +-
.../druid/storage/s3/S3TransferConfigTest.java | 16 +-
.../org/apache/druid/storage/s3/S3UtilsTest.java | 70 ++---
.../s3/ServerSideEncryptingAmazonS3Test.java | 67 +++--
.../storage/s3/TestAWSCredentialsProvider.java | 25 +-
.../s3/TestFileSessionCredentialsProvider.java | 24 +-
.../s3/output/RetryableS3OutputStreamTest.java | 55 ++--
.../s3/output/S3ExportStorageProviderTest.java | 12 +-
.../storage/s3/output/S3OutputConfigTest.java | 37 ++-
.../druid/storage/s3/output/S3OutputSerdeTest.java | 40 +--
.../storage/s3/output/S3UploadManagerTest.java | 34 ++-
27 files changed, 602 insertions(+), 593 deletions(-)
diff --git a/extensions-core/s3-extensions/pom.xml
b/extensions-core/s3-extensions/pom.xml
index 7f70d0dab3d..40b3b549fd5 100644
--- a/extensions-core/s3-extensions/pom.xml
+++ b/extensions-core/s3-extensions/pom.xml
@@ -176,11 +176,6 @@
<type>test-jar</type>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
@@ -216,6 +211,11 @@
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-engine</artifactId>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/catalog/model/table/S3InputSourceDefnTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/catalog/model/table/S3InputSourceDefnTest.java
index 0aa21a478b8..65456da24da 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/catalog/model/table/S3InputSourceDefnTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/catalog/model/table/S3InputSourceDefnTest.java
@@ -38,8 +38,8 @@ import org.apache.druid.data.input.s3.S3InputSourceTest;
import org.apache.druid.java.util.common.IAE;
import org.apache.druid.java.util.common.ISE;
import org.apache.druid.storage.s3.S3StorageDruidModule;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import javax.annotation.Nullable;
import java.util.Arrays;
@@ -48,11 +48,11 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* Test the catalog definition on top of the S3 input source. Here we assume
that
@@ -96,7 +96,8 @@ public class S3InputSourceDefnTest
/**
* Finish up Jackson configuration: add the required S3 input source subtype.
*/
- @Before
+
+ @BeforeEach
public void setup()
{
mapper.registerModules(new S3InputSourceDruidModule().getJacksonModules());
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/data/input/s3/S3InputSourceConfigTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/data/input/s3/S3InputSourceConfigTest.java
index cdcd0167f60..bc366664d2b 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/data/input/s3/S3InputSourceConfigTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/data/input/s3/S3InputSourceConfigTest.java
@@ -23,8 +23,8 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import nl.jqno.equalsverifier.EqualsVerifier;
import org.apache.druid.metadata.DefaultPasswordProvider;
import org.apache.druid.segment.TestHelper;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
public class S3InputSourceConfigTest
{
@@ -40,7 +40,7 @@ public class S3InputSourceConfigTest
new DefaultPasswordProvider("the-secret-token")
);
- Assert.assertEquals(
+ Assertions.assertEquals(
config,
mapper.readValue(mapper.writeValueAsString(config),
S3InputSourceConfig.class)
);
@@ -58,7 +58,7 @@ public class S3InputSourceConfigTest
null
);
- Assert.assertEquals(
+ Assertions.assertEquals(
config,
mapper.readValue(mapper.writeValueAsString(config),
S3InputSourceConfig.class)
);
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/data/input/s3/S3InputSourceFactoryTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/data/input/s3/S3InputSourceFactoryTest.java
index 2304b0f8bf8..f253e233a75 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/data/input/s3/S3InputSourceFactoryTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/data/input/s3/S3InputSourceFactoryTest.java
@@ -22,8 +22,8 @@ package org.apache.druid.data.input.s3;
import org.apache.druid.storage.s3.S3InputDataConfig;
import org.apache.druid.storage.s3.ServerSideEncryptingAmazonS3;
import org.easymock.EasyMock;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
import java.util.Arrays;
import java.util.List;
@@ -53,6 +53,6 @@ public class S3InputSourceFactoryTest
null,
null
);
- Assert.assertTrue(s3Builder.create(fileUris) instanceof S3InputSource);
+ Assertions.assertTrue(s3Builder.create(fileUris) instanceof S3InputSource);
}
}
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/data/input/s3/S3InputSourceTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/data/input/s3/S3InputSourceTest.java
index e9291c73924..9840c4a68f9 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/data/input/s3/S3InputSourceTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/data/input/s3/S3InputSourceTest.java
@@ -52,6 +52,7 @@ import
org.apache.druid.data.input.impl.systemfield.SystemField;
import org.apache.druid.data.input.impl.systemfield.SystemFields;
import org.apache.druid.initialization.DruidModule;
import org.apache.druid.java.util.common.DateTimes;
+import org.apache.druid.java.util.common.FileUtils;
import org.apache.druid.java.util.common.HumanReadableBytes;
import org.apache.druid.java.util.common.StringUtils;
import org.apache.druid.java.util.common.parsers.CloseableIterator;
@@ -70,12 +71,9 @@ import org.easymock.IArgumentMatcher;
import org.hamcrest.CoreMatchers;
import org.hamcrest.MatcherAssert;
import org.joda.time.DateTime;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.internal.matchers.ThrowableMessageMatcher;
-import org.junit.rules.ExpectedException;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider;
import software.amazon.awssdk.core.ResponseInputStream;
import software.amazon.awssdk.core.exception.SdkClientException;
@@ -93,6 +91,7 @@ import software.amazon.awssdk.services.s3.model.S3Object;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
@@ -182,11 +181,8 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
INPUT_DATA_CONFIG.setMaxListingLength(MAX_LISTING_LENGTH);
}
- @Rule
- public TemporaryFolder temporaryFolder = new TemporaryFolder();
-
- @Rule
- public ExpectedException expectedException = ExpectedException.none();
+ @TempDir
+ public File temporaryFolder;
@Test
public void testGetUris()
@@ -205,7 +201,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
null
);
- Assert.assertEquals(
+ Assertions.assertEquals(
EXPECTED_URIS,
withUris.getUris()
);
@@ -228,7 +224,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
null
);
- Assert.assertEquals(
+ Assertions.assertEquals(
PREFIXES,
withPrefixes.getPrefixes()
);
@@ -251,7 +247,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
null
);
- Assert.assertEquals(
+ Assertions.assertEquals(
"**.parquet",
withUris.getObjectGlob()
);
@@ -274,8 +270,8 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
null
);
final S3InputSource serdeWithUris =
MAPPER.readValue(MAPPER.writeValueAsString(withUris), S3InputSource.class);
- Assert.assertEquals(withUris, serdeWithUris);
- Assert.assertEquals(Collections.emptySet(),
serdeWithUris.getConfiguredSystemFields());
+ Assertions.assertEquals(withUris, serdeWithUris);
+ Assertions.assertEquals(Collections.emptySet(),
serdeWithUris.getConfiguredSystemFields());
}
@Test
@@ -297,8 +293,8 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
null
);
final S3InputSource serdeWithUris =
MAPPER.readValue(MAPPER.writeValueAsString(withUris), S3InputSource.class);
- Assert.assertEquals(withUris, serdeWithUris);
- Assert.assertEquals(
+ Assertions.assertEquals(withUris, serdeWithUris);
+ Assertions.assertEquals(
EnumSet.of(SystemField.URI, SystemField.BUCKET, SystemField.PATH),
serdeWithUris.getConfiguredSystemFields()
);
@@ -322,7 +318,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
);
final S3InputSource serdeWithPrefixes =
MAPPER.readValue(MAPPER.writeValueAsString(withPrefixes),
S3InputSource.class);
- Assert.assertEquals(withPrefixes, serdeWithPrefixes);
+ Assertions.assertEquals(withPrefixes, serdeWithPrefixes);
}
@Test
@@ -343,7 +339,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
);
final S3InputSource serdeWithPrefixes =
MAPPER.readValue(MAPPER.writeValueAsString(withPrefixes),
S3InputSource.class);
- Assert.assertEquals(withPrefixes, serdeWithPrefixes);
+ Assertions.assertEquals(withPrefixes, serdeWithPrefixes);
}
@Test
@@ -369,7 +365,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
MAPPER.readValue(MAPPER.writeValueAsString(withPrefixes),
S3InputSource.class);
// This is to force the s3ClientSupplier to initialize the
ServerSideEncryptingAmazonS3
serdeWithPrefixes.createEntity(new CloudObjectLocation("bucket", "path"));
- Assert.assertEquals(withPrefixes, serdeWithPrefixes);
+ Assertions.assertEquals(withPrefixes, serdeWithPrefixes);
EasyMock.verify(SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER);
}
@@ -396,11 +392,11 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
MAPPER.readValue(MAPPER.writeValueAsString(withSessionToken),
S3InputSource.class);
// This is to force the s3ClientSupplier to initialize the
ServerSideEncryptingAmazonS3
serdeWithSessionToken.createEntity(new CloudObjectLocation("bucket",
"path"));
- Assert.assertEquals(withSessionToken, serdeWithSessionToken);
+ Assertions.assertEquals(withSessionToken, serdeWithSessionToken);
// Verify that the session token is properly set
- Assert.assertNotNull(serdeWithSessionToken.getS3InputSourceConfig());
-
Assert.assertNotNull(serdeWithSessionToken.getS3InputSourceConfig().getSessionToken());
- Assert.assertEquals("mySessionToken",
serdeWithSessionToken.getS3InputSourceConfig().getSessionToken().getPassword());
+ Assertions.assertNotNull(serdeWithSessionToken.getS3InputSourceConfig());
+
Assertions.assertNotNull(serdeWithSessionToken.getS3InputSourceConfig().getSessionToken());
+ Assertions.assertEquals("mySessionToken",
serdeWithSessionToken.getS3InputSourceConfig().getSessionToken().getPassword());
EasyMock.verify(SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER);
}
@@ -455,9 +451,9 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
null
);
- Assert.assertNotNull(inputSourceWithSessionToken.getS3InputSourceConfig());
-
Assert.assertNotNull(inputSourceWithSessionToken.getS3InputSourceConfig().getSessionToken());
- Assert.assertEquals(
+
Assertions.assertNotNull(inputSourceWithSessionToken.getS3InputSourceConfig());
+
Assertions.assertNotNull(inputSourceWithSessionToken.getS3InputSourceConfig().getSessionToken());
+ Assertions.assertEquals(
"mySessionToken",
inputSourceWithSessionToken.getS3InputSourceConfig().getSessionToken().getPassword()
);
@@ -477,8 +473,8 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
null
);
-
Assert.assertNotNull(inputSourceWithoutSessionToken.getS3InputSourceConfig());
-
Assert.assertNull(inputSourceWithoutSessionToken.getS3InputSourceConfig().getSessionToken());
+
Assertions.assertNotNull(inputSourceWithoutSessionToken.getS3InputSourceConfig());
+
Assertions.assertNull(inputSourceWithoutSessionToken.getS3InputSourceConfig().getSessionToken());
}
@Test
@@ -497,7 +493,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
null,
null
);
- Assert.assertEquals(Collections.singleton(S3InputSource.TYPE_KEY),
inputSource.getTypes());
+ Assertions.assertEquals(Collections.singleton(S3InputSource.TYPE_KEY),
inputSource.getTypes());
}
@Test
@@ -554,7 +550,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
mockAwsEndpointConfig,
mockAwsClientConfig
);
- Assert.assertNotNull(withPrefixes);
+ Assertions.assertNotNull(withPrefixes);
// This is to force the s3ClientSupplier to initialize the
ServerSideEncryptingAmazonS3
withPrefixes.createEntity(new CloudObjectLocation("bucket", "path"));
EasyMock.verify(SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER);
@@ -595,7 +591,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
ENDPOINT_CONFIG,
CLIENT_CONFIG
);
- Assert.assertNotNull(withPrefixes);
+ Assertions.assertNotNull(withPrefixes);
// This is to force the s3ClientSupplier to initialize the
ServerSideEncryptingAmazonS3
withPrefixes.createEntity(new CloudObjectLocation("bucket", "path"));
EasyMock.verify(SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER);
@@ -623,7 +619,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
);
final S3InputSource serdeWithPrefixes =
MAPPER.readValue(MAPPER.writeValueAsString(withPrefixes),
S3InputSource.class);
- Assert.assertEquals(withPrefixes, serdeWithPrefixes);
+ Assertions.assertEquals(withPrefixes, serdeWithPrefixes);
EasyMock.verify(SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER);
}
@@ -648,7 +644,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
);
final S3InputSource serdeWithPrefixes =
MAPPER.readValue(MAPPER.writeValueAsString(withPrefixes),
S3InputSource.class);
- Assert.assertEquals(withPrefixes, serdeWithPrefixes);
+ Assertions.assertEquals(withPrefixes, serdeWithPrefixes);
EasyMock.verify(SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER);
}
@@ -670,146 +666,153 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
);
final S3InputSource serdeWithPrefixes =
MAPPER.readValue(MAPPER.writeValueAsString(withPrefixes),
S3InputSource.class);
- Assert.assertEquals(withPrefixes, serdeWithPrefixes);
+ Assertions.assertEquals(withPrefixes, serdeWithPrefixes);
}
@Test
public void testWithNullJsonProps()
{
- expectedException.expect(IllegalArgumentException.class);
- // constructor will explode
- new S3InputSource(
- SERVICE,
- SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER,
- INPUT_DATA_CONFIG,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
+ Assertions.assertThrows(
+ IllegalArgumentException.class,
+ () -> new S3InputSource(
+ SERVICE,
+ SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER,
+ INPUT_DATA_CONFIG,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null
+ )
);
}
@Test
public void testIllegalObjectsAndUris()
{
- expectedException.expect(IllegalArgumentException.class);
- // constructor will explode
- new S3InputSource(
- SERVICE,
- SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER,
- INPUT_DATA_CONFIG,
- EXPECTED_URIS,
- null,
- EXPECTED_OBJECTS,
- null,
- null,
- null,
- null,
- null
+ Assertions.assertThrows(
+ IllegalArgumentException.class,
+ () -> new S3InputSource(
+ SERVICE,
+ SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER,
+ INPUT_DATA_CONFIG,
+ EXPECTED_URIS,
+ null,
+ EXPECTED_OBJECTS,
+ null,
+ null,
+ null,
+ null,
+ null
+ )
);
}
@Test
public void testIllegalObjectsAndPrefixes()
{
- expectedException.expect(IllegalArgumentException.class);
- // constructor will explode
- new S3InputSource(
- SERVICE,
- SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER,
- INPUT_DATA_CONFIG,
- null,
- PREFIXES,
- EXPECTED_OBJECTS,
- null,
- null,
- null,
- null,
- null
+ Assertions.assertThrows(
+ IllegalArgumentException.class,
+ () -> new S3InputSource(
+ SERVICE,
+ SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER,
+ INPUT_DATA_CONFIG,
+ null,
+ PREFIXES,
+ EXPECTED_OBJECTS,
+ null,
+ null,
+ null,
+ null,
+ null
+ )
);
}
@Test
public void testIllegalUrisAndPrefixes()
{
- expectedException.expect(IllegalArgumentException.class);
- // constructor will explode
- new S3InputSource(
- SERVICE,
- SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER,
- INPUT_DATA_CONFIG,
- EXPECTED_URIS,
- PREFIXES,
- null,
- null,
- null,
- null,
- null,
- null
+ Assertions.assertThrows(
+ IllegalArgumentException.class,
+ () -> new S3InputSource(
+ SERVICE,
+ SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER,
+ INPUT_DATA_CONFIG,
+ EXPECTED_URIS,
+ PREFIXES,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null
+ )
);
}
@Test
public void testSerdeWithInvalidArgs()
{
- expectedException.expect(IllegalArgumentException.class);
- // constructor will explode
- new S3InputSource(
- SERVICE,
- SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER,
- INPUT_DATA_CONFIG,
- EXPECTED_URIS,
- PREFIXES,
- EXPECTED_LOCATION,
- null,
- null,
- null,
- null,
- null
+ Assertions.assertThrows(
+ IllegalArgumentException.class,
+ () -> new S3InputSource(
+ SERVICE,
+ SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER,
+ INPUT_DATA_CONFIG,
+ EXPECTED_URIS,
+ PREFIXES,
+ EXPECTED_LOCATION,
+ null,
+ null,
+ null,
+ null,
+ null
+ )
);
}
@Test
public void testSerdeWithOtherInvalidArgs()
{
- expectedException.expect(IllegalArgumentException.class);
- // constructor will explode
- new S3InputSource(
- SERVICE,
- SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER,
- INPUT_DATA_CONFIG,
- EXPECTED_URIS,
- PREFIXES,
- ImmutableList.of(),
- null,
- null,
- null,
- null,
- null
+ Assertions.assertThrows(
+ IllegalArgumentException.class,
+ () -> new S3InputSource(
+ SERVICE,
+ SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER,
+ INPUT_DATA_CONFIG,
+ EXPECTED_URIS,
+ PREFIXES,
+ ImmutableList.of(),
+ null,
+ null,
+ null,
+ null,
+ null
+ )
);
}
@Test
public void testSerdeWithOtherOtherInvalidArgs()
{
- expectedException.expect(IllegalArgumentException.class);
- // constructor will explode
- new S3InputSource(
- SERVICE,
- SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER,
- INPUT_DATA_CONFIG,
- ImmutableList.of(),
- PREFIXES,
- EXPECTED_LOCATION,
- null,
- null,
- null,
- null,
- null
+ Assertions.assertThrows(
+ IllegalArgumentException.class,
+ () -> new S3InputSource(
+ SERVICE,
+ SERVER_SIDE_ENCRYPTING_AMAZON_S3_BUILDER,
+ INPUT_DATA_CONFIG,
+ ImmutableList.of(),
+ PREFIXES,
+ EXPECTED_LOCATION,
+ null,
+ null,
+ null,
+ null,
+ null
+ )
);
}
@@ -840,7 +843,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
new MaxSizeSplitHintSpec(5, null)
);
- Assert.assertEquals(EXPECTED_COORDS,
splits.map(InputSplit::get).collect(Collectors.toList()));
+ Assertions.assertEquals(EXPECTED_COORDS,
splits.map(InputSplit::get).collect(Collectors.toList()));
EasyMock.verify(S3_CLIENT);
}
@@ -871,7 +874,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
new MaxSizeSplitHintSpec(5, null)
);
- Assert.assertEquals(EXPECTED_COORDS,
splits.map(InputSplit::get).collect(Collectors.toList()));
+ Assertions.assertEquals(EXPECTED_COORDS,
splits.map(InputSplit::get).collect(Collectors.toList()));
EasyMock.verify(S3_CLIENT);
}
@@ -902,7 +905,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
new MaxSizeSplitHintSpec(5, null)
);
- Assert.assertEquals(EXPECTED_COORDS,
splits.map(InputSplit::get).collect(Collectors.toList()));
+ Assertions.assertEquals(EXPECTED_COORDS,
splits.map(InputSplit::get).collect(Collectors.toList()));
EasyMock.verify(S3_CLIENT);
}
@@ -933,7 +936,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
new MaxSizeSplitHintSpec(5, null)
);
- Assert.assertEquals(EXPECTED_COORDS,
splits.map(InputSplit::get).collect(Collectors.toList()));
+ Assertions.assertEquals(EXPECTED_COORDS,
splits.map(InputSplit::get).collect(Collectors.toList()));
EasyMock.verify(S3_CLIENT);
}
@@ -964,7 +967,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
new MaxSizeSplitHintSpec(null, 1)
);
- Assert.assertEquals(EXPECTED_COORDS,
splits.map(InputSplit::get).collect(Collectors.toList()));
+ Assertions.assertEquals(EXPECTED_COORDS,
splits.map(InputSplit::get).collect(Collectors.toList()));
EasyMock.verify(S3_CLIENT);
}
@@ -995,7 +998,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
new MaxSizeSplitHintSpec(null, 1)
);
- Assert.assertEquals(EXPECTED_COORDS,
splits.map(InputSplit::get).collect(Collectors.toList()));
+ Assertions.assertEquals(EXPECTED_COORDS,
splits.map(InputSplit::get).collect(Collectors.toList()));
EasyMock.verify(S3_CLIENT);
}
@@ -1026,7 +1029,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
new MaxSizeSplitHintSpec(new HumanReadableBytes(CONTENT.length * 3L),
null)
);
- Assert.assertEquals(
+ Assertions.assertEquals(
ImmutableList.of(EXPECTED_URIS.stream().map(CloudObjectLocation::new).collect(Collectors.toList())),
splits.map(InputSplit::get).collect(Collectors.toList())
);
@@ -1059,7 +1062,7 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
new JsonInputFormat(JSONPathSpec.DEFAULT, null, null, null, null),
null
);
- Assert.assertEquals(
+ Assertions.assertEquals(
ImmutableList.of(ImmutableList.of(new
CloudObjectLocation(EXPECTED_URIS.get(0)))),
splits.map(InputSplit::get).collect(Collectors.toList())
);
@@ -1088,15 +1091,19 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
null
);
- expectedException.expectMessage("Failed to get object summaries from S3
bucket[bar], prefix[foo/file2.csv]");
- expectedException.expectCause(
- ThrowableMessageMatcher.hasMessage(CoreMatchers.containsString("can't
list that bucket"))
+ final RuntimeException exception = Assertions.assertThrows(
+ RuntimeException.class,
+ () -> inputSource.createSplits(
+ new JsonInputFormat(JSONPathSpec.DEFAULT, null, null, null, null),
+ null
+ ).collect(Collectors.toList())
);
-
- inputSource.createSplits(
- new JsonInputFormat(JSONPathSpec.DEFAULT, null, null, null, null),
- null
- ).collect(Collectors.toList());
+ Assertions.assertTrue(
+ exception.getMessage().contains(
+ "Failed to get object summaries from S3 bucket[bar],
prefix[foo/file2.csv]"
+ )
+ );
+ Assertions.assertTrue(exception.getCause().getMessage().contains("can't
list that bucket"));
}
@Test
@@ -1132,16 +1139,16 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
InputSourceReader reader = inputSource.reader(
someSchema,
new CsvInputFormat(ImmutableList.of("time", "dim1", "dim2"), "|",
false, null, 0, null),
- temporaryFolder.newFolder()
+ FileUtils.createTempDirInLocation(temporaryFolder.toPath(), "s3-input")
);
CloseableIterator<InputRow> iterator = reader.read();
while (iterator.hasNext()) {
InputRow nextRow = iterator.next();
- Assert.assertEquals(NOW, nextRow.getTimestamp());
- Assert.assertEquals("hello", nextRow.getDimension("dim1").get(0));
- Assert.assertEquals("world", nextRow.getDimension("dim2").get(0));
+ Assertions.assertEquals(NOW, nextRow.getTimestamp());
+ Assertions.assertEquals("hello", nextRow.getDimension("dim1").get(0));
+ Assertions.assertEquals("world", nextRow.getDimension("dim2").get(0));
}
EasyMock.verify(S3_CLIENT);
@@ -1180,10 +1187,10 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
InputSourceReader reader = inputSource.reader(
someSchema,
new CsvInputFormat(ImmutableList.of("time", "dim1", "dim2"), "|",
false, null, 0, null),
- temporaryFolder.newFolder()
+ FileUtils.createTempDirInLocation(temporaryFolder.toPath(), "s3-input")
);
try (CloseableIterator<InputRow> readerIterator = reader.read()) {
- final IllegalStateException e =
Assert.assertThrows(IllegalStateException.class, readerIterator::hasNext);
+ final IllegalStateException e =
Assertions.assertThrows(IllegalStateException.class, readerIterator::hasNext);
MatcherAssert.assertThat(e.getCause(),
CoreMatchers.instanceOf(IOException.class));
MatcherAssert.assertThat(e.getCause().getCause(),
CoreMatchers.instanceOf(SdkClientException.class));
MatcherAssert.assertThat(
@@ -1228,16 +1235,16 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
InputSourceReader reader = inputSource.reader(
someSchema,
new CsvInputFormat(ImmutableList.of("time", "dim1", "dim2"), "|",
false, null, 0, null),
- temporaryFolder.newFolder()
+ FileUtils.createTempDirInLocation(temporaryFolder.toPath(), "s3-input")
);
CloseableIterator<InputRow> iterator = reader.read();
while (iterator.hasNext()) {
InputRow nextRow = iterator.next();
- Assert.assertEquals(NOW, nextRow.getTimestamp());
- Assert.assertEquals("hello", nextRow.getDimension("dim1").get(0));
- Assert.assertEquals("world", nextRow.getDimension("dim2").get(0));
+ Assertions.assertEquals(NOW, nextRow.getTimestamp());
+ Assertions.assertEquals("hello", nextRow.getDimension("dim1").get(0));
+ Assertions.assertEquals("world", nextRow.getDimension("dim2").get(0));
}
EasyMock.verify(S3_CLIENT);
@@ -1262,16 +1269,16 @@ public class S3InputSourceTest extends
InitializedNullHandlingTest
null
);
- Assert.assertEquals(
+ Assertions.assertEquals(
EnumSet.of(SystemField.URI, SystemField.BUCKET, SystemField.PATH),
inputSource.getConfiguredSystemFields()
);
final S3Entity entity = new S3Entity(null, new CloudObjectLocation("foo",
"bar"), 0);
- Assert.assertEquals("s3://foo/bar",
inputSource.getSystemFieldValue(entity, SystemField.URI));
- Assert.assertEquals("foo", inputSource.getSystemFieldValue(entity,
SystemField.BUCKET));
- Assert.assertEquals("bar", inputSource.getSystemFieldValue(entity,
SystemField.PATH));
+ Assertions.assertEquals("s3://foo/bar",
inputSource.getSystemFieldValue(entity, SystemField.URI));
+ Assertions.assertEquals("foo", inputSource.getSystemFieldValue(entity,
SystemField.BUCKET));
+ Assertions.assertEquals("bar", inputSource.getSystemFieldValue(entity,
SystemField.PATH));
}
@Test
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/ObjectSummaryIteratorTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/ObjectSummaryIteratorTest.java
index 6365f5abd9d..d268f9d71c6 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/ObjectSummaryIteratorTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/ObjectSummaryIteratorTest.java
@@ -21,8 +21,8 @@ package org.apache.druid.storage.s3;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
import software.amazon.awssdk.services.s3.model.ListObjectsV2Request;
import software.amazon.awssdk.services.s3.model.ListObjectsV2Response;
import software.amazon.awssdk.services.s3.model.S3Object;
@@ -189,11 +189,11 @@ public class ObjectSummaryIteratorTest
1
);
- Assert.assertEquals(1, listCalls.get());
- Assert.assertTrue(iterator.hasNext());
- Assert.assertEquals(1, listCalls.get());
- Assert.assertEquals("foo/file", iterator.next().getKey());
- Assert.assertEquals(1, listCalls.get());
+ Assertions.assertEquals(1, listCalls.get());
+ Assertions.assertTrue(iterator.hasNext());
+ Assertions.assertEquals(1, listCalls.get());
+ Assertions.assertEquals("foo/file", iterator.next().getKey());
+ Assertions.assertEquals(1, listCalls.get());
}
private static void test(
@@ -225,10 +225,10 @@ public class ObjectSummaryIteratorTest
)
);
- Assert.assertEquals(
- prefixes.toString(),
+ Assertions.assertEquals(
expectedObjects.stream().map(obj -> S3Utils.summaryToUri(obj,
TEST_BUCKET)).collect(Collectors.toList()),
- actualObjects.stream().map(obj ->
S3Utils.summaryToUri(obj.getS3Object(),
obj.getBucket())).collect(Collectors.toList())
+ actualObjects.stream().map(obj ->
S3Utils.summaryToUri(obj.getS3Object(),
obj.getBucket())).collect(Collectors.toList()),
+ prefixes.toString()
);
}
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentArchiverTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentArchiverTest.java
index 576fa54c359..64025490c41 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentArchiverTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentArchiverTest.java
@@ -32,9 +32,9 @@ import org.apache.druid.jackson.DefaultObjectMapper;
import org.apache.druid.java.util.common.Intervals;
import org.apache.druid.timeline.DataSegment;
import org.easymock.EasyMock;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
import software.amazon.awssdk.services.s3.S3Client;
import java.util.Map;
@@ -100,7 +100,7 @@ public class S3DataSegmentArchiverTest
.size(0)
.build();
- @BeforeClass
+ @BeforeAll
public static void setUpStatic()
{
PUSHER_CONFIG.setBaseKey("push_base");
@@ -127,7 +127,7 @@ public class S3DataSegmentArchiverTest
return archivedSegment;
}
};
- Assert.assertEquals(archivedSegment, archiver.archive(SOURCE_SEGMENT));
+ Assertions.assertEquals(archivedSegment, archiver.archive(SOURCE_SEGMENT));
}
@Test
@@ -141,7 +141,7 @@ public class S3DataSegmentArchiverTest
return SOURCE_SEGMENT;
}
};
- Assert.assertNull(archiver.archive(SOURCE_SEGMENT));
+ Assertions.assertNull(archiver.archive(SOURCE_SEGMENT));
}
@Test
@@ -164,7 +164,7 @@ public class S3DataSegmentArchiverTest
return archivedSegment;
}
};
- Assert.assertEquals(archivedSegment, archiver.restore(SOURCE_SEGMENT));
+ Assertions.assertEquals(archivedSegment, archiver.restore(SOURCE_SEGMENT));
}
@Test
@@ -178,6 +178,6 @@ public class S3DataSegmentArchiverTest
return SOURCE_SEGMENT;
}
};
- Assert.assertNull(archiver.restore(SOURCE_SEGMENT));
+ Assertions.assertNull(archiver.restore(SOURCE_SEGMENT));
}
}
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentKillerTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentKillerTest.java
index e5b873ecb4b..6f3ebdd8007 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentKillerTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentKillerTest.java
@@ -29,13 +29,13 @@ import
org.apache.druid.segment.loading.SegmentLoadingException;
import org.apache.druid.timeline.DataSegment;
import org.apache.druid.timeline.partition.NoneShardSpec;
import org.easymock.EasyMock;
-import org.easymock.EasyMockRunner;
+import org.easymock.EasyMockExtension;
import org.easymock.EasyMockSupport;
import org.easymock.LogicalOperator;
import org.easymock.Mock;
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import software.amazon.awssdk.awscore.exception.AwsErrorDetails;
import software.amazon.awssdk.core.exception.AbortedException;
import software.amazon.awssdk.core.exception.SdkClientException;
@@ -53,7 +53,7 @@ import java.io.IOException;
import java.net.URI;
import java.util.List;
-@RunWith(EasyMockRunner.class)
+@ExtendWith(EasyMockExtension.class)
public class S3DataSegmentKillerTest extends EasyMockSupport
{
private static final String KEY_1 = "key1";
@@ -147,7 +147,7 @@ public class S3DataSegmentKillerTest extends EasyMockSupport
catch (ISE e) {
thrownISEException = true;
}
- Assert.assertTrue(thrownISEException);
+ Assertions.assertTrue(thrownISEException);
EasyMock.verify(s3Client, segmentPusherConfig, inputDataConfig);
}
@@ -280,7 +280,7 @@ public class S3DataSegmentKillerTest extends EasyMockSupport
ioExceptionThrown = true;
}
- Assert.assertTrue(ioExceptionThrown);
+ Assertions.assertTrue(ioExceptionThrown);
EasyMock.verify(s3Client, segmentPusherConfig, inputDataConfig);
}
@@ -380,11 +380,11 @@ public class S3DataSegmentKillerTest extends
EasyMockSupport
EasyMock.replay(s3Client, segmentPusherConfig, inputDataConfig);
segmentKiller = new S3DataSegmentKiller(Suppliers.ofInstance(s3Client),
segmentPusherConfig, inputDataConfig);
- SegmentLoadingException thrown = Assert.assertThrows(
+ SegmentLoadingException thrown = Assertions.assertThrows(
SegmentLoadingException.class,
() -> segmentKiller.kill(ImmutableList.of(DATA_SEGMENT_1,
DATA_SEGMENT_2))
);
- Assert.assertEquals("Couldn't delete segments from S3. See the task logs
for more details.", thrown.getMessage());
+ Assertions.assertEquals("Couldn't delete segments from S3. See the task
logs for more details.", thrown.getMessage());
}
@Test
@@ -408,12 +408,12 @@ public class S3DataSegmentKillerTest extends
EasyMockSupport
for (int ii = 0; ii < 501; ii++) {
builder.add(DATA_SEGMENT_1);
}
- SegmentLoadingException thrown = Assert.assertThrows(
+ SegmentLoadingException thrown = Assertions.assertThrows(
SegmentLoadingException.class,
() -> segmentKiller.kill(builder.build())
);
- Assert.assertEquals("Couldn't delete segments from S3. See the task logs
for more details.", thrown.getMessage());
+ Assertions.assertEquals("Couldn't delete segments from S3. See the task
logs for more details.", thrown.getMessage());
}
@Test
@@ -433,11 +433,11 @@ public class S3DataSegmentKillerTest extends
EasyMockSupport
EasyMock.replay(s3Client, segmentPusherConfig, inputDataConfig);
segmentKiller = new S3DataSegmentKiller(Suppliers.ofInstance(s3Client),
segmentPusherConfig, inputDataConfig);
- SegmentLoadingException thrown = Assert.assertThrows(
+ SegmentLoadingException thrown = Assertions.assertThrows(
SegmentLoadingException.class,
() -> segmentKiller.kill(ImmutableList.of(DATA_SEGMENT_1,
DATA_SEGMENT_2))
);
- Assert.assertEquals("Couldn't delete segments from S3. See the task logs
for more details.", thrown.getMessage());
+ Assertions.assertEquals("Couldn't delete segments from S3. See the task
logs for more details.", thrown.getMessage());
}
@Test
@@ -463,17 +463,17 @@ public class S3DataSegmentKillerTest extends
EasyMockSupport
// Verify the second request only contained the failed key
List<DeleteObjectsRequest> requests = capturedRequests.getValues();
- Assert.assertEquals(2, requests.size());
+ Assertions.assertEquals(2, requests.size());
List<String> firstKeys = requests.get(0).delete().objects()
.stream().map(ObjectIdentifier::key).collect(java.util.stream.Collectors.toList());
- Assert.assertTrue("First request should contain KEY_1_PATH",
firstKeys.contains(KEY_1_PATH));
- Assert.assertTrue("First request should contain KEY_2_PATH",
firstKeys.contains(KEY_2_PATH));
+ Assertions.assertTrue(firstKeys.contains(KEY_1_PATH), "First request
should contain KEY_1_PATH");
+ Assertions.assertTrue(firstKeys.contains(KEY_2_PATH), "First request
should contain KEY_2_PATH");
List<String> retryKeys = requests.get(1).delete().objects()
.stream().map(ObjectIdentifier::key).collect(java.util.stream.Collectors.toList());
- Assert.assertEquals("Retry should only contain the failed key", 1,
retryKeys.size());
- Assert.assertEquals(KEY_1_PATH, retryKeys.get(0));
+ Assertions.assertEquals(1, retryKeys.size(), "Retry should only contain
the failed key");
+ Assertions.assertEquals(KEY_1_PATH, retryKeys.get(0));
}
@Test
@@ -490,11 +490,11 @@ public class S3DataSegmentKillerTest extends
EasyMockSupport
EasyMock.replay(s3Client, segmentPusherConfig, inputDataConfig);
segmentKiller = new S3DataSegmentKiller(Suppliers.ofInstance(s3Client),
segmentPusherConfig, inputDataConfig);
- SegmentLoadingException thrown = Assert.assertThrows(
+ SegmentLoadingException thrown = Assertions.assertThrows(
SegmentLoadingException.class,
() -> segmentKiller.kill(ImmutableList.of(DATA_SEGMENT_1,
DATA_SEGMENT_2))
);
- Assert.assertEquals("Couldn't delete segments from S3. See the task logs
for more details.", thrown.getMessage());
+ Assertions.assertEquals("Couldn't delete segments from S3. See the task
logs for more details.", thrown.getMessage());
}
@Test
@@ -531,11 +531,11 @@ public class S3DataSegmentKillerTest extends
EasyMockSupport
EasyMock.replay(s3Client, segmentPusherConfig, inputDataConfig);
segmentKiller = new S3DataSegmentKiller(Suppliers.ofInstance(s3Client),
segmentPusherConfig, inputDataConfig);
- SegmentLoadingException thrown = Assert.assertThrows(
+ SegmentLoadingException thrown = Assertions.assertThrows(
SegmentLoadingException.class,
() -> segmentKiller.kill(ImmutableList.of(DATA_SEGMENT_1,
DATA_SEGMENT_2))
);
- Assert.assertEquals("Couldn't delete segments from S3. See the task logs
for more details.", thrown.getMessage());
+ Assertions.assertEquals("Couldn't delete segments from S3. See the task
logs for more details.", thrown.getMessage());
}
@Test
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentMoverTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentMoverTest.java
index 4a9e8b4b9b1..af37354bbda 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentMoverTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentMoverTest.java
@@ -27,8 +27,8 @@ import org.apache.druid.java.util.common.MapUtils;
import org.apache.druid.segment.loading.SegmentLoadingException;
import org.apache.druid.timeline.DataSegment;
import org.apache.druid.timeline.partition.NoneShardSpec;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
import software.amazon.awssdk.auth.credentials.AnonymousCredentialsProvider;
import software.amazon.awssdk.awscore.exception.AwsErrorDetails;
import software.amazon.awssdk.regions.Region;
@@ -94,12 +94,12 @@ public class S3DataSegmentMoverTest
);
Map<String, Object> targetLoadSpec = movedSegment.getLoadSpec();
- Assert.assertEquals(
+ Assertions.assertEquals(
"targetBaseKey/test/2013-01-01T00:00:00.000Z_2013-01-02T00:00:00.000Z/1/0/index.zip",
MapUtils.getString(targetLoadSpec, "key")
);
- Assert.assertEquals("archive", MapUtils.getString(targetLoadSpec,
"bucket"));
- Assert.assertTrue(mockS3Client.didMove());
+ Assertions.assertEquals("archive", MapUtils.getString(targetLoadSpec,
"bucket"));
+ Assertions.assertTrue(mockS3Client.didMove());
}
@Test
@@ -123,12 +123,12 @@ public class S3DataSegmentMoverTest
Map<String, Object> targetLoadSpec = movedSegment.getLoadSpec();
- Assert.assertEquals(
+ Assertions.assertEquals(
"targetBaseKey/test/2013-01-01T00:00:00.000Z_2013-01-02T00:00:00.000Z/1/0/index.zip",
MapUtils.getString(targetLoadSpec, "key")
);
- Assert.assertEquals("archive", MapUtils.getString(targetLoadSpec,
"bucket"));
- Assert.assertFalse(mockS3Client.didMove());
+ Assertions.assertEquals("archive", MapUtils.getString(targetLoadSpec,
"bucket"));
+ Assertions.assertFalse(mockS3Client.didMove());
}
@Test
@@ -162,15 +162,15 @@ public class S3DataSegmentMoverTest
final Map<String, Object> targetLoadSpec = movedSegment.getLoadSpec();
- Assert.assertEquals(
+ Assertions.assertEquals(
"targetBaseKey/test/2013-01-01T00:00:00.000Z_2013-01-02T00:00:00.000Z/1/0/index.zip",
MapUtils.getString(targetLoadSpec, "key")
);
- Assert.assertEquals("archive", MapUtils.getString(targetLoadSpec,
"bucket"));
- Assert.assertFalse(mockS3Client.didMove());
+ Assertions.assertEquals("archive", MapUtils.getString(targetLoadSpec,
"bucket"));
+ Assertions.assertFalse(mockS3Client.didMove());
}
- @Test(expected = SegmentLoadingException.class)
+ @Test
public void testMoveException() throws Exception
{
MockAmazonS3Client mockS3Client = new MockAmazonS3Client();
@@ -179,9 +179,12 @@ public class S3DataSegmentMoverTest
new S3DataSegmentPusherConfig()
);
- mover.move(
- SOURCE_SEGMENT,
- ImmutableMap.of("baseKey", "targetBaseKey", "bucket", "archive")
+ Assertions.assertThrows(
+ SegmentLoadingException.class,
+ () -> mover.move(
+ SOURCE_SEGMENT,
+ ImmutableMap.of("baseKey", "targetBaseKey", "bucket", "archive")
+ )
);
}
@@ -211,7 +214,7 @@ public class S3DataSegmentMoverTest
), ImmutableMap.of("bucket", "DOES NOT EXIST", "baseKey", "baseKey"));
}
- @Test(expected = SegmentLoadingException.class)
+ @Test
public void testFailsToMoveMissing() throws Exception
{
MockAmazonS3Client mockS3Client = new MockAmazonS3Client();
@@ -219,22 +222,25 @@ public class S3DataSegmentMoverTest
Suppliers.ofInstance(mockS3Client),
new S3DataSegmentPusherConfig()
);
- mover.move(new DataSegment(
- "test",
- Intervals.of("2013-01-01/2013-01-02"),
- "1",
- ImmutableMap.of(
- "key",
-
"baseKey/test/2013-01-01T00:00:00.000Z_2013-01-02T00:00:00.000Z/1/0/index.zip",
- "bucket",
- "DOES NOT EXIST"
- ),
- ImmutableList.of("dim1", "dim1"),
- ImmutableList.of("metric1", "metric2"),
- NoneShardSpec.instance(),
- 0,
- 1
- ), ImmutableMap.of("bucket", "DOES NOT EXIST", "baseKey", "baseKey2"));
+ Assertions.assertThrows(
+ SegmentLoadingException.class,
+ () -> mover.move(new DataSegment(
+ "test",
+ Intervals.of("2013-01-01/2013-01-02"),
+ "1",
+ ImmutableMap.of(
+ "key",
+
"baseKey/test/2013-01-01T00:00:00.000Z_2013-01-02T00:00:00.000Z/1/0/index.zip",
+ "bucket",
+ "DOES NOT EXIST"
+ ),
+ ImmutableList.of("dim1", "dim1"),
+ ImmutableList.of("metric1", "metric2"),
+ NoneShardSpec.instance(),
+ 0,
+ 1
+ ), ImmutableMap.of("bucket", "DOES NOT EXIST", "baseKey", "baseKey2"))
+ );
}
private static class MockAmazonS3Client extends ServerSideEncryptingAmazonS3
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentPullerTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentPullerTest.java
index 75c241f3c11..0fc646a1a49 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentPullerTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentPullerTest.java
@@ -25,10 +25,9 @@ import org.apache.druid.java.util.common.FileUtils;
import org.apache.druid.java.util.common.StringUtils;
import org.apache.druid.segment.loading.SegmentLoadingException;
import org.easymock.EasyMock;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
import software.amazon.awssdk.awscore.exception.AwsErrorDetails;
import software.amazon.awssdk.core.ResponseInputStream;
import software.amazon.awssdk.http.AbortableInputStream;
@@ -55,8 +54,8 @@ import java.util.zip.GZIPOutputStream;
*/
public class S3DataSegmentPullerTest
{
- @Rule
- public TemporaryFolder temporaryFolder = new TemporaryFolder();
+ @TempDir
+ public File temporaryFolder;
@Test
public void testSimpleGetVersion() throws IOException
@@ -81,7 +80,7 @@ public class S3DataSegmentPullerTest
EasyMock.verify(s3Client);
- Assert.assertEquals(StringUtils.format("%d",
Instant.ofEpochMilli(0).toEpochMilli()), version);
+ Assertions.assertEquals(StringUtils.format("%d",
Instant.ofEpochMilli(0).toEpochMilli()), version);
}
@Test
@@ -93,14 +92,14 @@ public class S3DataSegmentPullerTest
final ServerSideEncryptingAmazonS3 s3Client =
EasyMock.createStrictMock(ServerSideEncryptingAmazonS3.class);
final byte[] value = bucket.getBytes(StandardCharsets.UTF_8);
- final File tmpFile = temporaryFolder.newFile("gzTest.gz");
+ final File tmpFile = new File(temporaryFolder, "gzTest.gz");
try (final FileOutputStream fileOutputStream = new
FileOutputStream(tmpFile);
final OutputStream outputStream = new
GZIPOutputStream(fileOutputStream)) {
outputStream.write(value);
}
- final File tmpDir = temporaryFolder.newFolder("gzTestDir");
+ final File tmpDir =
FileUtils.createTempDirInLocation(temporaryFolder.toPath(), "gzTestDir");
EasyMock.expect(s3Client.getObject(EasyMock.eq(bucket), EasyMock.eq(key)))
.andAnswer(() -> new ResponseInputStream<>(
@@ -119,10 +118,10 @@ public class S3DataSegmentPullerTest
);
EasyMock.verify(s3Client);
- Assert.assertEquals(value.length, result.size());
+ Assertions.assertEquals(value.length, result.size());
File expected = new File(tmpDir, "renames-0");
- Assert.assertTrue(expected.exists());
- Assert.assertEquals(value.length, expected.length());
+ Assertions.assertTrue(expected.exists());
+ Assertions.assertEquals(value.length, expected.length());
}
@Test
@@ -134,14 +133,14 @@ public class S3DataSegmentPullerTest
final ServerSideEncryptingAmazonS3 s3Client =
EasyMock.createStrictMock(ServerSideEncryptingAmazonS3.class);
final byte[] value = bucket.getBytes(StandardCharsets.UTF_8);
- final File tmpFile = temporaryFolder.newFile("gzTest.gz");
+ final File tmpFile = new File(temporaryFolder, "gzTest.gz");
try (final FileOutputStream fileOutputStream = new
FileOutputStream(tmpFile);
final OutputStream outputStream = new
GZIPOutputStream(fileOutputStream)) {
outputStream.write(value);
}
- File tmpDir = temporaryFolder.newFolder("gzTestDir");
+ File tmpDir = FileUtils.createTempDirInLocation(temporaryFolder.toPath(),
"gzTestDir");
S3Exception exception = (S3Exception) S3Exception.builder()
.message("S3DataSegmentPullerTest")
@@ -157,7 +156,7 @@ public class S3DataSegmentPullerTest
S3DataSegmentPuller puller = new S3DataSegmentPuller(s3Client);
EasyMock.replay(s3Client);
- Assert.assertThrows(
+ Assertions.assertThrows(
SegmentLoadingException.class,
() -> puller.getSegmentFiles(
new CloudObjectLocation(
@@ -169,7 +168,7 @@ public class S3DataSegmentPullerTest
EasyMock.verify(s3Client);
File expected = new File(tmpDir, "renames-0");
- Assert.assertFalse(expected.exists());
+ Assertions.assertFalse(expected.exists());
}
@Test
@@ -181,14 +180,14 @@ public class S3DataSegmentPullerTest
final ServerSideEncryptingAmazonS3 s3Client =
EasyMock.createStrictMock(ServerSideEncryptingAmazonS3.class);
final byte[] value = bucket.getBytes(StandardCharsets.UTF_8);
- final File tmpFile = temporaryFolder.newFile("gzTest.gz");
+ final File tmpFile = new File(temporaryFolder, "gzTest.gz");
try (final FileOutputStream fileOutputStream = new
FileOutputStream(tmpFile);
final OutputStream outputStream = new
GZIPOutputStream(fileOutputStream)) {
outputStream.write(value);
}
- File tmpDir = temporaryFolder.newFolder("gzTestDir");
+ File tmpDir = FileUtils.createTempDirInLocation(temporaryFolder.toPath(),
"gzTestDir");
S3Exception exception = (S3Exception) S3Exception.builder()
.message("S3DataSegmentPullerTest")
@@ -218,10 +217,10 @@ public class S3DataSegmentPullerTest
);
EasyMock.verify(s3Client);
- Assert.assertEquals(value.length, result.size());
+ Assertions.assertEquals(value.length, result.size());
File expected = new File(tmpDir, "renames-0");
- Assert.assertTrue(expected.exists());
- Assert.assertEquals(value.length, expected.length());
+ Assertions.assertTrue(expected.exists());
+ Assertions.assertEquals(value.length, expected.length());
}
@Test
@@ -233,7 +232,7 @@ public class S3DataSegmentPullerTest
final ServerSideEncryptingAmazonS3 s3Client =
EasyMock.createStrictMock(ServerSideEncryptingAmazonS3.class);
final byte[] value = bucket.getBytes(StandardCharsets.UTF_8);
- final File tmpFile = temporaryFolder.newFile("testObjectFile");
+ final File tmpFile = new File(temporaryFolder, "testObjectFile");
try (OutputStream outputStream = new FileOutputStream(tmpFile)) {
outputStream.write(value);
@@ -250,7 +249,7 @@ public class S3DataSegmentPullerTest
InputStream stream =
puller.buildFileObject(URI.create(StringUtils.format("s3://%s/%s", bucket,
key)))
.openInputStream();
EasyMock.verify(s3Client);
- Assert.assertEquals(bucket, IOUtils.toString(stream,
StandardCharsets.UTF_8));
+ Assertions.assertEquals(bucket, IOUtils.toString(stream,
StandardCharsets.UTF_8));
}
@Test
@@ -262,7 +261,7 @@ public class S3DataSegmentPullerTest
final ServerSideEncryptingAmazonS3 s3Client =
EasyMock.createStrictMock(ServerSideEncryptingAmazonS3.class);
final byte[] value = bucket.getBytes(StandardCharsets.UTF_8);
- final File tmpFile = temporaryFolder.newFile("testObjectFile");
+ final File tmpFile = new File(temporaryFolder, "testObjectFile");
try (OutputStream outputStream = Files.newOutputStream(tmpFile.toPath())) {
outputStream.write(value);
@@ -281,7 +280,7 @@ public class S3DataSegmentPullerTest
long modifiedDate =
puller.buildFileObject(URI.create(StringUtils.format("s3://%s/%s", bucket,
key)))
.getLastModified();
EasyMock.verify(s3Client);
- Assert.assertEquals(0, modifiedDate);
+ Assertions.assertEquals(0, modifiedDate);
}
@Test
@@ -292,8 +291,8 @@ public class S3DataSegmentPullerTest
final ServerSideEncryptingAmazonS3 s3Client =
EasyMock.createStrictMock(ServerSideEncryptingAmazonS3.class);
final byte[] value = bucket.getBytes(StandardCharsets.UTF_8);
- final File tmpFile = temporaryFolder.newFile("meta.smoosh");
- final File tmpFile2 = temporaryFolder.newFile("00000.smoosh");
+ final File tmpFile = new File(temporaryFolder, "meta.smoosh");
+ final File tmpFile2 = new File(temporaryFolder, "00000.smoosh");
try (OutputStream outputStream = new FileOutputStream(tmpFile)) {
outputStream.write(value);
@@ -314,7 +313,7 @@ public class S3DataSegmentPullerTest
.build();
EasyMock.expect(s3Client.listObjectsV2(EasyMock.anyObject())).andReturn(listResponse).once();
- final File tmpDir = temporaryFolder.newFolder("noZipTestDir");
+ final File tmpDir =
FileUtils.createTempDirInLocation(temporaryFolder.toPath(), "noZipTestDir");
EasyMock.expect(s3Client.getObject(EasyMock.eq(bucket),
EasyMock.eq(keyPrefix + "meta.smoosh")))
.andAnswer(() -> new ResponseInputStream<>(
@@ -340,12 +339,12 @@ public class S3DataSegmentPullerTest
);
EasyMock.verify(s3Client);
- Assert.assertEquals(value.length + value.length, result.size());
+ Assertions.assertEquals(value.length + value.length, result.size());
File expected = new File(tmpDir, "meta.smoosh");
- Assert.assertTrue(expected.exists());
- Assert.assertEquals(value.length, expected.length());
+ Assertions.assertTrue(expected.exists());
+ Assertions.assertEquals(value.length, expected.length());
expected = new File(tmpDir, "00000.smoosh");
- Assert.assertTrue(expected.exists());
- Assert.assertEquals(value.length, expected.length());
+ Assertions.assertTrue(expected.exists());
+ Assertions.assertEquals(value.length, expected.length());
}
}
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentPusherConfigTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentPusherConfigTest.java
index dc5c5eb4877..589a6051c81 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentPusherConfigTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentPusherConfigTest.java
@@ -22,8 +22,8 @@ package org.apache.druid.storage.s3;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Iterators;
import org.apache.druid.jackson.DefaultObjectMapper;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
@@ -45,7 +45,7 @@ public class S3DataSegmentPusherConfigTest
S3DataSegmentPusherConfig config = JSON_MAPPER.readValue(jsonConfig,
S3DataSegmentPusherConfig.class);
Map<String, String> expected = JSON_MAPPER.readValue(jsonConfig,
Map.class);
Map<String, String> actual =
JSON_MAPPER.readValue(JSON_MAPPER.writeValueAsString(config), Map.class);
- Assert.assertEquals(expected, actual);
+ Assertions.assertEquals(expected, actual);
}
@Test
@@ -57,7 +57,7 @@ public class S3DataSegmentPusherConfigTest
S3DataSegmentPusherConfig config = JSON_MAPPER.readValue(jsonConfig,
S3DataSegmentPusherConfig.class);
Map<String, String> expected = JSON_MAPPER.readValue(expectedJsonConfig,
Map.class);
Map<String, String> actual =
JSON_MAPPER.readValue(JSON_MAPPER.writeValueAsString(config), Map.class);
- Assert.assertEquals(expected, actual);
+ Assertions.assertEquals(expected, actual);
}
@Test
@@ -69,8 +69,8 @@ public class S3DataSegmentPusherConfigTest
S3DataSegmentPusherConfig config = JSON_MAPPER.readValue(jsonConfig,
S3DataSegmentPusherConfig.class);
Set<ConstraintViolation<S3DataSegmentPusherConfig>> violations =
validator.validate(config);
- Assert.assertEquals(1, violations.size());
+ Assertions.assertEquals(1, violations.size());
ConstraintViolation violation =
Iterators.getOnlyElement(violations.iterator());
- Assert.assertEquals("must be greater than or equal to 1",
violation.getMessage());
+ Assertions.assertEquals("must be greater than or equal to 1",
violation.getMessage());
}
}
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentPusherTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentPusherTest.java
index 590a36524cf..a7a31310309 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentPusherTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3DataSegmentPusherTest.java
@@ -25,13 +25,9 @@ import org.apache.druid.java.util.common.Intervals;
import org.apache.druid.timeline.DataSegment;
import org.apache.druid.timeline.partition.NoneShardSpec;
import org.easymock.EasyMock;
-import org.hamcrest.CoreMatchers;
-import org.hamcrest.MatcherAssert;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.internal.matchers.ThrowableMessageMatcher;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
import software.amazon.awssdk.awscore.exception.AwsErrorDetails;
import software.amazon.awssdk.services.s3.model.Grant;
import software.amazon.awssdk.services.s3.model.Grantee;
@@ -50,8 +46,8 @@ import java.util.regex.Pattern;
*/
public class S3DataSegmentPusherTest
{
- @Rule
- public final TemporaryFolder tempFolder = new TemporaryFolder();
+ @TempDir
+ public File tempFolder;
@Test
public void testPush() throws Exception
@@ -74,7 +70,7 @@ public class S3DataSegmentPusherTest
@Test
public void testEntityTooLarge()
{
- final DruidException exception = Assert.assertThrows(
+ final DruidException exception = Assertions.assertThrows(
DruidException.class,
() ->
testPushInternalForEntityTooLarge(
@@ -83,10 +79,7 @@ public class S3DataSegmentPusherTest
)
);
- MatcherAssert.assertThat(
- exception,
- ThrowableMessageMatcher.hasMessage(CoreMatchers.startsWith("Got
error[EntityTooLarge] from S3"))
- );
+ Assertions.assertTrue(exception.getMessage().startsWith("Got
error[EntityTooLarge] from S3"));
}
@Test
@@ -123,7 +116,7 @@ public class S3DataSegmentPusherTest
new byte[]{0x0, 0x0, 0x0, 0x1}
);
// V1 (test fixture) → not V10 → rangeable stamped as false (skips legacy
HEAD probe).
- Assert.assertEquals(Boolean.FALSE, segment.getLoadSpec().get("rangeable"));
+ Assertions.assertEquals(Boolean.FALSE,
segment.getLoadSpec().get("rangeable"));
}
@Test
@@ -161,8 +154,8 @@ public class S3DataSegmentPusherTest
config,
new byte[]{0x0, 0x0, 0x0, 0x0A}
);
- Assert.assertEquals(10, (int) segment.getBinaryVersion());
- Assert.assertEquals(Boolean.TRUE, segment.getLoadSpec().get("rangeable"));
+ Assertions.assertEquals(10, (int) segment.getBinaryVersion());
+ Assertions.assertEquals(Boolean.TRUE,
segment.getLoadSpec().get("rangeable"));
}
@Test
@@ -188,7 +181,7 @@ public class S3DataSegmentPusherTest
"key/foo/2015-01-01T00:00:00\\.000Z_2016-01-01T00:00:00\\.000Z/0/0/index\\.zip",
s3Client
);
- Assert.assertFalse(segment.getLoadSpec().containsKey("rangeable"));
+ Assertions.assertFalse(segment.getLoadSpec().containsKey("rangeable"));
}
private void testPushInternal(boolean useUniquePath, String matcher) throws
Exception
@@ -242,7 +235,7 @@ public class S3DataSegmentPusherTest
config.setBaseKey("key");
// Default version.bin is V1 for historical reasons.
DataSegment segment = validate(useUniquePath, matcher, s3Client, config,
new byte[]{0x0, 0x0, 0x0, 0x1});
- Assert.assertEquals(1, (int) segment.getBinaryVersion());
+ Assertions.assertEquals(1, (int) segment.getBinaryVersion());
return segment;
}
@@ -257,7 +250,7 @@ public class S3DataSegmentPusherTest
S3DataSegmentPusher pusher = new S3DataSegmentPusher(s3Client, config);
// Create a mock segment on disk
- File tmp = tempFolder.newFile("version.bin");
+ File tmp = new File(tempFolder, "version.bin");
Files.write(versionBytes, tmp);
final long size = versionBytes.length;
@@ -274,15 +267,15 @@ public class S3DataSegmentPusherTest
size
);
- DataSegment segment = pusher.push(tempFolder.getRoot(), segmentToPush,
useUniquePath);
+ DataSegment segment = pusher.push(tempFolder, segmentToPush,
useUniquePath);
- Assert.assertEquals(segmentToPush.getSize(), segment.getSize());
- Assert.assertEquals("bucket", segment.getLoadSpec().get("bucket"));
- Assert.assertTrue(
- segment.getLoadSpec().get("key").toString(),
-
Pattern.compile(matcher).matcher(segment.getLoadSpec().get("key").toString()).matches()
+ Assertions.assertEquals(segmentToPush.getSize(), segment.getSize());
+ Assertions.assertEquals("bucket", segment.getLoadSpec().get("bucket"));
+ Assertions.assertTrue(
+
Pattern.compile(matcher).matcher(segment.getLoadSpec().get("key").toString()).matches(),
+ segment.getLoadSpec().get("key").toString()
);
- Assert.assertEquals("s3_zip", segment.getLoadSpec().get("type"));
+ Assertions.assertEquals("s3_zip", segment.getLoadSpec().get("type"));
EasyMock.verify(s3Client);
return segment;
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3InputDataConfigTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3InputDataConfigTest.java
index ab6185cd4c7..181ee3fb2d2 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3InputDataConfigTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3InputDataConfigTest.java
@@ -23,8 +23,8 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.druid.java.util.common.IAE;
import org.apache.druid.java.util.common.StringUtils;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
public class S3InputDataConfigTest
{
@@ -48,7 +48,7 @@ public class S3InputDataConfigTest
catch (JsonProcessingException e) {
exceptionThrown = true;
}
- Assert.assertTrue(exceptionThrown);
+ Assertions.assertTrue(exceptionThrown);
}
@Test
@@ -61,7 +61,7 @@ public class S3InputDataConfigTest
catch (JsonProcessingException e) {
exceptionThrown = true;
}
- Assert.assertTrue(exceptionThrown);
+ Assertions.assertTrue(exceptionThrown);
}
@Test
@@ -71,7 +71,7 @@ public class S3InputDataConfigTest
formatTemplate(S3InputDataConfig.MAX_LISTING_LENGTH_MIN),
S3InputDataConfig.class
);
- Assert.assertEquals(S3InputDataConfig.MAX_LISTING_LENGTH_MIN,
inputDataConfig.getMaxListingLength());
+ Assertions.assertEquals(S3InputDataConfig.MAX_LISTING_LENGTH_MIN,
inputDataConfig.getMaxListingLength());
}
@Test
@@ -81,7 +81,7 @@ public class S3InputDataConfigTest
formatTemplate(S3InputDataConfig.MAX_LISTING_LENGTH_MAX),
S3InputDataConfig.class
);
- Assert.assertEquals(S3InputDataConfig.MAX_LISTING_LENGTH_MAX,
inputDataConfig.getMaxListingLength());
+ Assertions.assertEquals(S3InputDataConfig.MAX_LISTING_LENGTH_MAX,
inputDataConfig.getMaxListingLength());
}
@Test
@@ -95,7 +95,7 @@ public class S3InputDataConfigTest
catch (IAE e) {
exceptionThrown = true;
}
- Assert.assertTrue(exceptionThrown);
+ Assertions.assertTrue(exceptionThrown);
}
@Test
@@ -109,7 +109,7 @@ public class S3InputDataConfigTest
catch (IAE e) {
exceptionThrown = true;
}
- Assert.assertTrue(exceptionThrown);
+ Assertions.assertTrue(exceptionThrown);
}
@Test
@@ -117,7 +117,7 @@ public class S3InputDataConfigTest
{
inputDataConfig = new S3InputDataConfig();
inputDataConfig.setMaxListingLength(S3InputDataConfig.MAX_LISTING_LENGTH_MIN);
- Assert.assertEquals(S3InputDataConfig.MAX_LISTING_LENGTH_MIN,
inputDataConfig.getMaxListingLength());
+ Assertions.assertEquals(S3InputDataConfig.MAX_LISTING_LENGTH_MIN,
inputDataConfig.getMaxListingLength());
}
@Test
@@ -125,14 +125,14 @@ public class S3InputDataConfigTest
{
inputDataConfig = new S3InputDataConfig();
inputDataConfig.setMaxListingLength(S3InputDataConfig.MAX_LISTING_LENGTH_MAX);
- Assert.assertEquals(S3InputDataConfig.MAX_LISTING_LENGTH_MAX,
inputDataConfig.getMaxListingLength());
+ Assertions.assertEquals(S3InputDataConfig.MAX_LISTING_LENGTH_MAX,
inputDataConfig.getMaxListingLength());
}
@Test
public void test_construct_maxListingLengthDefaultsToMax()
{
inputDataConfig = new S3InputDataConfig();
- Assert.assertEquals(S3InputDataConfig.MAX_LISTING_LENGTH_MAX,
inputDataConfig.getMaxListingLength());
+ Assertions.assertEquals(S3InputDataConfig.MAX_LISTING_LENGTH_MAX,
inputDataConfig.getMaxListingLength());
}
private static String formatTemplate(int maxListingLength)
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3StorageConnectorProviderTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3StorageConnectorProviderTest.java
index 1695ffca5d7..4e4cd26d2c0 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3StorageConnectorProviderTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3StorageConnectorProviderTest.java
@@ -43,8 +43,8 @@ import
org.apache.druid.storage.s3.output.S3StorageConnectorModule;
import org.apache.druid.storage.s3.output.S3StorageConnectorProvider;
import org.apache.druid.storage.s3.output.S3UploadManager;
import org.easymock.EasyMock;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
import java.io.File;
import java.util.Properties;
@@ -66,11 +66,11 @@ public class S3StorageConnectorProviderTest
properties.setProperty(CUSTOM_NAMESPACE + ".tempDir", "/tmp");
StorageConnectorProvider s3StorageConnectorProvider =
getStorageConnectorProvider(properties);
- Assert.assertTrue(s3StorageConnectorProvider instanceof
S3StorageConnectorProvider);
-
Assert.assertTrue(s3StorageConnectorProvider.createStorageConnector(tempDir)
instanceof S3StorageConnector);
- Assert.assertEquals("bucket", ((S3StorageConnectorProvider)
s3StorageConnectorProvider).getBucket());
- Assert.assertEquals("prefix", ((S3StorageConnectorProvider)
s3StorageConnectorProvider).getPrefix());
- Assert.assertEquals(new File("/tmp"), ((S3StorageConnectorProvider)
s3StorageConnectorProvider).getTempDir());
+ Assertions.assertTrue(s3StorageConnectorProvider instanceof
S3StorageConnectorProvider);
+
Assertions.assertTrue(s3StorageConnectorProvider.createStorageConnector(tempDir)
instanceof S3StorageConnector);
+ Assertions.assertEquals("bucket", ((S3StorageConnectorProvider)
s3StorageConnectorProvider).getBucket());
+ Assertions.assertEquals("prefix", ((S3StorageConnectorProvider)
s3StorageConnectorProvider).getPrefix());
+ Assertions.assertEquals(new File("/tmp"), ((S3StorageConnectorProvider)
s3StorageConnectorProvider).getTempDir());
}
@@ -82,10 +82,10 @@ public class S3StorageConnectorProviderTest
properties.setProperty(CUSTOM_NAMESPACE + ".type", "s3");
properties.setProperty(CUSTOM_NAMESPACE + ".bucket", "bucket");
properties.setProperty(CUSTOM_NAMESPACE + ".tempDir", "/tmp");
- Assert.assertThrows(
- "Missing required creator property 'prefix'",
+ Assertions.assertThrows(
ProvisionException.class,
- () -> getStorageConnectorProvider(properties)
+ () -> getStorageConnectorProvider(properties),
+ "Missing required creator property 'prefix'"
);
}
@@ -98,10 +98,10 @@ public class S3StorageConnectorProviderTest
properties.setProperty(CUSTOM_NAMESPACE + ".type", "s3");
properties.setProperty(CUSTOM_NAMESPACE + ".prefix", "prefix");
properties.setProperty(CUSTOM_NAMESPACE + ".tempDir", "/tmp");
- Assert.assertThrows(
- "Missing required creator property 'bucket'",
+ Assertions.assertThrows(
ProvisionException.class,
- () -> getStorageConnectorProvider(properties)
+ () -> getStorageConnectorProvider(properties),
+ "Missing required creator property 'bucket'"
);
}
@@ -114,10 +114,10 @@ public class S3StorageConnectorProviderTest
properties.setProperty(CUSTOM_NAMESPACE + ".bucket", "bucket");
properties.setProperty(CUSTOM_NAMESPACE + ".prefix", "prefix");
- Assert.assertThrows(
- "tempDir is null in s3 config",
+ Assertions.assertThrows(
NullPointerException.class,
- () ->
getStorageConnectorProvider(properties).createStorageConnector(null)
+ () ->
getStorageConnectorProvider(properties).createStorageConnector(null),
+ "tempDir is null in s3 config"
);
}
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3StorageDruidModuleTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3StorageDruidModuleTest.java
index 5d4fc4f188f..b771bb8904a 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3StorageDruidModuleTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3StorageDruidModuleTest.java
@@ -28,8 +28,8 @@ import org.apache.druid.guice.StartupInjectorBuilder;
import org.apache.druid.segment.loading.OmniDataSegmentArchiver;
import org.apache.druid.segment.loading.OmniDataSegmentKiller;
import org.apache.druid.segment.loading.OmniDataSegmentMover;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
public class S3StorageDruidModuleTest
{
@@ -38,8 +38,8 @@ public class S3StorageDruidModuleTest
{
Injector injector = createInjector();
OmniDataSegmentKiller killer =
injector.getInstance(OmniDataSegmentKiller.class);
-
Assert.assertTrue(killer.getKillers().containsKey(S3StorageDruidModule.SCHEME_S3_ZIP));
- Assert.assertSame(
+
Assertions.assertTrue(killer.getKillers().containsKey(S3StorageDruidModule.SCHEME_S3_ZIP));
+ Assertions.assertSame(
killer.getKillers().get(S3StorageDruidModule.SCHEME_S3_ZIP).get(),
killer.getKillers().get(S3StorageDruidModule.SCHEME_S3_ZIP).get()
);
@@ -50,8 +50,8 @@ public class S3StorageDruidModuleTest
{
Injector injector = createInjector();
OmniDataSegmentArchiver archiver =
injector.getInstance(OmniDataSegmentArchiver.class);
-
Assert.assertTrue(archiver.getArchivers().containsKey(S3StorageDruidModule.SCHEME_S3_ZIP));
- Assert.assertSame(
+
Assertions.assertTrue(archiver.getArchivers().containsKey(S3StorageDruidModule.SCHEME_S3_ZIP));
+ Assertions.assertSame(
archiver.getArchivers().get(S3StorageDruidModule.SCHEME_S3_ZIP).get(),
archiver.getArchivers().get(S3StorageDruidModule.SCHEME_S3_ZIP).get()
);
@@ -62,8 +62,8 @@ public class S3StorageDruidModuleTest
{
Injector injector = createInjector();
OmniDataSegmentMover mover =
injector.getInstance(OmniDataSegmentMover.class);
-
Assert.assertTrue(mover.getMovers().containsKey(S3StorageDruidModule.SCHEME_S3_ZIP));
- Assert.assertSame(
+
Assertions.assertTrue(mover.getMovers().containsKey(S3StorageDruidModule.SCHEME_S3_ZIP));
+ Assertions.assertSame(
mover.getMovers().get(S3StorageDruidModule.SCHEME_S3_ZIP).get(),
mover.getMovers().get(S3StorageDruidModule.SCHEME_S3_ZIP).get()
);
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3TaskLogsTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3TaskLogsTest.java
index 3da6bf53ce2..45d0be3ee95 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3TaskLogsTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3TaskLogsTest.java
@@ -28,14 +28,13 @@ import org.apache.druid.java.util.common.StringUtils;
import org.easymock.Capture;
import org.easymock.CaptureType;
import org.easymock.EasyMock;
-import org.easymock.EasyMockRunner;
+import org.easymock.EasyMockExtension;
import org.easymock.EasyMockSupport;
import org.easymock.Mock;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.jupiter.api.io.TempDir;
import software.amazon.awssdk.core.ResponseInputStream;
import software.amazon.awssdk.core.exception.SdkClientException;
import software.amazon.awssdk.services.s3.model.DeleteObjectsRequest;
@@ -64,7 +63,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
-@RunWith(EasyMockRunner.class)
+@ExtendWith(EasyMockExtension.class)
public class S3TaskLogsTest extends EasyMockSupport
{
@@ -89,8 +88,8 @@ public class S3TaskLogsTest extends EasyMockSupport
@Mock
private ServerSideEncryptingAmazonS3 s3Client;
- @Rule
- public final TemporaryFolder tempFolder = new TemporaryFolder();
+ @TempDir
+ public File tempFolder;
@Test
public void testTaskLogsPushWithAclDisabled() throws Exception
@@ -100,8 +99,8 @@ public class S3TaskLogsTest extends EasyMockSupport
List<Grant> grantList = testPushInternal(true, ownerId, ownerDisplayName);
- Assert.assertNotNull("Grant list should not be null", grantList);
- Assert.assertEquals("Grant list should be empty as ACL is disabled", 0,
grantList.size());
+ Assertions.assertNotNull(grantList, "Grant list should not be null");
+ Assertions.assertEquals(0, grantList.size(), "Grant list should be empty
as ACL is disabled");
}
@Test
@@ -112,15 +111,19 @@ public class S3TaskLogsTest extends EasyMockSupport
List<Grant> grantList = testPushInternal(false, ownerId, ownerDisplayName);
- Assert.assertNotNull("Grant list should not be null", grantList);
- Assert.assertEquals("Grant list size should be equal to 1", 1,
grantList.size());
+ Assertions.assertNotNull(grantList, "Grant list should not be null");
+ Assertions.assertEquals(1, grantList.size(), "Grant list size should be
equal to 1");
Grant grant = grantList.get(0);
- Assert.assertEquals(
- "The Grantee identifier should be test_owner",
+ Assertions.assertEquals(
"test_owner",
- grant.grantee().id()
+ grant.grantee().id(),
+ "The Grantee identifier should be test_owner"
+ );
+ Assertions.assertEquals(
+ Permission.FULL_CONTROL,
+ grant.permission(),
+ "The Grant should have full control permission"
);
- Assert.assertEquals("The Grant should have full control permission",
Permission.FULL_CONTROL, grant.permission());
}
@Test
@@ -140,7 +143,7 @@ public class S3TaskLogsTest extends EasyMockSupport
S3TaskLogs s3TaskLogs = new S3TaskLogs(() -> s3Client, config,
inputDataConfig, timeSupplier);
String taskId = "index_test-datasource_2019-06-18T13:30:28.887Z";
- File logFile = tempFolder.newFile("status.json");
+ File logFile = File.createTempFile("status", ".json", tempFolder);
s3TaskLogs.pushTaskLog(taskId, logFile);
@@ -167,13 +170,13 @@ public class S3TaskLogsTest extends EasyMockSupport
S3InputDataConfig inputDataConfig = new S3InputDataConfig();
S3TaskLogs s3TaskLogs = new S3TaskLogs(() -> s3Client, config,
inputDataConfig, timeSupplier);
- File payloadFile = tempFolder.newFile("task.json");
+ File payloadFile = File.createTempFile("task", ".json", tempFolder);
String taskId = "index_test-datasource_2019-06-18T13:30:28.887Z";
s3TaskLogs.pushTaskPayload(taskId, payloadFile);
- Assert.assertEquals(TEST_BUCKET, bucketCapture.getValue());
- Assert.assertEquals("prefix/" + taskId + "/task.json",
keyCapture.getValue());
- Assert.assertEquals(payloadFile, fileCapture.getValue());
+ Assertions.assertEquals(TEST_BUCKET, bucketCapture.getValue());
+ Assertions.assertEquals("prefix/" + taskId + "/task.json",
keyCapture.getValue());
+ Assertions.assertEquals(payloadFile, fileCapture.getValue());
EasyMock.verify(s3Client);
}
@@ -212,11 +215,11 @@ public class S3TaskLogsTest extends EasyMockSupport
Optional<InputStream> payloadResponse =
s3TaskLogs.streamTaskPayload(taskId);
GetObjectRequest getObjectRequest =
getObjectRequestCapture.getValue().build();
- Assert.assertEquals(TEST_BUCKET, getObjectRequest.bucket());
- Assert.assertEquals("prefix/" + taskId + "/task.json",
getObjectRequest.key());
- Assert.assertTrue(payloadResponse.isPresent());
+ Assertions.assertEquals(TEST_BUCKET, getObjectRequest.bucket());
+ Assertions.assertEquals("prefix/" + taskId + "/task.json",
getObjectRequest.key());
+ Assertions.assertTrue(payloadResponse.isPresent());
- Assert.assertEquals(taskPayloadString,
IOUtils.toString(payloadResponse.get(), Charset.defaultCharset()));
+ Assertions.assertEquals(taskPayloadString,
IOUtils.toString(payloadResponse.get(), Charset.defaultCharset()));
EasyMock.verify(s3Client);
}
@@ -329,7 +332,7 @@ public class S3TaskLogsTest extends EasyMockSupport
ioExceptionThrown = true;
}
- Assert.assertTrue(ioExceptionThrown);
+ Assertions.assertTrue(ioExceptionThrown);
EasyMock.verify(s3Client, timeSupplier);
}
@@ -428,7 +431,7 @@ public class S3TaskLogsTest extends EasyMockSupport
ioExceptionThrown = true;
}
- Assert.assertTrue(ioExceptionThrown);
+ Assertions.assertTrue(ioExceptionThrown);
EasyMock.verify(s3Client, timeSupplier);
}
@@ -460,7 +463,7 @@ public class S3TaskLogsTest extends EasyMockSupport
taskLogs = reader.lines().collect(Collectors.joining("\n"));
}
- Assert.assertEquals(LOG_CONTENTS, taskLogs);
+ Assertions.assertEquals(LOG_CONTENTS, taskLogs);
}
@Test
@@ -490,7 +493,7 @@ public class S3TaskLogsTest extends EasyMockSupport
taskLogs = reader.lines().collect(Collectors.joining("\n"));
}
- Assert.assertEquals(LOG_CONTENTS.substring(1), taskLogs);
+ Assertions.assertEquals(LOG_CONTENTS.substring(1), taskLogs);
}
@Test
@@ -520,7 +523,7 @@ public class S3TaskLogsTest extends EasyMockSupport
taskLogs = reader.lines().collect(Collectors.joining("\n"));
}
- Assert.assertEquals(LOG_CONTENTS.substring(1), taskLogs);
+ Assertions.assertEquals(LOG_CONTENTS.substring(1), taskLogs);
}
@@ -550,7 +553,7 @@ public class S3TaskLogsTest extends EasyMockSupport
report = reader.lines().collect(Collectors.joining("\n"));
}
- Assert.assertEquals(REPORT_CONTENTS, report);
+ Assertions.assertEquals(REPORT_CONTENTS, report);
}
@Test
@@ -579,7 +582,7 @@ public class S3TaskLogsTest extends EasyMockSupport
report = reader.lines().collect(Collectors.joining("\n"));
}
- Assert.assertEquals(STATUS_CONTENTS, report);
+ Assertions.assertEquals(STATUS_CONTENTS, report);
}
@Test
@@ -620,7 +623,7 @@ public class S3TaskLogsTest extends EasyMockSupport
report = reader.lines().collect(Collectors.joining("\n"));
}
- Assert.assertEquals(STATUS_CONTENTS, report);
+ Assertions.assertEquals(STATUS_CONTENTS, report);
}
@Nonnull
@@ -671,7 +674,7 @@ public class S3TaskLogsTest extends EasyMockSupport
S3TaskLogs s3TaskLogs = new S3TaskLogs(() -> s3Client, config,
inputDataConfig, timeSupplier);
String taskId = "index_test-datasource_2019-06-18T13:30:28.887Z";
- File logFile = tempFolder.newFile("test_log_file");
+ File logFile = File.createTempFile("test_log_file", ".tmp", tempFolder);
s3TaskLogs.pushTaskLog(taskId, logFile);
@@ -681,10 +684,10 @@ public class S3TaskLogsTest extends EasyMockSupport
@Test
public void testEnsureQuotated()
{
- Assert.assertEquals("\"etag\"", S3TaskLogs.ensureQuotated("etag"));
- Assert.assertNull(S3TaskLogs.ensureQuotated(null));
- Assert.assertEquals("\"etag", S3TaskLogs.ensureQuotated("\"etag"));
- Assert.assertEquals("etag\"", S3TaskLogs.ensureQuotated("etag\""));
+ Assertions.assertEquals("\"etag\"", S3TaskLogs.ensureQuotated("etag"));
+ Assertions.assertNull(S3TaskLogs.ensureQuotated(null));
+ Assertions.assertEquals("\"etag", S3TaskLogs.ensureQuotated("\"etag"));
+ Assertions.assertEquals("etag\"", S3TaskLogs.ensureQuotated("etag\""));
}
@Test
@@ -697,6 +700,6 @@ public class S3TaskLogsTest extends EasyMockSupport
.ifMatch(S3TaskLogs.ensureQuotated(eTag))
.range("bytes=0-1")
.build();
- Assert.assertEquals("\"" + eTag + "\"", request.ifMatch());
+ Assertions.assertEquals("\"" + eTag + "\"", request.ifMatch());
}
}
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3TimestampVersionedDataFinderTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3TimestampVersionedDataFinderTest.java
index 5f287ca8e97..cb21046ca8a 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3TimestampVersionedDataFinderTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3TimestampVersionedDataFinderTest.java
@@ -21,8 +21,8 @@ package org.apache.druid.storage.s3;
import org.apache.druid.java.util.common.StringUtils;
import org.easymock.EasyMock;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
import software.amazon.awssdk.services.s3.model.ListObjectsV2Request;
import software.amazon.awssdk.services.s3.model.ListObjectsV2Response;
import software.amazon.awssdk.services.s3.model.S3Object;
@@ -75,7 +75,7 @@ public class S3TimestampVersionedDataFinderTest
URI expected = URI.create(StringUtils.format("s3://%s/%s", bucket,
object1.key()));
- Assert.assertEquals(expected, latest);
+ Assertions.assertEquals(expected, latest);
}
@Test
@@ -104,7 +104,7 @@ public class S3TimestampVersionedDataFinderTest
EasyMock.verify(s3Client);
- Assert.assertEquals(null, latest);
+ Assertions.assertNull(latest);
}
@Test
@@ -142,7 +142,7 @@ public class S3TimestampVersionedDataFinderTest
URI expected = URI.create(StringUtils.format("s3://%s/%s", bucket,
object0.key()));
- Assert.assertEquals(expected, latest);
+ Assertions.assertEquals(expected, latest);
}
@Test
@@ -177,6 +177,6 @@ public class S3TimestampVersionedDataFinderTest
URI expected = URI.create(StringUtils.format("s3://%s/%s", bucket,
object0.key()));
- Assert.assertEquals(expected, latest);
+ Assertions.assertEquals(expected, latest);
}
}
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3TransferConfigTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3TransferConfigTest.java
index 3cbace59475..080051c180d 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3TransferConfigTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3TransferConfigTest.java
@@ -19,8 +19,8 @@
package org.apache.druid.storage.s3;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
public class S3TransferConfigTest
{
@@ -28,9 +28,9 @@ public class S3TransferConfigTest
public void testDefaultValues()
{
S3TransferConfig config = new S3TransferConfig();
- Assert.assertTrue(config.isUseTransferManager());
- Assert.assertEquals(20 * 1024 * 1024L, config.getMinimumUploadPartSize());
- Assert.assertEquals(20 * 1024 * 1024L,
config.getMultipartUploadThreshold());
+ Assertions.assertTrue(config.isUseTransferManager());
+ Assertions.assertEquals(20 * 1024 * 1024L,
config.getMinimumUploadPartSize());
+ Assertions.assertEquals(20 * 1024 * 1024L,
config.getMultipartUploadThreshold());
}
@Test
@@ -38,7 +38,7 @@ public class S3TransferConfigTest
{
S3TransferConfig config = new S3TransferConfig();
config.setUseTransferManager(true);
- Assert.assertTrue(config.isUseTransferManager());
+ Assertions.assertTrue(config.isUseTransferManager());
}
@Test
@@ -46,7 +46,7 @@ public class S3TransferConfigTest
{
S3TransferConfig config = new S3TransferConfig();
config.setMinimumUploadPartSize(10 * 1024 * 1024L);
- Assert.assertEquals(10 * 1024 * 1024L, config.getMinimumUploadPartSize());
+ Assertions.assertEquals(10 * 1024 * 1024L,
config.getMinimumUploadPartSize());
}
@Test
@@ -54,6 +54,6 @@ public class S3TransferConfigTest
{
S3TransferConfig config = new S3TransferConfig();
config.setMultipartUploadThreshold(10 * 1024 * 1024L);
- Assert.assertEquals(10 * 1024 * 1024L,
config.getMultipartUploadThreshold());
+ Assertions.assertEquals(10 * 1024 * 1024L,
config.getMultipartUploadThreshold());
}
}
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3UtilsTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3UtilsTest.java
index 7d3135ca6bb..16e0257bac2 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3UtilsTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3UtilsTest.java
@@ -25,8 +25,8 @@ import org.apache.druid.common.aws.AWSEndpointConfig;
import org.easymock.Capture;
import org.easymock.CaptureType;
import org.easymock.EasyMock;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
import software.amazon.awssdk.core.exception.SdkClientException;
import software.amazon.awssdk.services.s3.model.DeleteObjectsRequest;
import software.amazon.awssdk.services.s3.model.DeleteObjectsResponse;
@@ -49,7 +49,7 @@ public class S3UtilsTest
{
final int maxRetries = 3;
final AtomicInteger count = new AtomicInteger();
- Assert.assertThrows(
+ Assertions.assertThrows(
IOException.class,
() -> S3Utils.retryS3Operation(
() -> {
@@ -58,7 +58,7 @@ public class S3UtilsTest
},
maxRetries
));
- Assert.assertEquals(maxRetries, count.get());
+ Assertions.assertEquals(maxRetries, count.get());
}
@Test
@@ -67,7 +67,7 @@ public class S3UtilsTest
// Transient TLS "Tag mismatch!" should be retried, not treated as
terminal. See issue #19616.
final int maxRetries = 3;
final AtomicInteger count = new AtomicInteger();
- Assert.assertThrows(
+ Assertions.assertThrows(
SSLException.class,
() -> S3Utils.retryS3Operation(
() -> {
@@ -76,14 +76,14 @@ public class S3UtilsTest
},
maxRetries
));
- Assert.assertEquals(maxRetries, count.get());
+ Assertions.assertEquals(maxRetries, count.get());
}
@Test
public void testRetryWith4XXErrors()
{
final AtomicInteger count = new AtomicInteger();
- Assert.assertThrows(
+ Assertions.assertThrows(
IOException.class,
() -> S3Utils.retryS3Operation(
() -> {
@@ -99,7 +99,7 @@ public class S3UtilsTest
},
3
));
- Assert.assertEquals(1, count.get());
+ Assertions.assertEquals(1, count.get());
}
@Test
@@ -121,7 +121,7 @@ public class S3UtilsTest
},
maxRetries
);
- Assert.assertEquals(maxRetries, count.get());
+ Assertions.assertEquals(maxRetries, count.get());
}
@Test
@@ -129,7 +129,7 @@ public class S3UtilsTest
{
final int maxRetries = 3;
final AtomicInteger count = new AtomicInteger();
- Assert.assertThrows(
+ Assertions.assertThrows(
IOException.class,
() -> S3Utils.retryS3Operation(
() -> {
@@ -146,7 +146,7 @@ public class S3UtilsTest
maxRetries
)
);
- Assert.assertEquals(maxRetries, count.get());
+ Assertions.assertEquals(maxRetries, count.get());
}
@Test
@@ -169,7 +169,7 @@ public class S3UtilsTest
},
maxRetries
);
- Assert.assertEquals(maxRetries, count.get());
+ Assertions.assertEquals(maxRetries, count.get());
}
@Test
@@ -194,7 +194,7 @@ public class S3UtilsTest
},
maxRetries
);
- Assert.assertEquals(maxRetries, count.get());
+ Assertions.assertEquals(maxRetries, count.get());
}
@Test
@@ -216,7 +216,7 @@ public class S3UtilsTest
},
maxRetries
);
- Assert.assertEquals(maxRetries, count.get());
+ Assertions.assertEquals(maxRetries, count.get());
}
@Test
@@ -238,14 +238,14 @@ public class S3UtilsTest
},
maxRetries
);
- Assert.assertEquals(maxRetries, count.get());
+ Assertions.assertEquals(maxRetries, count.get());
}
@Test
public void testNoRetryWithS3InternalErrorNon200Status()
{
final AtomicInteger count = new AtomicInteger();
- Assert.assertThrows(
+ Assertions.assertThrows(
Exception.class,
() -> S3Utils.retryS3Operation(
() -> {
@@ -259,14 +259,14 @@ public class S3UtilsTest
3
)
);
- Assert.assertEquals(1, count.get());
+ Assertions.assertEquals(1, count.get());
}
@Test
public void testNoRetryWithS3SlowDownNon200Status()
{
final AtomicInteger count = new AtomicInteger();
- Assert.assertThrows(
+ Assertions.assertThrows(
Exception.class,
() -> S3Utils.retryS3Operation(
() -> {
@@ -280,14 +280,14 @@ public class S3UtilsTest
3
)
);
- Assert.assertEquals(1, count.get());
+ Assertions.assertEquals(1, count.get());
}
@Test
public void testRetryWithS3Status200ButDifferentError()
{
final AtomicInteger count = new AtomicInteger();
- Assert.assertThrows(
+ Assertions.assertThrows(
Exception.class,
() -> S3Utils.retryS3Operation(
() -> {
@@ -301,7 +301,7 @@ public class S3UtilsTest
3
)
);
- Assert.assertEquals(1, count.get());
+ Assertions.assertEquals(1, count.get());
}
@Test
@@ -350,12 +350,12 @@ public class S3UtilsTest
// First request should have both keys
List<String> firstKeys =
capturedRequests.getValues().get(0).delete().objects()
.stream().map(ObjectIdentifier::key).collect(Collectors.toList());
- Assert.assertEquals(List.of("a", "b"), firstKeys);
+ Assertions.assertEquals(List.of("a", "b"), firstKeys);
// Second request should only have the failed key
List<String> secondKeys =
capturedRequests.getValues().get(1).delete().objects()
.stream().map(ObjectIdentifier::key).collect(Collectors.toList());
- Assert.assertEquals(List.of("b"), secondKeys);
+ Assertions.assertEquals(List.of("b"), secondKeys);
}
@Test
@@ -372,12 +372,12 @@ public class S3UtilsTest
EasyMock.replay(s3Client);
List<ObjectIdentifier> keys =
List.of(ObjectIdentifier.builder().key("a").build());
- S3MultiObjectDeleteException thrown = Assert.assertThrows(
+ S3MultiObjectDeleteException thrown = Assertions.assertThrows(
S3MultiObjectDeleteException.class,
() -> S3Utils.deleteBucketKeys(s3Client, "bucket", keys, 2)
);
- Assert.assertEquals(1, thrown.getErrors().size());
- Assert.assertEquals("a", thrown.getErrors().get(0).key());
+ Assertions.assertEquals(1, thrown.getErrors().size());
+ Assertions.assertEquals("a", thrown.getErrors().get(0).key());
EasyMock.verify(s3Client);
}
@@ -403,12 +403,12 @@ public class S3UtilsTest
ObjectIdentifier.builder().key("a").build(),
ObjectIdentifier.builder().key("b").build()
);
- S3MultiObjectDeleteException thrown = Assert.assertThrows(
+ S3MultiObjectDeleteException thrown = Assertions.assertThrows(
S3MultiObjectDeleteException.class,
() -> S3Utils.deleteBucketKeys(s3Client, "bucket", keys, 1)
);
- Assert.assertEquals(1, thrown.getErrors().size());
- Assert.assertEquals("b", thrown.getErrors().get(0).key());
+ Assertions.assertEquals(1, thrown.getErrors().size());
+ Assertions.assertEquals("b", thrown.getErrors().get(0).key());
EasyMock.verify(s3Client);
}
@@ -429,7 +429,7 @@ public class S3UtilsTest
},
maxRetries
);
- Assert.assertEquals(maxRetries, count.get());
+ Assertions.assertEquals(maxRetries, count.get());
}
private static final ObjectMapper JSON = new ObjectMapper();
@@ -442,31 +442,31 @@ public class S3UtilsTest
@Test
public void testUseHttpsNullClientConfigSchemelessEndpointReturnsTrue()
throws IOException
{
- Assert.assertTrue(S3Utils.useHttps(null,
endpointWith("{\"url\":\"s3.example.com\"}")));
+ Assertions.assertTrue(S3Utils.useHttps(null,
endpointWith("{\"url\":\"s3.example.com\"}")));
}
@Test
public void testUseHttpsNullClientConfigHttpEndpointReturnsFalse() throws
IOException
{
- Assert.assertFalse(S3Utils.useHttps(null,
endpointWith("{\"url\":\"http://s3.example.com\"}")));
+ Assertions.assertFalse(S3Utils.useHttps(null,
endpointWith("{\"url\":\"http://s3.example.com\"}")));
}
@Test
public void testUseHttpsNullClientConfigHttpsEndpointReturnsTrue() throws
IOException
{
- Assert.assertTrue(S3Utils.useHttps(null,
endpointWith("{\"url\":\"https://s3.example.com\"}")));
+ Assertions.assertTrue(S3Utils.useHttps(null,
endpointWith("{\"url\":\"https://s3.example.com\"}")));
}
@Test
public void testUseHttpsNullClientConfigNullEndpointUrlReturnsTrue() throws
IOException
{
- Assert.assertTrue(S3Utils.useHttps(null, new AWSEndpointConfig()));
+ Assertions.assertTrue(S3Utils.useHttps(null, new AWSEndpointConfig()));
}
@Test
public void testUseHttpsDefaultClientConfigSchemelessEndpointReturnsTrue()
throws IOException
{
// Sanity check: default AWSClientConfig protocol is "https"; schemeless
URL inherits "https".
- Assert.assertTrue(S3Utils.useHttps(new AWSClientConfig(),
endpointWith("{\"url\":\"s3.example.com\"}")));
+ Assertions.assertTrue(S3Utils.useHttps(new AWSClientConfig(),
endpointWith("{\"url\":\"s3.example.com\"}")));
}
}
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/ServerSideEncryptingAmazonS3Test.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/ServerSideEncryptingAmazonS3Test.java
index 0337b50580a..acc93a159df 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/ServerSideEncryptingAmazonS3Test.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/ServerSideEncryptingAmazonS3Test.java
@@ -21,11 +21,10 @@ package org.apache.druid.storage.s3;
import org.easymock.Capture;
import org.easymock.EasyMock;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
import software.amazon.awssdk.core.sync.RequestBody;
import software.amazon.awssdk.services.s3.S3AsyncClient;
import software.amazon.awssdk.services.s3.S3Client;
@@ -46,14 +45,15 @@ import java.util.concurrent.CompletableFuture;
public class ServerSideEncryptingAmazonS3Test
{
- @Rule
- public TemporaryFolder temporaryFolder = new TemporaryFolder();
+ @TempDir
+ public File temporaryFolder;
private S3Client mockS3Client;
private ServerSideEncryption mockServerSideEncryption;
private S3TransferConfig mockTransferConfig;
- @Before
+
+ @BeforeEach
public void setup()
{
mockS3Client = EasyMock.createMock(S3Client.class);
@@ -80,15 +80,15 @@ public class ServerSideEncryptingAmazonS3Test
transferManagerField.setAccessible(true);
Object transferManager = transferManagerField.get(s3);
- Assert.assertNull("TransferManager should be null when no async client
provided", transferManager);
- Assert.assertNotNull(s3);
- Assert.assertEquals(mockS3Client, s3.getS3Client());
+ Assertions.assertNull(transferManager, "TransferManager should be null
when no async client provided");
+ Assertions.assertNotNull(s3);
+ Assertions.assertEquals(mockS3Client, s3.getS3Client());
}
@Test
public void testUpload() throws IOException
{
- File testFile = temporaryFolder.newFile("test-upload.txt");
+ File testFile = File.createTempFile("test-upload", ".txt",
temporaryFolder);
PutObjectResponse mockResponse = PutObjectResponse.builder().build();
@@ -121,7 +121,7 @@ public class ServerSideEncryptingAmazonS3Test
@Test
public void testUpload_WithGrantFullControlHeaderFormatted() throws
IOException
{
- final File testFile = temporaryFolder.newFile("test-upload-acl.txt");
+ final File testFile = File.createTempFile("test-upload-acl", ".txt",
temporaryFolder);
PutObjectResponse mockResponse = PutObjectResponse.builder().build();
// Set up transfer config to return false for useTransferManager
@@ -149,7 +149,7 @@ public class ServerSideEncryptingAmazonS3Test
);
s3.upload("bucket", "key", testFile, grant);
- Assert.assertEquals("id=\"canonical-id\"",
requestCapture.getValue().grantFullControl());
+ Assertions.assertEquals("id=\"canonical-id\"",
requestCapture.getValue().grantFullControl());
EasyMock.verify(mockServerSideEncryption);
EasyMock.verify(mockS3Client);
}
@@ -157,7 +157,7 @@ public class ServerSideEncryptingAmazonS3Test
@Test
public void testPutObjectWithFile() throws IOException
{
- File testFile = temporaryFolder.newFile("test-put-object.txt");
+ File testFile = File.createTempFile("test-put-object", ".txt",
temporaryFolder);
PutObjectResponse mockResponse = PutObjectResponse.builder().build();
@@ -182,7 +182,7 @@ public class ServerSideEncryptingAmazonS3Test
);
PutObjectResponse response = s3.putObject("bucket", "key", testFile);
- Assert.assertNotNull(response);
+ Assertions.assertNotNull(response);
EasyMock.verify(mockServerSideEncryption);
EasyMock.verify(mockS3Client);
}
@@ -208,8 +208,11 @@ public class ServerSideEncryptingAmazonS3Test
transferManagerField.setAccessible(true);
Object transferManager = transferManagerField.get(s3);
- Assert.assertNotNull("TransferManager should be created when async client
is provided", transferManager);
- Assert.assertTrue("TransferManager should be S3TransferManager instance",
transferManager instanceof S3TransferManager);
+ Assertions.assertNotNull(transferManager, "TransferManager should be
created when async client is provided");
+ Assertions.assertTrue(
+ transferManager instanceof S3TransferManager,
+ "TransferManager should be S3TransferManager instance"
+ );
}
@Test
@@ -233,14 +236,12 @@ public class ServerSideEncryptingAmazonS3Test
transferManagerField.setAccessible(true);
Object transferManager = transferManagerField.get(s3);
- Assert.assertNull("TransferManager should be null when disabled",
transferManager);
+ Assertions.assertNull(transferManager, "TransferManager should be null
when disabled");
}
@Test
- public void testBuilder() throws IOException
+ public void testBuilder()
{
- File testFile = temporaryFolder.newFile("test-builder.txt");
-
S3Client builtClient = EasyMock.createMock(S3Client.class);
EasyMock.replay(builtClient);
@@ -250,8 +251,8 @@ public class ServerSideEncryptingAmazonS3Test
ServerSideEncryptingAmazonS3 s3 = builder.build();
- Assert.assertNotNull(s3);
- Assert.assertEquals(builtClient, s3.getS3Client());
+ Assertions.assertNotNull(s3);
+ Assertions.assertEquals(builtClient, s3.getS3Client());
}
@Test
@@ -273,21 +274,21 @@ public class ServerSideEncryptingAmazonS3Test
ServerSideEncryptingAmazonS3 s3 = builder.build();
- Assert.assertNotNull(s3);
- Assert.assertEquals(builtClient, s3.getS3Client());
+ Assertions.assertNotNull(s3);
+ Assertions.assertEquals(builtClient, s3.getS3Client());
// Verify transfer manager was created
Field transferManagerField =
ServerSideEncryptingAmazonS3.class.getDeclaredField("transferManager");
transferManagerField.setAccessible(true);
Object transferManager = transferManagerField.get(s3);
- Assert.assertNotNull("TransferManager should be created with async
client", transferManager);
+ Assertions.assertNotNull(transferManager, "TransferManager should be
created with async client");
}
@Test
public void testUpload_UsesTransferManagerWhenAvailable() throws
IOException, NoSuchFieldException, IllegalAccessException
{
- File testFile = temporaryFolder.newFile("test-async-upload.txt");
+ File testFile = File.createTempFile("test-async-upload", ".txt",
temporaryFolder);
// Set up transfer config to return true for useTransferManager
EasyMock.expect(mockTransferConfig.isUseTransferManager()).andReturn(true).anyTimes();
@@ -343,15 +344,15 @@ public class ServerSideEncryptingAmazonS3Test
// Verify the upload request has correct bucket and key
UploadFileRequest capturedRequest = uploadRequestCapture.getValue();
- Assert.assertEquals("test-bucket",
capturedRequest.putObjectRequest().bucket());
- Assert.assertEquals("test-key", capturedRequest.putObjectRequest().key());
- Assert.assertEquals(testFile.toPath(), capturedRequest.source());
+ Assertions.assertEquals("test-bucket",
capturedRequest.putObjectRequest().bucket());
+ Assertions.assertEquals("test-key",
capturedRequest.putObjectRequest().key());
+ Assertions.assertEquals(testFile.toPath(), capturedRequest.source());
}
@Test
public void testUpload_UsesTransferManagerWithAclGrant() throws IOException,
NoSuchFieldException, IllegalAccessException
{
- File testFile = temporaryFolder.newFile("test-async-upload-acl.txt");
+ File testFile = File.createTempFile("test-async-upload-acl", ".txt",
temporaryFolder);
// Set up transfer config
EasyMock.expect(mockTransferConfig.isUseTransferManager()).andReturn(true).anyTimes();
@@ -403,6 +404,6 @@ public class ServerSideEncryptingAmazonS3Test
// Verify the ACL grant was applied
UploadFileRequest capturedRequest = uploadRequestCapture.getValue();
- Assert.assertEquals("id=\"test-canonical-id\"",
capturedRequest.putObjectRequest().grantFullControl());
+ Assertions.assertEquals("id=\"test-canonical-id\"",
capturedRequest.putObjectRequest().grantFullControl());
}
}
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/TestAWSCredentialsProvider.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/TestAWSCredentialsProvider.java
index e8f64cb6a10..cc362f6ba8d 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/TestAWSCredentialsProvider.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/TestAWSCredentialsProvider.java
@@ -27,10 +27,9 @@ import org.apache.druid.common.aws.AWSModule;
import org.apache.druid.common.aws.AWSProxyConfig;
import org.apache.druid.metadata.DefaultPasswordProvider;
import org.easymock.EasyMock;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
import software.amazon.awssdk.auth.credentials.AwsCredentials;
import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider;
import software.amazon.awssdk.auth.credentials.AwsSessionCredentials;
@@ -42,8 +41,8 @@ import java.nio.charset.StandardCharsets;
public class TestAWSCredentialsProvider
{
- @Rule
- public TemporaryFolder folder = new TemporaryFolder();
+ @TempDir
+ public File folder;
private final AWSModule awsModule = new AWSModule();
private final S3StorageDruidModule s3Module = new S3StorageDruidModule();
@@ -58,8 +57,8 @@ public class TestAWSCredentialsProvider
AwsCredentialsProvider provider =
awsModule.getAWSCredentialsProvider(config);
AwsCredentials credentials = provider.resolveCredentials();
- Assert.assertEquals("accessKeySample", credentials.accessKeyId());
- Assert.assertEquals("secretKeySample", credentials.secretAccessKey());
+ Assertions.assertEquals("accessKeySample", credentials.accessKeyId());
+ Assertions.assertEquals("secretKeySample", credentials.secretAccessKey());
// try to create
ServerSideEncryptingAmazonS3.Builder amazonS3ClientBuilder =
s3Module.getServerSideEncryptingAmazonS3Builder(
@@ -81,7 +80,7 @@ public class TestAWSCredentialsProvider
AWSCredentialsConfig config =
EasyMock.createMock(AWSCredentialsConfig.class);
EasyMock.expect(config.getAccessKey()).andReturn(new
DefaultPasswordProvider(""));
EasyMock.expect(config.getSecretKey()).andReturn(new
DefaultPasswordProvider(""));
- File file = folder.newFile();
+ File file = File.createTempFile("credentials", ".properties", folder);
try (BufferedWriter out = Files.newWriter(file, StandardCharsets.UTF_8)) {
out.write("sessionToken=sessionTokenSample\nsecretKey=secretKeySample\naccessKey=accessKeySample\n");
}
@@ -90,11 +89,11 @@ public class TestAWSCredentialsProvider
AwsCredentialsProvider provider =
awsModule.getAWSCredentialsProvider(config);
AwsCredentials credentials = provider.resolveCredentials();
- Assert.assertTrue(credentials instanceof AwsSessionCredentials);
+ Assertions.assertTrue(credentials instanceof AwsSessionCredentials);
AwsSessionCredentials sessionCredentials = (AwsSessionCredentials)
credentials;
- Assert.assertEquals("accessKeySample", sessionCredentials.accessKeyId());
- Assert.assertEquals("secretKeySample",
sessionCredentials.secretAccessKey());
- Assert.assertEquals("sessionTokenSample",
sessionCredentials.sessionToken());
+ Assertions.assertEquals("accessKeySample",
sessionCredentials.accessKeyId());
+ Assertions.assertEquals("secretKeySample",
sessionCredentials.secretAccessKey());
+ Assertions.assertEquals("sessionTokenSample",
sessionCredentials.sessionToken());
// try to create
ServerSideEncryptingAmazonS3.Builder amazonS3ClientBuilder =
s3Module.getServerSideEncryptingAmazonS3Builder(
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/TestFileSessionCredentialsProvider.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/TestFileSessionCredentialsProvider.java
index 00ee8038f4e..da8b3f02a86 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/TestFileSessionCredentialsProvider.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/TestFileSessionCredentialsProvider.java
@@ -21,10 +21,9 @@ package org.apache.druid.storage.s3;
import com.google.common.io.Files;
import org.apache.druid.common.aws.FileSessionCredentialsProvider;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
import software.amazon.awssdk.auth.credentials.AwsCredentials;
import software.amazon.awssdk.auth.credentials.AwsSessionCredentials;
@@ -35,23 +34,26 @@ import java.nio.charset.StandardCharsets;
public class TestFileSessionCredentialsProvider
{
- @Rule
- public TemporaryFolder folder = new TemporaryFolder();
+ @TempDir
+ public File folder;
@Test
public void test() throws IOException
{
- File file = folder.newFile();
+ File file = File.createTempFile("credentials", ".properties", folder);
try (BufferedWriter out = Files.newWriter(file, StandardCharsets.UTF_8)) {
out.write("sessionToken=sessionTokenSample\nsecretKey=secretKeySample\naccessKey=accessKeySample\n");
}
FileSessionCredentialsProvider provider = new
FileSessionCredentialsProvider(file.getAbsolutePath());
AwsCredentials credentials = provider.resolveCredentials();
- Assert.assertTrue("Credentials should be session credentials", credentials
instanceof AwsSessionCredentials);
+ Assertions.assertTrue(
+ credentials instanceof AwsSessionCredentials,
+ "Credentials should be session credentials"
+ );
AwsSessionCredentials sessionCredentials = (AwsSessionCredentials)
credentials;
- Assert.assertEquals("sessionTokenSample",
sessionCredentials.sessionToken());
- Assert.assertEquals("accessKeySample", sessionCredentials.accessKeyId());
- Assert.assertEquals("secretKeySample",
sessionCredentials.secretAccessKey());
+ Assertions.assertEquals("sessionTokenSample",
sessionCredentials.sessionToken());
+ Assertions.assertEquals("accessKeySample",
sessionCredentials.accessKeyId());
+ Assertions.assertEquals("secretKeySample",
sessionCredentials.secretAccessKey());
}
}
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/RetryableS3OutputStreamTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/RetryableS3OutputStreamTest.java
index 170401acd6e..07274757f09 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/RetryableS3OutputStreamTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/RetryableS3OutputStreamTest.java
@@ -19,6 +19,7 @@
package org.apache.druid.storage.s3.output;
+import org.apache.druid.java.util.common.FileUtils;
import org.apache.druid.java.util.common.HumanReadableBytes;
import org.apache.druid.java.util.common.IOE;
import org.apache.druid.java.util.common.StringUtils;
@@ -28,12 +29,10 @@ import org.apache.druid.storage.s3.NoopServerSideEncryption;
import org.apache.druid.storage.s3.S3TransferConfig;
import org.apache.druid.storage.s3.ServerSideEncryptingAmazonS3;
import org.easymock.EasyMock;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
import software.amazon.awssdk.core.exception.SdkClientException;
import software.amazon.awssdk.core.sync.RequestBody;
import software.amazon.awssdk.services.s3.S3Client;
@@ -57,11 +56,8 @@ import java.util.stream.Collectors;
public class RetryableS3OutputStreamTest
{
- @Rule
- public TemporaryFolder temporaryFolder = new TemporaryFolder();
-
- @Rule
- public ExpectedException expectedException = ExpectedException.none();
+ @TempDir
+ public File temporaryFolder;
private final TestAmazonS3 s3 = new TestAmazonS3(0);
private final String path = "resultId";
@@ -71,10 +67,11 @@ public class RetryableS3OutputStreamTest
private S3UploadManager s3UploadManager;
- @Before
+
+ @BeforeEach
public void setup() throws IOException
{
- final File tempDir = temporaryFolder.newFolder();
+ final File tempDir =
FileUtils.createTempDirInLocation(temporaryFolder.toPath(), "s3output");
chunkSize = 10L;
config = new S3OutputConfig(
"TEST",
@@ -125,7 +122,7 @@ public class RetryableS3OutputStreamTest
}
}
// each chunk is 10 bytes, so there should be 10 chunks.
- Assert.assertEquals(10, s3.partRequests.size());
+ Assertions.assertEquals(10, s3.partRequests.size());
s3.assertCompleted(chunkSize, Integer.BYTES * 25);
}
@@ -143,7 +140,7 @@ public class RetryableS3OutputStreamTest
out.write(bb.array());
}
// each chunk 10 bytes, so there should be 2 chunks.
- Assert.assertEquals(2, s3.partRequests.size());
+ Assertions.assertEquals(2, s3.partRequests.size());
s3.assertCompleted(chunkSize, Integer.BYTES * 3);
}
@@ -158,7 +155,7 @@ public class RetryableS3OutputStreamTest
}
}
// each chunk 128 bytes, so there should be 5 chunks.
- Assert.assertEquals(5, s3.partRequests.size());
+ Assertions.assertEquals(5, s3.partRequests.size());
s3.assertCompleted(chunkSize, 600);
}
@@ -174,7 +171,7 @@ public class RetryableS3OutputStreamTest
}
}
// each chunk 128 bytes, so there should be 5 chunks.
- Assert.assertEquals(5, s3.partRequests.size());
+ Assertions.assertEquals(5, s3.partRequests.size());
s3.assertCompleted(chunkSize, fileSize);
}
@@ -194,7 +191,7 @@ public class RetryableS3OutputStreamTest
}
}
// each chunk is 10 bytes, so there should be 10 chunks.
- Assert.assertEquals(10, s3.partRequests.size());
+ Assertions.assertEquals(10, s3.partRequests.size());
s3.assertCompleted(chunkSize, Integer.BYTES * 25);
}
@@ -278,33 +275,33 @@ public class RetryableS3OutputStreamTest
private void assertCompleted(long chunkSize, long expectedFileSize)
{
- Assert.assertNotNull(completeRequest);
- Assert.assertFalse(cancelled);
+ Assertions.assertNotNull(completeRequest);
+ Assertions.assertFalse(cancelled);
Set<Integer> partNumbersFromRequest =
partRequests.stream().map(UploadPartRequest::partNumber).collect(Collectors.toSet());
- Assert.assertEquals(partRequests.size(), partNumbersFromRequest.size());
+ Assertions.assertEquals(partRequests.size(),
partNumbersFromRequest.size());
// Verify sizes of uploaded chunks
int numSmallerChunks = 0;
for (UploadPartRequest part : partRequests) {
- Assert.assertTrue(part.contentLength() <= chunkSize);
+ Assertions.assertTrue(part.contentLength() <= chunkSize);
if (part.contentLength() < chunkSize) {
++numSmallerChunks;
}
}
- Assert.assertTrue(numSmallerChunks <= 1);
+ Assertions.assertTrue(numSmallerChunks <= 1);
final List<CompletedPart> completedParts =
completeRequest.multipartUpload().parts();
- Assert.assertEquals(partRequests.size(), completedParts.size());
- Assert.assertEquals(
+ Assertions.assertEquals(partRequests.size(), completedParts.size());
+ Assertions.assertEquals(
partNumbersFromRequest,
completedParts.stream().map(CompletedPart::partNumber).collect(Collectors.toSet())
);
- Assert.assertEquals(
+ Assertions.assertEquals(
partNumbersFromRequest.stream().map(partNumber -> "etag-" +
partNumber).collect(Collectors.toSet()),
completedParts.stream().map(CompletedPart::eTag).collect(Collectors.toSet())
);
- Assert.assertEquals(
+ Assertions.assertEquals(
expectedFileSize,
partRequests.stream().mapToLong(UploadPartRequest::contentLength).sum()
);
@@ -312,8 +309,8 @@ public class RetryableS3OutputStreamTest
private void assertCancelled()
{
- Assert.assertTrue(cancelled);
- Assert.assertNull(completeRequest);
+ Assertions.assertTrue(cancelled);
+ Assertions.assertNull(completeRequest);
}
}
}
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3ExportStorageProviderTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3ExportStorageProviderTest.java
index 9cb311cec8a..053c99924d0 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3ExportStorageProviderTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3ExportStorageProviderTest.java
@@ -21,8 +21,8 @@ package org.apache.druid.storage.s3.output;
import com.google.common.collect.ImmutableList;
import org.apache.druid.error.DruidException;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
import java.util.List;
@@ -44,15 +44,15 @@ public class S3ExportStorageProviderTest
S3ExportStorageProvider.validateS3Prefix(ImmutableList.of("s3://bucket-name"),
"bucket-name", "validPath");
S3ExportStorageProvider.validateS3Prefix(validPrefixes, "bucket-name",
"validPath1/../validPath2/");
- Assert.assertThrows(
+ Assertions.assertThrows(
DruidException.class,
() -> S3ExportStorageProvider.validateS3Prefix(validPrefixes,
"incorrect-bucket", "validPath1/")
);
- Assert.assertThrows(
+ Assertions.assertThrows(
DruidException.class,
() -> S3ExportStorageProvider.validateS3Prefix(validPrefixes,
"bucket-name", "invalidPath1")
);
- Assert.assertThrows(
+ Assertions.assertThrows(
DruidException.class,
() -> S3ExportStorageProvider.validateS3Prefix(validPrefixes,
"bucket-name", "validPath123")
);
@@ -61,7 +61,7 @@ public class S3ExportStorageProviderTest
@Test
public void testExportManifestFilePath()
{
- Assert.assertEquals(
+ Assertions.assertEquals(
"s3://export-bucket/export/table/file1",
new S3ExportStorageProvider("export-bucket", "export/table", null,
null).getFilePathForManifest("file1")
);
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3OutputConfigTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3OutputConfigTest.java
index 94d879a2afb..de62e88d475 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3OutputConfigTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3OutputConfigTest.java
@@ -19,20 +19,19 @@
package org.apache.druid.storage.s3.output;
+import org.apache.druid.java.util.common.FileUtils;
import org.apache.druid.java.util.common.HumanReadableBytes;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
import java.io.IOException;
+import java.nio.file.Path;
public class S3OutputConfigTest
{
- @Rule
- public TemporaryFolder temporaryFolder = new TemporaryFolder();
- @Rule
- public ExpectedException expectedException = ExpectedException.none();
+ @TempDir
+ public Path temporaryFolder;
private static String BUCKET = "BUCKET";
private static String PREFIX = "PREFIX";
private static int MAX_RETRY_COUNT = 0;
@@ -42,17 +41,17 @@ public class S3OutputConfigTest
{
long chunkSize = S3OutputConfig.S3_MULTIPART_UPLOAD_MAX_PART_SIZE_BYTES +
1;
- expectedException.expect(IllegalArgumentException.class);
- expectedException.expectMessage(
- "chunkSize[5368709121] should be >= "
- );
- new S3OutputConfig(
- BUCKET,
- PREFIX,
- temporaryFolder.newFolder(),
- HumanReadableBytes.valueOf(chunkSize),
- MAX_RETRY_COUNT,
- true
+ final IllegalArgumentException exception = Assertions.assertThrows(
+ IllegalArgumentException.class,
+ () -> new S3OutputConfig(
+ BUCKET,
+ PREFIX,
+ FileUtils.createTempDirInLocation(temporaryFolder, "s3output"),
+ HumanReadableBytes.valueOf(chunkSize),
+ MAX_RETRY_COUNT,
+ true
+ )
);
+
Assertions.assertTrue(exception.getMessage().contains("chunkSize[5368709121]
should be >= "));
}
}
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3OutputSerdeTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3OutputSerdeTest.java
index 3e247653713..7075dc64515 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3OutputSerdeTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3OutputSerdeTest.java
@@ -26,10 +26,8 @@ import
com.fasterxml.jackson.databind.exc.MismatchedInputException;
import com.fasterxml.jackson.databind.exc.ValueInstantiationException;
import org.apache.druid.java.util.common.HumanReadableBytes;
import org.apache.druid.java.util.common.StringUtils;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
import java.io.File;
import java.io.IOException;
@@ -38,10 +36,6 @@ public class S3OutputSerdeTest
{
private static final ObjectMapper MAPPER = new ObjectMapper();
- @Rule
- public ExpectedException expectedException = ExpectedException.none();
-
-
@Test
public void sanity() throws IOException
{
@@ -61,12 +55,12 @@ public class S3OutputSerdeTest
2
);
- Assert.assertEquals(
+ Assertions.assertEquals(
json,
MAPPER.writeValueAsString(s3OutputConfig)
);
- Assert.assertEquals(s3OutputConfig, MAPPER.readValue(json,
S3OutputConfig.class));
+ Assertions.assertEquals(s3OutputConfig, MAPPER.readValue(json,
S3OutputConfig.class));
}
@Test
@@ -78,9 +72,11 @@ public class S3OutputSerdeTest
+ " \"chunkSize\":104857600,\n"
+ " \"maxRetry\": 2\n"
+ "}\n");
- expectedException.expect(MismatchedInputException.class);
- expectedException.expectMessage("Missing required creator property
'prefix'");
- MAPPER.readValue(json, S3OutputConfig.class);
+ final MismatchedInputException exception = Assertions.assertThrows(
+ MismatchedInputException.class,
+ () -> MAPPER.readValue(json, S3OutputConfig.class)
+ );
+ Assertions.assertTrue(exception.getMessage().contains("Missing required
creator property 'prefix'"));
}
@Test
@@ -92,9 +88,11 @@ public class S3OutputSerdeTest
+ " \"chunkSize\":104857600,\n"
+ " \"maxRetry\": 2\n"
+ "}\n");
- expectedException.expect(MismatchedInputException.class);
- expectedException.expectMessage("Missing required creator property
'bucket'");
- MAPPER.readValue(json, S3OutputConfig.class);
+ final MismatchedInputException exception = Assertions.assertThrows(
+ MismatchedInputException.class,
+ () -> MAPPER.readValue(json, S3OutputConfig.class)
+ );
+ Assertions.assertTrue(exception.getMessage().contains("Missing required
creator property 'bucket'"));
}
@Test
@@ -113,7 +111,7 @@ public class S3OutputSerdeTest
null,
null
);
- Assert.assertEquals(s3OutputConfig, MAPPER.readValue(json,
S3OutputConfig.class));
+ Assertions.assertEquals(s3OutputConfig, MAPPER.readValue(json,
S3OutputConfig.class));
}
@@ -128,9 +126,11 @@ public class S3OutputSerdeTest
+ " \"chunkSize\":104,\n"
+ " \"maxRetry\": 2\n"
+ "}\n");
- expectedException.expect(ValueInstantiationException.class);
- expectedException.expectMessage("chunkSize[104] should be >=");
- MAPPER.readValue(json, S3OutputConfig.class);
+ final ValueInstantiationException exception = Assertions.assertThrows(
+ ValueInstantiationException.class,
+ () -> MAPPER.readValue(json, S3OutputConfig.class)
+ );
+ Assertions.assertTrue(exception.getMessage().contains("chunkSize[104]
should be >="));
}
private static String jsonStringReadyForAssert(String input)
diff --git
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3UploadManagerTest.java
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3UploadManagerTest.java
index 0a0fece4dbc..e39f26b4331 100644
---
a/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3UploadManagerTest.java
+++
b/extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3UploadManagerTest.java
@@ -19,6 +19,7 @@
package org.apache.druid.storage.s3.output;
+import org.apache.druid.java.util.common.FileUtils;
import org.apache.druid.java.util.common.HumanReadableBytes;
import org.apache.druid.java.util.metrics.StubServiceEmitter;
import org.apache.druid.query.DruidProcessingConfigTest;
@@ -26,12 +27,11 @@ import
org.apache.druid.storage.s3.ServerSideEncryptingAmazonS3;
import org.apache.druid.utils.RuntimeInfo;
import org.easymock.Capture;
import org.easymock.EasyMock;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
import software.amazon.awssdk.core.sync.RequestBody;
import software.amazon.awssdk.services.s3.model.UploadPartRequest;
import software.amazon.awssdk.services.s3.model.UploadPartResponse;
@@ -41,22 +41,23 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.util.concurrent.Future;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
public class S3UploadManagerTest
{
- @Rule
- public TemporaryFolder temporaryFolder = new TemporaryFolder();
+ @TempDir
+ public File temporaryFolder;
private S3UploadManager s3UploadManager;
private S3OutputConfig s3OutputConfig;
private S3ExportConfig s3ExportConfig;
private StubServiceEmitter serviceEmitter;
- @Before
+
+ @BeforeEach
public void setUp() throws IOException
{
- File tempDir = temporaryFolder.newFolder("s3output");
+ File tempDir = FileUtils.createTempDirInLocation(temporaryFolder.toPath(),
"s3output");
s3OutputConfig = new S3OutputConfig("bucket", "prefix", tempDir, new
HumanReadableBytes("100MiB"), 1);
s3ExportConfig = new S3ExportConfig("tempDir", new
HumanReadableBytes("200MiB"), 1, null);
serviceEmitter = new StubServiceEmitter();
@@ -70,7 +71,7 @@ public class S3UploadManagerTest
ServerSideEncryptingAmazonS3 s3Client =
EasyMock.mock(ServerSideEncryptingAmazonS3.class);
// Create a real temp file with actual content
- File chunkFile = temporaryFolder.newFile("chunk-test.tmp");
+ File chunkFile = File.createTempFile("chunk-test", ".tmp",
temporaryFolder);
try (FileOutputStream fos = new FileOutputStream(chunkFile)) {
fos.write(new byte[1024]);
}
@@ -87,8 +88,8 @@ public class S3UploadManagerTest
Future<UploadPartResponse> result =
s3UploadManager.queueChunkForUpload(s3Client, "test-key", chunkId, chunkFile,
"upload-id", s3OutputConfig);
UploadPartResponse futureResult = result.get();
- Assert.assertNotNull(futureResult);
- Assert.assertEquals("etag", futureResult.eTag());
+ Assertions.assertNotNull(futureResult);
+ Assertions.assertEquals("etag", futureResult.eTag());
serviceEmitter.verifyEmitted("s3/upload/part/queuedTime", 1);
serviceEmitter.verifyEmitted("s3/upload/part/queueSize", 1);
@@ -135,7 +136,7 @@ public class S3UploadManagerTest
ServerSideEncryptingAmazonS3 s3Client =
EasyMock.mock(ServerSideEncryptingAmazonS3.class);
// Create a real temp file with actual content
- File chunkFile = temporaryFolder.newFile("upload-part-test.tmp");
+ File chunkFile = File.createTempFile("upload-part-test", ".tmp",
temporaryFolder);
try (FileOutputStream fos = new FileOutputStream(chunkFile)) {
fos.write(new byte[1024]);
}
@@ -158,7 +159,8 @@ public class S3UploadManagerTest
assertEquals(uploadPartResponse, result);
}
- @After
+
+ @AfterEach
public void teardown()
{
s3UploadManager.stop();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]