zooo-code opened a new pull request, #10435:
URL: https://github.com/apache/seatunnel/pull/10435
### Purpose of this pull request
Add comprehensive Testcontainers-based unit tests for the Oracle JDBC
connector to improve test coverage and enable CI execution.
This PR addresses issue #10212 by introducing Docker-based unit tests that
can run in CI environments without requiring a local Oracle installation.
---
### Does this PR introduce _any_ user-facing change?
No.
This PR only adds unit tests for the Oracle connector. No functional changes
to the connector itself.
---
### How was this patch tested?
#### New Tests Added
- `AbstractOracleContainerTest`: Base class providing Oracle container setup
with ARM64 support
- `OracleCatalogContainerTest`: 9 tests for catalog operations
(database/table management, complex types, primary keys)
- `OracleDialectContainerTest`: 15 tests for Oracle-specific SQL features
(DUAL, ORA_HASH, identifier quoting, data sampling)
#### Test Environment
- Uses `gvenzl/oracle-free:23-slim` Docker image for ARM64 / Apple Silicon
compatibility
- Configured with:
- 1GB shared memory
- 5-minute startup timeout
- Disabled on Windows for CI compatibility
#### Test Results
- Tests run: 570
- Failures: 0
- Errors: 0
- Skipped: 0
All 570 tests in the `connector-jdbc` module pass successfully, including 24
new Oracle tests.
#### Local Testing
```bash
cd seatunnel-connectors-v2/connector-jdbc
mvn test -Dtest=OracleCatalogContainerTest
mvn test -Dtest=OracleDialectContainerTest
```
### Check list
* [ ] If any new Jar binary package adding in your PR, please add License
Notice according [New License
Guide](https://github.com/apache/seatunnel/blob/dev/docs/en/contribution/new-license.md)
* **N/A**: Only test dependencies added (Testcontainers), no new binary
packages.
* [ ] If necessary, please update the documentation to describe the new
feature. https://github.com/apache/seatunnel/tree/dev/docs
* **N/A**: Test-only changes, no user-facing features.
* [ ] If necessary, please update `incompatible-changes.md` to describe the
incompatibility caused by this PR.
* **N/A**: No incompatible changes.
* [ ] If you are contributing the connector code, please check that the
following files are updated:
* **N/A**: Not adding a new connector, only adding tests for existing
Oracle connector.
--
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]