Files

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

21 lines
1.1 KiB
Gherkin
Raw Permalink Normal View History

@multinode @processor
Feature: Processor pipeline and exactly-once ledger
A shared processed-file ledger with an atomic (identity_hash, policy_id) primary key ensures exactly-once processing when several nodes race the same scheduled policy; depends on the seeded "Compress incoming PDFs" policy.
@slow
Scenario: Files dropped in the source are processed across the cluster when both
nodes trigger the policy at the same instant
Given the multi-node stack is running
And I am logged in as admin
And the processor workspace is clean
When I drop 5 PDF file(s) into the S3 source under "incoming/"
And I trigger the policy "Compress incoming PDFs" on every node simultaneously
Then within 90s every dropped file should be processed across the cluster
Scenario: The ledger's atomic claim enforces exactly-once
Given the multi-node stack is running
Then a duplicate ledger claim for the same file and policy is rejected
# Note: output lands in the source's own bucket so it can be re-ingested; too flaky to assert under consume-mode pruning.