The GitHub Actions job "Required Checks" on texera.git/gh-readonly-queue/main/pr-5923-e55d1abb07125d6fee698821818cc7785f7c3120 has failed. Run started by GitHub user aglinxinyuan (triggered by aglinxinyuan).
Head commit for run: 0edb26b840628f022ce669cc9641c4449868f92b / Xinyuan Lin <[email protected]> test(workflow-operator): add unit test coverage for SQL source descriptors (MySQL, PostgreSQL, AsterixDB) (#5923) ### What changes were proposed in this PR? Pin behavior of three previously-untested SQL source descriptors in `common/workflow-operator`, plus a one-word grammar fix surfaced by review. | Spec | Source class | Tests | | --- | --- | --- | | `MySQLSourceOpDescSpec` | `MySQLSourceOpDesc` | 5 | | `PostgreSQLSourceOpDescSpec` | `PostgreSQLSourceOpDesc` | 5 | | `AsterixDBSourceOpDescSpec` | `AsterixDBSourceOpDesc` | 5 | **Production fix (`AsterixDBSourceOpDesc`)** Corrected the user-facing `operatorInfo` description grammar: `"Read data from a AsterixDB instance"` → `"Read data from an AsterixDB instance"` (per review — avoids pinning the typo as contract). Assertion updated to match. **Behavior pinned** | Surface | Contract | | --- | --- | | `operatorInfo` | exact name + description; Database Connector group; 0 inputs / 1 output | | field defaults | runtime defaults (host/port/etc. `null`, `limit`/`offset` `None`, `keywordSearch`/`progressive` `Some(false)`, `interval` `0L`); AsterixDB geo/regex/filter toggles default `Some(false)` with empty lists | | `sourceSchema()` | `null` before a connection is configured (IO-free short-circuit) | | `getPhysicalOp` | wires `OpExecWithClassName` for the matching `*OpExec`, no input port / one output port, IO-free (lazy schema closure) | | Round-trip | config fields preserved through the polymorphic `LogicalOp` base. **Credential handling is now explicit:** MySQL/PostgreSQL persist `username`/`password` in plaintext, while AsterixDB drops them via `@JsonIgnoreProperties` — the specs assert both behaviors. | Note: `MySQLSourceOpDesc` is `@deprecated` (no longer executable) but retained so legacy workflows still deserialize; the spec is annotated `@nowarn("cat=deprecation")`. The MySQL/PostgreSQL plaintext-credential persistence (vs AsterixDB dropping them) is a real asymmetry flagged in review; it's now made visible by the tests and tracked as a separate security follow-up rather than changed here (altering it has backward-compat implications for saved workflows). ### Any related issues, documentation, discussions? Part of the ongoing `workflow-operator` unit-test coverage effort. ### How was this PR tested? - `sbt "WorkflowOperator/testOnly *MySQLSourceOpDescSpec *PostgreSQLSourceOpDescSpec *AsterixDBSourceOpDescSpec"` — 15 tests, all green - `sbt "WorkflowOperator/scalafmtCheck"`, `"WorkflowOperator/Test/scalafmtCheck"`, `"WorkflowOperator/scalafixAll --check"` — clean - CI to confirm ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Claude Code (Opus 4.8 [1M context]) Report URL: https://github.com/apache/texera/actions/runs/28127570100 With regards, GitHub Actions via GitBox
