28 lines
771 B
Python
28 lines
771 B
Python
from app.core.auth import COOKIE_NAME, create_access_token, decode_token
|
|
|
|
|
|
def test_create_and_decode_token():
|
|
token = create_access_token(username="alice", is_admin=False)
|
|
payload = decode_token(token)
|
|
assert payload is not None
|
|
assert payload["sub"] == "alice"
|
|
assert payload["is_admin"] is False
|
|
|
|
|
|
def test_admin_claim():
|
|
token = create_access_token(username="admin", is_admin=True)
|
|
assert decode_token(token)["is_admin"] is True
|
|
|
|
|
|
def test_decode_invalid_token():
|
|
assert decode_token("not.a.valid.token") is None
|
|
|
|
|
|
def test_decode_tampered_token():
|
|
token = create_access_token(username="alice", is_admin=False)
|
|
assert decode_token(token[:-4] + "xxxx") is None
|
|
|
|
|
|
def test_cookie_name():
|
|
assert COOKIE_NAME == "access_token"
|