Skip to content

chore: replace MinIO with SeaweedFS in tests [2.41] - #25395

Merged
teleivo merged 2 commits into
2.41from
chore/replace-minio-with-seaweedfs-2.41
Sep 27, 2026
Merged

teleivo merged 2 commits into
2.41from
chore/replace-minio-with-seaweedfs-2.41

Conversation

@netroms

@netroms netroms commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

Backport of #25373 to 2.41.

Summary

  • quay.io/minio/minio now returns 401 on pull, breaking AppManagerMinIOTest and the api-test docker compose on this branch.
  • Replace MinIO with SeaweedFS (chrislusf/seaweedfs:4.47, S3 gateway only) in the test config and e2e compose; drop the testcontainers:minio dependency.
  • Adapted to 2.41: the branch wires S3 storage through MinIOConfiguration/MinIOConfigurationProvider instead of a JUnit extension; they become S3Configuration/S3ConfigurationProvider and start SeaweedFS. AppManagerMinIOTest -> AppManagerS3Test.
  • Also restores maven-surefire-plugin 3.5.6 (was 3.6.0 since chore(deps): bump maven-surefire-plugin.version from 3.5.6 to 3.6.0 in /dhis-2 #25143). With junit:junit on the test classpath, 3.6.0 reads groups/excludedGroups as JUnit 4 categories and ignores our JUnit tags, so unit-test ran every integration test (EventAnalyticsServiceTest timeout) and integration-test/integration-h2-test ran none. 2.42/2.43 are on 3.5.6.

Test plan

  • Java 17: AppManagerS3Test against SeaweedFS, 18 passed, 0 failures/errors/skips
  • e2e compose s3 service reaches healthy; bucket create/put/list with the dhis.conf credentials works on s3:8333
  • CI api-tests
  • CI unit/integration tests (integration-test runs 505 + 3171 tests again)

AI Assisted

Backport of #25373.

quay.io/minio/minio now returns 401 on pull, breaking the S3-backed
integration tests and the e2e compose setup. Use SeaweedFS with only
its S3 gateway enabled instead.

Adapted to 2.41: the branch configures the S3 store through
MinIOConfiguration/MinIOConfigurationProvider rather than a JUnit
extension; they are renamed to S3Configuration/S3ConfigurationProvider
and start a SeaweedFS container.

(cherry picked from commit f642b56)
@netroms

netroms commented Sep 26, 2026

Copy link
Copy Markdown
Contributor Author

The unit-test failure here (EventAnalyticsServiceTest timeout) predates this PR: Surefire 3.6.0 on 2.41 ignores the JUnit tags, so unit-test runs every integration test. Fixed in #25397. With both PRs combined, every check is green: #25398 (run 36258546394).

Surefire 3.6.0 switches groups/excludedGroups to JUnit 4 category filtering when junit:junit is on the test classpath (it comes in transitively via Testcontainers). The JUnit Platform tags are then ignored: the unit-test profile runs every integration test and the integration-test and integration-h2-test profiles run none. 2.42 and 2.43 stay on 3.5.6 for the same reason.
@sonarqubecloud

Copy link
Copy Markdown

@teleivo
teleivo merged commit 3f82e5a into 2.41 Sep 27, 2026
14 checks passed
@teleivo
teleivo deleted the chore/replace-minio-with-seaweedfs-2.41 branch September 27, 2026 07:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants