ZYZ666-RGB opened a new pull request, #12764:
URL: https://github.com/apache/seatunnel/pull/12764

   ### Purpose of this pull request
   
   Related to #11007: SQL Server CDC source URL validation.
   
   Require a nonblank `url` with `Conditions.notBlank(URL)`, extend the 
existing factory tests and SQL Server CDC E2E configuration-check test, and 
update the English and Chinese source documentation.
   
   ### Does this PR introduce any user-facing change?
   
   Yes. On current `dev`, an empty or whitespace-only URL passes the factory's 
presence-only validation and fails later. This change rejects it during 
configuration validation, including `--check`.
   
   The existing `base-url` fallback and canonical-key precedence are preserved. 
Nonblank values are validated without trimming. Username/password requirements, 
defaults, startup/stop rules, runtime URL parsing and connection behavior 
remain unchanged.
   
   ### How was this patch tested?
   
   - Before the production change: the factory test ran 25 cases with 13 
expected failures for blank URLs and no execution errors.
   - After the change: all 6 SQL Server CDC unit-test classes passed, **44 
tests, 0 failures, 0 errors, 0 skipped**.
   - Root `./mvnw spotless:apply` passed; the submitted diff passes `git diff 
--check`.
   - The new HOCON E2E fixture was parsed with SeaTunnel's config parser and 
verified to contain an actual whitespace-only URL.
   - SQL Server CDC E2E Java compilation passed for the 70-module reactor using 
`-DskipTests -DskipIT=true -Dskip.ui=true verify`; `skip.ui` bypasses the 
unrelated blocked UI npm build.
   - Root `./mvnw -q -DskipTests verify` was attempted but blocked in the 
existing `seatunnel-engine-ui` npm install by HTTP 403 from 
`registry.npmmirror.com`.
   - Docker E2E execution was not run because this environment has no Docker 
socket. An expanded reactor unit-test run also reached existing JDBC Docker 
tests and was blocked by the same Docker limitation.
   
   Unit-test command:
   
   ```bash
   ./mvnw -pl seatunnel-connectors-v2/connector-cdc/connector-cdc-sqlserver -am 
\
     
-Dtest=SqlServerConnectionTest,SqlServerIncrementalSourceFactoryTest,SqlServerSchemaChangeResolverTest,LsnOffsetTest,SqlServerSourceConfigFactoryTest,SqlServerUtilsTest
 \
     -Dsurefire.failIfNoSpecifiedTests=false -DskipIT=true verify
   ```
   
   The local sandbox required its existing Byte Buddy agent to be loaded at 
test JVM startup through `surefire.jvm.args` because dynamic agent attachment 
is unavailable; repository build configuration was not changed.
   
   ### Check list
   
   - [x] Extend existing unit tests with positive, negative and 
fallback-precedence cases.
   - [x] Add an E2E `--check` regression to the existing SQL Server CDC IT.
   - [x] Update English and Chinese documentation.
   


-- 
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