import pytest from datetime import timedelta from app.services.auth import _create_token, _verify_token, init_jwt_secret class TestAuth: def setup_method(self): init_jwt_secret() def test_jwt_create_and_verify(self): token = _create_token({"sub": "admin", "role": "admin"}) payload = _verify_token(token) assert payload is not None assert payload["sub"] == "admin" assert payload["role"] == "admin" def test_jwt_invalid_token(self): payload = _verify_token("invalid.token.here") assert payload is None def test_jwt_expired_claim(self): token = _create_token({"sub": "admin"}, expires_delta=timedelta(days=-1)) payload = _verify_token(token) assert payload is None