The GitHub Actions job "Build and push images" on texera.git/main has failed.
Run started by GitHub user bobbai00 (triggered by bobbai00).

Head commit for run:
9de13865a0bda4f93041662f3ff736cdb8724900 / Meng Wang <[email protected]>
test(workflow-execution-service): extend ResultExportService unit test coverage 
(#6902)

### What changes were proposed in this PR?

`ResultExportService` sits at ~6% line coverage: the existing spec only
covers `parseOperators` and `validateExportRequest`, leaving the whole
export-encoding layer untested. The `streamDocumentAs*` writers look
storage-bound but are not — each takes a `VirtualDocument[Tuple]`
parameter, so a small in-spec fake document makes them testable against
a `ByteArrayOutputStream`, with no Iceberg, MinIO or DB.

This extends `ResultExportServiceSpec` with 19 tests that reach the
private writers through `PrivateMethodTester`: `streamDocumentAsCSV`
(both early returns, inferred vs supplied headers, and a document larger
than `Constants.CHUNK_SIZE` to exercise the buffered chunk loop),
`streamCellData` (rowIndex/columnIndex validation messages, an
unretrievable row, and the happy-path bytes), `convertFieldToBytes` (all
three branches), `streamDocumentAsHTML`, `streamDocumentAsParquetZip`
(verbatim copy plus source-stream close, and error propagation),
`streamDocumentAsArrow` (round-trips the tuples back through
`ArrowFileReader`), and `NonClosingOutputStream`.

Two existing behaviors are pinned as-is rather than changed: with
supplied headers the first row is not consumed by header inference, so
it still appears in the body (the asymmetry against the `None` branch),
and `streamDocumentAsHTML` throws `NoSuchElementException` on an empty
document because `.head` is unguarded. `getOperatorDocument`,
`saveToDatasets`, `saveStreamToDataset` and `generateFileName` stay
uncovered — they need `DocumentFactory.openDocument`, a live
file-service endpoint, or embed `LocalDateTime.now()`.

### Any related issues, documentation, discussions?

Closes #6898. Extends the spec added by #6705.

### How was this PR tested?

`sbt "WorkflowExecutionService/testOnly *ResultExportServiceSpec"`
passes with 24 tests (5 existing, 19 new); `Test/scalafmtCheck` and
`Test/scalafix --check` are clean. Verified the failure path by
inverting the supplied-headers assertion and confirming the suite went
red and exited non-zero. Every test runs in-process against an in-spec
fake document, so no external service is involved.

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Fable 5)

Report URL: https://github.com/apache/texera/actions/runs/30233612950

With regards,
GitHub Actions via GitBox

Reply via email to