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]

Reply via email to