rishabhdaim commented on PR #2964: URL: https://github.com/apache/jackrabbit-oak/pull/2964#issuecomment-4750130935
This change is mainly intended to make the `oak-blob-cloud` S3 tests runnable in CI without requiring real AWS credentials, by using S3Mock/Testcontainers. That said, the PR is not test-only. We also had to update a small amount of production S3 code so the same Oak S3 client/presigner paths work correctly with S3-compatible emulator endpoints used by the tests. ## What changed - Added S3Mock/Testcontainers-based support for `oak-blob-cloud` tests - Updated test utilities and selected tests to use emulator-backed config when real S3 credentials are not available - Skipped or adjusted a few tests for known S3Mock incompatibilities - Updated production presigner/client configuration so presigned URLs work correctly with custom S3-compatible endpoints such as S3Mock - Added `pathStyleAccess` support so local emulator endpoints can be addressed correctly - Added timeout-executor wiring in the production S3 client setup, since SDK timeout handling is now part of the runtime path exercised by the emulator-backed tests - Updated related OSGi config documentation ## Why production code changed To keep the tests meaningful, we wanted the emulator-backed tests to go through the same production S3 code paths instead of introducing separate test-only logic. Because of that, a few production-path updates were needed so Oak can work correctly with both: - real AWS S3 - S3-compatible local/mock endpoints used in CI ## Validation Verified targeted utility/configuration coverage locally with: `mvn test -pl oak-blob-cloud` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
