Skip to main content

Module pipeline_test

Module pipeline_test 

Source
Expand description

faucet test — fixture-based, fully-offline pipeline testing (#210).

A spec file declares test cases: fixture input records, the pipeline logic under test (a config file’s transforms/quality/contract, or the same declared inline), and the expected outcome (output records, DLQ routing, counts, or an expected failure). The runner streams the fixtures through the real faucet_core::Pipeline loop with in-memory source/sink/DLQ, so CI can assert pipeline logic without any external infrastructure.

Module layout mirrors schedule/ and replication/:

  • spec — serde types + validation for the spec file (faucet schema test).
  • fixtures — fixture-input loading (inline / .jsonl / .json / .yaml).
  • runner — the offline execution harness (fixture source, capturing sink + DLQ, the real pipeline pass chain).
  • diff — tolerant matchers (exact/subset, ordered/unordered) and the structured path diff behind failure messages.
  • report — human checklist + --json rendering.

Modules§

diff
Expectation evaluation for faucet test — pure record matching + a structured, path-based diff for failure messages.
fixtures
Fixture-input loading for faucet test.
report
Rendering for faucet test results — the human checklist and the machine-readable --json document.
runner
Offline pipeline execution for faucet test.
spec
Serde types for the faucet test spec file.