test: migrate third extensions-contrib batch to JUnit 5 - #19916
test: migrate third extensions-contrib batch to JUnit 5#19916FrankChen021 wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
This PR continues the JUnit 4 → JUnit 5 (Jupiter) migration for an independent batch of extensions-contrib modules, updating test sources to Jupiter APIs and cleaning up module-level test dependencies to remove direct JUnit 4 / Hamcrest usage where possible.
Changes:
- Migrates Iceberg, Delta Lake, and Consul extension test suites from JUnit 4 annotations/assertions/runners to JUnit Jupiter equivalents (including parameterized tests).
- Introduces a small Jupiter-based
DeltaAssertionstest helper to replace Hamcrest-basedDruidExceptionMatcherusage in Delta Lake tests. - Updates the affected module POMs to add Jupiter dependencies and remove direct JUnit 4 (and related) test dependencies; Cassandra POM removes unused JUnit test dependency.
Reviewed changes
Copilot reviewed 36 out of 36 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| extensions-contrib/druid-iceberg-extensions/src/test/java/org/apache/druid/iceberg/input/RestCatalogTest.java | Switches lifecycle + assertions to Jupiter. |
| extensions-contrib/druid-iceberg-extensions/src/test/java/org/apache/druid/iceberg/input/ResidualFilterModeTest.java | Migrates assertions/throws to Jupiter. |
| extensions-contrib/druid-iceberg-extensions/src/test/java/org/apache/druid/iceberg/input/LocalCatalogTest.java | Migrates assertions to Jupiter. |
| extensions-contrib/druid-iceberg-extensions/src/test/java/org/apache/druid/iceberg/input/IcebergInputSourceTest.java | Replaces JUnit4 rule/lifecycle/assertions with Jupiter equivalents. |
| extensions-contrib/druid-iceberg-extensions/src/test/java/org/apache/druid/iceberg/input/HiveIcebergCatalogTest.java | Migrates assertions to Jupiter. |
| extensions-contrib/druid-iceberg-extensions/src/test/java/org/apache/druid/iceberg/input/GlueIcebergCatalogTest.java | Migrates assertions to Jupiter. |
| extensions-contrib/druid-iceberg-extensions/src/test/java/org/apache/druid/iceberg/filter/IcebergTimeWindowFilterTest.java | Migrates assertions to Jupiter. |
| extensions-contrib/druid-iceberg-extensions/src/test/java/org/apache/druid/iceberg/filter/IcebergRangeFilterTest.java | Migrates assertions to Jupiter. |
| extensions-contrib/druid-iceberg-extensions/src/test/java/org/apache/druid/iceberg/filter/IcebergOrFilterTest.java | Migrates assertions/throws to Jupiter. |
| extensions-contrib/druid-iceberg-extensions/src/test/java/org/apache/druid/iceberg/filter/IcebergNotFilterTest.java | Migrates assertions to Jupiter. |
| extensions-contrib/druid-iceberg-extensions/src/test/java/org/apache/druid/iceberg/filter/IcebergIntervalFilterTest.java | Migrates assertions to Jupiter. |
| extensions-contrib/druid-iceberg-extensions/src/test/java/org/apache/druid/iceberg/filter/IcebergEqualsFilterTest.java | Migrates assertions to Jupiter. |
| extensions-contrib/druid-iceberg-extensions/src/test/java/org/apache/druid/iceberg/filter/IcebergAndFilterTest.java | Migrates assertions/throws to Jupiter. |
| extensions-contrib/druid-iceberg-extensions/pom.xml | Adds Jupiter deps; removes direct JUnit4 dependency. |
| extensions-contrib/druid-deltalake-extensions/src/test/java/org/apache/druid/delta/input/DeltaTimeUtilsTest.java | Migrates lifecycle/assertions to Jupiter. |
| extensions-contrib/druid-deltalake-extensions/src/test/java/org/apache/druid/delta/input/DeltaInputSourceTest.java | Converts JUnit4 parameterized runner usage to Jupiter parameterized tests + nested structure. |
| extensions-contrib/druid-deltalake-extensions/src/test/java/org/apache/druid/delta/input/DeltaInputSourceSerdeTest.java | Migrates assertions/throws to Jupiter. |
| extensions-contrib/druid-deltalake-extensions/src/test/java/org/apache/druid/delta/input/DeltaInputRowTest.java | Migrates assertions; replaces Hamcrest matcher use with DeltaAssertions. |
| extensions-contrib/druid-deltalake-extensions/src/test/java/org/apache/druid/delta/filter/DeltaOrFilterTest.java | Migrates assertions; replaces Hamcrest matcher use with DeltaAssertions. |
| extensions-contrib/druid-deltalake-extensions/src/test/java/org/apache/druid/delta/filter/DeltaNotFilterTest.java | Migrates assertions; replaces Hamcrest matcher use with DeltaAssertions. |
| extensions-contrib/druid-deltalake-extensions/src/test/java/org/apache/druid/delta/filter/DeltaLessThanOrEqualsFilterTest.java | Migrates assertions; replaces Hamcrest matcher use with DeltaAssertions. |
| extensions-contrib/druid-deltalake-extensions/src/test/java/org/apache/druid/delta/filter/DeltaLessThanFilterTest.java | Migrates assertions to Jupiter. |
| extensions-contrib/druid-deltalake-extensions/src/test/java/org/apache/druid/delta/filter/DeltaGreaterThanOrEqualsFilterTest.java | Migrates assertions to Jupiter. |
| extensions-contrib/druid-deltalake-extensions/src/test/java/org/apache/druid/delta/filter/DeltaGreaterThanFilterTest.java | Migrates assertions to Jupiter. |
| extensions-contrib/druid-deltalake-extensions/src/test/java/org/apache/druid/delta/filter/DeltaEqualsFilterTest.java | Migrates assertions; replaces Hamcrest matcher use with DeltaAssertions. |
| extensions-contrib/druid-deltalake-extensions/src/test/java/org/apache/druid/delta/filter/DeltaAndFilterTest.java | Migrates assertions; replaces Hamcrest matcher use with DeltaAssertions. |
| extensions-contrib/druid-deltalake-extensions/src/test/java/org/apache/druid/delta/DeltaAssertions.java | Adds a small Jupiter-based assertion helper for INVALID_INPUT exceptions. |
| extensions-contrib/druid-deltalake-extensions/pom.xml | Adds Jupiter deps; removes JUnit4/Vintage/migrationsupport and Hamcrest deps. |
| extensions-contrib/consul-extensions/src/test/java/org/apache/druid/consul/discovery/ConsulServiceIdsTest.java | Migrates assertions to Jupiter. |
| extensions-contrib/consul-extensions/src/test/java/org/apache/druid/consul/discovery/ConsulLeaderSelectorTest.java | Migrates lifecycle/assertions to Jupiter. |
| extensions-contrib/consul-extensions/src/test/java/org/apache/druid/consul/discovery/ConsulDruidNodeDiscoveryProviderTest.java | Migrates lifecycle/assertions to Jupiter. |
| extensions-contrib/consul-extensions/src/test/java/org/apache/druid/consul/discovery/ConsulDruidNodeAnnouncerTest.java | Removes JUnit4 runner; migrates lifecycle/assertions to Jupiter. |
| extensions-contrib/consul-extensions/src/test/java/org/apache/druid/consul/discovery/ConsulDiscoveryConfigTest.java | Migrates assertions/expected-exception patterns to Jupiter assertThrows. |
| extensions-contrib/consul-extensions/src/test/java/org/apache/druid/consul/discovery/ConsulClientsSecurityTest.java | Migrates assertions/throws to Jupiter. |
| extensions-contrib/consul-extensions/pom.xml | Adds Jupiter deps; removes direct JUnit4 dependency. |
| extensions-contrib/cassandra-storage/pom.xml | Removes unused JUnit4 test dependency from module POM. |
Suppressed comments (1)
extensions-contrib/druid-deltalake-extensions/src/test/java/org/apache/druid/delta/input/DeltaInputSourceTest.java:191
FilterParameterTestsis a non-static@Nestedinner class, but it declarespublic static Object[][] data(). This is illegal in Java for non-static inner classes and will prevent compilation. Make the method non-static and use a per-class test instance (or move the method to the enclosing class and reference it via@MethodSource).
@Nested
public class FilterParameterTests
{
public static Object[][] data()
{
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
FrankChen021
left a comment
There was a problem hiding this comment.
| Severity | Findings |
|---|---|
| P0 | 0 |
| P1 | 0 |
| P2 | 1 |
| P3 | 0 |
| Total | 1 |
Reviewed 36 of 36 changed files. The migration is otherwise mechanical, but the new Delta assertion helper weakens existing exception-contract coverage.
This is an automated review by Codex GPT-5.6-Luna(max)
Part of #13948.
Summary
This PR migrates an independent
extensions-contribbatch to JUnit 5:druid-iceberg-extensionsdruid-deltalake-extensionsconsul-extensionscassandra-storage(POM cleanup; no test sources)The migrated module POMs remove direct JUnit 4/Hamcrest usage and use Jupiter where tests are present. This batch deliberately does not change the shared SQL/processing test fixtures and does not depend on #19908 or #19915. The modules that require the shared
AggregationTestHelperfixture are owned by #19908 instead.This branch is based directly on
master; it is independent of the other migration PRs.Related migration PRs: #19908, #19915, #19875, #19876, #19877, #19878, #19879, #19880, #19881, and #19882.
Validation
test-compilepassed for all four modules and their reactor dependencies.git diff --checkpassed.