# step: bearer receipts · wai-rs and bearer_verify.py # order: 530 # features: bearer_receipts # paths: wai/extensions/bearer-receipts.md # independent: bearer live needs=cryptography python3 -I live-conformance/bearer_verify.py live-conformance/bearers # independent: bearer-claims live needs=cryptography python3 -I claim-conformance/claim_verify.py bearer live-conformance/bearers/vectors.json # # wai.bearer.receipts (extensions/bearer-receipts.md): the reference module's unit tests # (the bound, the bitmap rules, the bearer classes, and the corpus reaching every stated # outcome and failing a changed one) and tests/bearer_receipts.rs (vectors.json # regenerates byte for byte from its fixed seeds and no other file is there, wai-rs gives # every case its stated outcome, the cases that carry one receipt on every bearer class # carry the same bytes with the same object verdicts, §10 lists exactly the reference's # codes, each of which the corpus gives, and jwp-receipts §3.1 lists the class codes at # their steps); and, in the step of every independent verifier above, the corpus's second # implementation, bearer_verify.py, written from # the extension's text and sharing no code with wai-rs, which verifies groups and objects # with jwp_verify.py, claims through jwp-receipts §3.1 steps 1-5 with claim_verify.py and # confirmations with signer_verify.py (each needs the `cryptography` package installed # above), writes the context checks, the verdict, the bound and offline confirmation # itself, reads the extension's reason table, requires every mutated copy of the corpus # to fail, and drops each of its own checks in turn and requires the corpus to catch the # weakened verifier; run isolated (-I). Last, claim-conformance's own verifier reads every # transmission and reconciliation claim of the corpus through jwp-receipts §3.1 steps 1 # to 4 and requires the stated step and reason. # # The paths this step brings to the workflow's trigger, and why: # wai/extensions/bearer-receipts.md: tests/bearer_receipts.rs requires this extension's §10 to # list the codes the reference reports, and bearer_verify.py reads that table. set -euo pipefail (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib bearer) (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test bearer_receipts)