meal-order-manager/tests
Adam Moussa f2a0692577 Harden summary-PDF endpoint per cross-review
Address GPT-4.1 cross-review of the IAM change:

- Validate the week param (YYYY-WNN) and the DynamoDB-sourced PDF key
  shape before presigning, so a tampered SUMMARY record can't mint URLs
  for other report files (payroll CSVs).
- Narrow the IAM resource from reports/* to
  reports/*/weekly-summary-*.pdf — least privilege over the bucket.
- Reuse a module-level S3 client; name the URL TTL constant.
- Distinguish "week not found" from "PDF key missing" 404s.
- Tests: malformed-week 400 and tampered-key 500 (asserts no presign).
2026-06-05 18:44:25 -04:00
..
conftest.py Add discount pricing, Google auth, and order hardening (#10) 2026-05-13 18:00:21 -04:00
test_aggregate_orders.py Add weekly summary PDF and admin order-list download (#16) (#17) 2026-06-01 18:49:58 -04:00
test_close_form.py Add discount pricing, Google auth, and order hardening (#10) 2026-05-13 18:00:21 -04:00
test_pdf.py Add weekly summary PDF and admin order-list download (#16) (#17) 2026-06-01 18:49:58 -04:00
test_secrets.py Add discount pricing, Google auth, and order hardening (#10) 2026-05-13 18:00:21 -04:00
test_slack_notifier.py Add discount pricing, Google auth, and order hardening (#10) 2026-05-13 18:00:21 -04:00
test_submit_order.py Harden summary-PDF endpoint per cross-review 2026-06-05 18:44:25 -04:00