Files
sales-trainer/backend/tests/test_export_authorization.py

30 lines
1019 B
Python

"""Export-link authorization regression tests."""
from __future__ import annotations
def _headers(token: str) -> dict[str, str]:
return {"Authorization": f"Bearer {token}"}
def test_export_link_is_invalid_after_current_role_demotion(client, user_store, login):
user_store.complete_setup(
"admin",
"admin@example.com",
"admin-ready-password",
accepted_terms=True,
accepted_terms_at="2026-08-13T00:00:00Z",
)
token = login("admin", "admin-ready-password")["token"]
link_response = client.get("/api/analytics/export/token", headers=_headers(token))
assert link_response.status_code == 200, link_response.get_json()
export_token = link_response.get_json()["token"]
user_store.set_role("admin", "admin")
response = client.get(
f"/api/analytics/export?token={export_token}",
headers=_headers(token),
)
assert response.status_code == 403
assert response.get_json() == {"error": "export link authorization is stale"}