Align the project baseline with the latest admin interface styling and layout structure while documenting setup and usage updates in README.
23 lines
645 B
Python
23 lines
645 B
Python
from uuid import uuid4
|
|
|
|
|
|
def test_login_rate_limit(client, monkeypatch):
|
|
from app.core.config import settings
|
|
|
|
monkeypatch.setattr(settings, "enable_rate_limit", True)
|
|
|
|
email = f"missing-{uuid4().hex}@example.com"
|
|
for _ in range(5):
|
|
response = client.post(
|
|
"/api/v1/auth/login",
|
|
json={"email": email, "password": "Valid123"},
|
|
)
|
|
assert response.status_code == 401
|
|
|
|
blocked = client.post(
|
|
"/api/v1/auth/login",
|
|
json={"email": email, "password": "Valid123"},
|
|
)
|
|
assert blocked.status_code == 429
|
|
assert blocked.json()["detail"] == "RATE_LIMIT_EXCEEDED"
|