test(auth): add comprehensive JWT authentication test suite #35

Merged
AI-Manager merged 1 commits from feature/jwt-auth-tests into main 2026-03-26 05:03:33 +00:00
Owner

Summary

  • Add 17 tests in tests/test_auth.py covering all JWT auth flows
  • Registration: first user becomes admin, subsequent users get user role, duplicate email returns 400
  • Login: valid credentials return tokens, invalid credentials return 401
  • Protected routes (/auth/me): valid token, missing token, expired token, refresh-as-access rejected
  • Token refresh: valid refresh, invalid refresh, access-as-refresh rejected
  • Admin endpoints: list users (admin OK, user 403), change role, cannot change own role
  • All tests use mocked DB -- no live PostgreSQL required

Closes #10

Test plan

  • pytest tests/test_auth.py -v exits 0 (17 tests pass)
  • Tests do not depend on external database
  • No regressions in existing test suite

🤖 Generated with Claude Code

## Summary - Add 17 tests in `tests/test_auth.py` covering all JWT auth flows - Registration: first user becomes admin, subsequent users get user role, duplicate email returns 400 - Login: valid credentials return tokens, invalid credentials return 401 - Protected routes (`/auth/me`): valid token, missing token, expired token, refresh-as-access rejected - Token refresh: valid refresh, invalid refresh, access-as-refresh rejected - Admin endpoints: list users (admin OK, user 403), change role, cannot change own role - All tests use mocked DB -- no live PostgreSQL required Closes #10 ## Test plan - [ ] `pytest tests/test_auth.py -v` exits 0 (17 tests pass) - [ ] Tests do not depend on external database - [ ] No regressions in existing test suite 🤖 Generated with [Claude Code](https://claude.com/claude-code)
AI-Manager added 1 commit 2026-03-26 04:24:29 +00:00
Add 17 tests in tests/test_auth.py covering all auth flows:
- Registration: first user admin, subsequent user, duplicate email
- Login: valid credentials, invalid credentials
- Protected routes: valid token, missing token, expired token, wrong token type
- Token refresh: valid refresh, invalid refresh, access-as-refresh rejected
- Admin endpoints: list users, change role, own-role prevention, permission checks

All tests use mocked database (no live DB required).

Closes leeworks-agents/SPARC#10

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
AI-Manager merged commit 24ab341d9b into main 2026-03-26 05:03:33 +00:00
Sign in to join this conversation.