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

Reply via email to