gitea-saas-core/tests
Claude f39343ea81 gitea-saas-core#41: client-facing surface — per-client keys, checkout, /api/me, self-serve work submission, Stripe webhook
- client_api.py: ClientKeyStore (SHA-256 hashed at rest, scoped, revocable),
  checkout with per-client rate limit, /api/me status, /api/me/issues submit,
  signature-authenticated /api/webhooks/stripe reusing the issue-#3 seam, and
  operator key-issuance routes; compound assembly guard replaces the billing
  operator before_request with identical operator-route semantics so scoped
  client endpoints are reachable and valid client keys get 403 on operator
  routes (cross-tenant + operator denials).
- auth.py: PUBLIC_PATHS + /api/webhooks/stripe; FORBIDDEN_BODY/
  forbidden_response; hash_client_key (no new compare_digest call site).
- schema.sql: client_api_keys table (hash + prefix only).
- app.py: mounts the client surface (stripe_builder/gitea injectable).
- tests/test_client_api.py (18 tests) + assembled-app coverage in test_app.py.
  Full suite: 293 passed, 1 skipped.
2026-09-05 04:34:50 -05:00
..
calibration gitea-saas-core#42: review-gate calibration corpus + report (measure, don't tune) 2026-09-01 06:39:22 -05:00
test_app.py gitea-saas-core#41: client-facing surface — per-client keys, checkout, /api/me, self-serve work submission, Stripe webhook 2026-09-05 04:34:50 -05:00
test_auth.py fix(#27): guard /dashboard through the shared auth path after !26 rebase 2026-08-26 06:43:17 -05:00
test_billing_core.py gitea-saas-core#16: billing core client API consistency (id, flat records, list_clients) 2026-08-25 06:09:46 -05:00
test_client_api.py gitea-saas-core#41: client-facing surface — per-client keys, checkout, /api/me, self-serve work submission, Stripe webhook 2026-09-05 04:34:50 -05:00
test_dashboard.py Consolidate all X-API-Key auth into gitea_saas/auth.py (#24) 2026-08-26 06:40:18 -05:00
test_delivery.py feat(#45): raise delivered-issue rate to $5.00 (rate_minor 500) 2026-09-01 06:13:49 -05:00
test_gitea_client.py gitea-saas-core#30: isolated synthetic-merge review workspace 2026-08-29 15:21:43 -05:00
test_intake_eval.py gitea-saas-core#39: eval farm HTTP surface — register_eval_routes 2026-09-01 03:58:29 -05:00
test_intake_factory.py Consolidate all X-API-Key auth into gitea_saas/auth.py (#24) 2026-08-26 06:40:18 -05:00
test_review_policy.py feat(#45): raise delivered-issue rate to $5.00 (rate_minor 500) 2026-09-01 06:13:49 -05:00
test_review_workspace.py fix(#48): pass git commands as arg lists, never shell strings (Windows caret safety) 2026-09-01 16:13:28 -05:00
test_reviewer.py fix(#48): compare hygiene-gate cwd as a Path, not a string (Windows review box) 2026-09-01 17:50:56 -05:00
test_server.py Consolidate all X-API-Key auth into gitea_saas/auth.py (#24) 2026-08-26 06:40:18 -05:00
test_stripe_client.py gitea-saas-core#3: tests: read create_client id key (bounce fix attempt 2, #16 rename) 2026-08-25 10:59:56 -05:00