goutamadwant opened a new pull request, #12433:
URL: https://github.com/apache/seatunnel/pull/12433
### Purpose of this pull request
Relates to #10681. This is one connector slice, not completion of the
umbrella issue.
Neo4j sources currently report connectivity as `SKIPPED` under `--dry-run
connect`. This adds a source-only implementation of the existing
`SupportSourceDryRunValidation` interface.
- Share pure runtime configuration/catalog-table parsing for single-table
and multi-table sources.
- Create a temporary driver from the existing runtime
connection/authentication configuration.
- Call `verifyConnectivityAsync()` without creating a session or executing
configured Cypher.
- Bound verification to at most 15 seconds, retain smaller positive
connection timeouts, and initiate driver cleanup on both success and failure
with a five-second close wait.
- Preserve interruption and omit raw URIs, driver text and secret-bearing
causes from validation errors.
- Update both connector documentation and the central supported-connectors
table in English and Chinese.
No changes to `DryRunConnectValidator`, the shared SPI, or later dry-run
layers.
### Does this PR introduce _any_ user-facing change?
Yes. Previously, `--dry-run connect` skipped Neo4j source connectivity. It
now performs the scoped checks above and fails on connection/authentication
errors instead of reporting the source as skipped. Configured output schemas
are reused without creating a source reader or submitting a job.
Normal source execution, existing option names/defaults and sink behavior
remain unchanged. No new dependencies or breaking changes are introduced.
Scope: This verifies driver connectivity and the authentication performed
during its handshake, not database existence, database/query permissions,
Cypher syntax or result-field/schema compatibility. An invalid query or
nonexistent configured database can pass this connectivity-only check. DNS
resolution remains governed by the JVM.
### How was this patch tested?
- The new factory-capability regression failed on the unchanged baseline.
- 34 connector unit tests, covering schema/runtime parity and adjacent
existing behavior, plus failure sanitization, interruption and resource cleanup.
- Five real-service integration tests in the existing `Neo4jIT`, including
the CLI connect command, authentication failure and multi-table schemas,
unchanged graph data and the database/query-validation boundary.
- Java 8 and Java 11 validation; focused commands below select only this
connector's unit and dry-run integration tests.
- Spotless and whitespace checks.
- Full repository `./mvnw -q -DskipTests verify` passed on Java 11. This
compiles/packages the repository; it is not a claim that all repository tests
ran.
```bash
./mvnw -B \
-pl seatunnel-e2e/seatunnel-connector-v2-e2e/connector-neo4j-e2e -am \
'-Dtest=*Neo4j*Test' -Dsurefire.failIfNoSpecifiedTests=false \
-DskipIT=false '-Dit.test=Neo4jIT#testDryRun*' \
-DfailIfNoTests=false verify
```
The Java 11 run builds the complete selected dependency reactor. Java 8
rebuilds the connector and relevant dependencies and uses the current test
harness with the previously built unrelated engine starters. CLI coverage is
in-process argument parsing and command execution against live containers, not
execution of the packaged shell launcher. Live TLS and the full multi-engine
job matrix were not tested.
### Check list
- [x] No new JAR dependencies or license notices required.
- [x] English and Chinese connector and CLI capability documentation updated.
- [x] No incompatible change; `incompatible-changes.md` update is not
required.
- [x] Existing connector integration tests extended. Plugin mapping,
distribution, CI labels and plugin installation configuration are unchanged
because no connector is added.
--
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]