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"