goutamadwant opened a new pull request, #12450:
URL: https://github.com/apache/seatunnel/pull/12450
### Purpose of this pull request
Related to #10753 (WooCommerce source).
Add a read-only orders source for one WooCommerce store and an explicit
creation-time window. It handles HTTPS authentication, pagination, transient
retries and cancellation, and maps selected fields through SeaTunnel's existing
JSON schema conversion.
Pagination inconsistencies, oversized responses and values that do not fit
selected DECIMAL types fail the job rather than silently truncating or rounding
results. English/Chinese documentation describes UTC boundaries, upstream
decimal formatting and recovery behavior.
### Does this PR introduce _any_ user-facing change?
Yes. Previously there was no WooCommerce source. Users can now run bounded
orders exports with `WooCommerce`, BATCH mode and parallelism 1.
- Additive connector; no existing connector configuration changes.
- Parsed configuration logs additionally mask `consumer_key` and
`consumer_secret`; encryption/decryption behavior is unchanged.
- Recovery replays the configured window. This is not CDC, an immutable
snapshot, or an exactly-once source. Both creation-time boundaries are
exclusive.
### How was this patch tested?
- Reproduced missing source discovery before implementation.
- Java 8 and Java 11: 55 connector tests plus actual startup-log masking and
parsed-config factory validation.
- Java 8 and Java 11: 20 core configuration masking/encryption regression
tests.
- Java 8 and Java 11: real HTTPS reader tests against WordPress 6.8.3,
WooCommerce 9.9.5 and MariaDB 11.4.8, with separate CPT and HPOS stores.
Verified non-UTC store behavior, exact boundary exclusion, pagination, nested
fields and decimal amounts.
- Packaged Zeta job passed against the real HTTPS HPOS fixture with a
read-only key and verified TLS.
- Full repository `./mvnw -q -DskipTests verify` passed on Java 8; final
scoped verification covered the subsequent example/test-only corrections. This
is not a Flink/Spark engine matrix or a hosted production-store test.
Run from the repository root with Java 8 or Java 11 selected and Docker
available:
```sh
./mvnw -q -pl
seatunnel-e2e/seatunnel-connector-v2-e2e/connector-woocommerce-e2e -am \
'-Dtest=WooCommerce*Test' -Dsurefire.failIfNoSpecifiedTests=false \
-DskipIT=false -Dit.test=WooCommerceIT \
-DfailIfNoTests=false -Dfailsafe.failIfNoSpecifiedTests=false verify
```
The packaged engine uses its standard Java 8 image; the selected host JDK
applies to reader and unit tests.
### Check list
- [x] Reviewed license/NOTICE requirements; reuses the existing HTTP-base
dependencies.
- [x] Added English/Chinese documentation and changelog.
- [x] Checked incompatibilities; no breaking configuration or encryption
changes.
- [x] Updated plugin mapping, distribution, plugin configuration, module
registration and CI scope; added E2E tests.
--
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]