37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
from jose import jwt
|
|
|
|
from app.core.config import settings
|
|
from app.core.security import (
|
|
create_access_token,
|
|
create_refresh_token,
|
|
get_password_hash,
|
|
verify_password,
|
|
)
|
|
|
|
|
|
def test_password_hash_roundtrip():
|
|
hashed = get_password_hash("secret123")
|
|
assert hashed != "secret123"
|
|
assert verify_password("secret123", hashed) is True
|
|
assert verify_password("wrong", hashed) is False
|
|
|
|
|
|
def test_create_access_token_sets_access_type():
|
|
token = create_access_token("alice")
|
|
payload = jwt.decode(token, settings.SECRET_KEY, algorithms=[settings.ALGORITHM])
|
|
|
|
assert payload["sub"] == "alice"
|
|
assert payload["type"] == "access"
|
|
assert "exp" in payload
|
|
assert "iat" in payload
|
|
|
|
|
|
def test_create_refresh_token_sets_refresh_type():
|
|
token = create_refresh_token("alice")
|
|
payload = jwt.decode(token, settings.SECRET_KEY, algorithms=[settings.ALGORITHM])
|
|
|
|
assert payload["sub"] == "alice"
|
|
assert payload["type"] == "refresh"
|
|
assert "exp" in payload
|
|
assert "iat" in payload
|