version: 1
tests:
- name: clean orders pass through
config: pipeline.yaml
input:
- { OrderId: 1, Amount: 9.5 }
- { OrderId: 2, Amount: 12.0 }
expect:
records:
- { order_id: 1, amount: 9.5 }
- { order_id: 2, amount: 12.0 }
- name: null order ids quarantined
config: pipeline.yaml
input:
- { OrderId: 1, Amount: 9.5 }
- { OrderId: null, Amount: 3.0 }
expect:
records: [ { order_id: 1, amount: 9.5 } ]
dlq: [ { order_id: null, amount: 3.0 } ]
dlq_count: 1
- name: string amount breaches the contract
config: pipeline.yaml
input:
- { OrderId: 1, Amount: not-a-number }
expect:
error: "Contract v1.0.0 violated"
records_written: 0
- name: fixture file input
config: pipeline.yaml
input: fixtures/orders.jsonl
expect:
match: subset
unordered: true
records:
- { order_id: 43 }
- { order_id: 42 }
- name: inline transform chain with a pinned clock
pipeline:
transforms:
- type: flatten
config: { separator: "_" }
- type: set
config: { values: { day: "${now.date}" } }
clock: 2026-02-01T00:00:00Z
input:
- { user: { name: Ada } }
expect:
records:
- { user_name: Ada, day: "2026-02-01" }