import uuid import pytest from fastapi import HTTPException from app.main import clear_entry_key_attempts, enforce_entry_key_rate_limit, record_failed_entry_key def test_entry_key_is_rate_limited_after_five_failures(): address = f"test-{uuid.uuid4()}" try: for _ in range(5): enforce_entry_key_rate_limit(address) record_failed_entry_key(address) with pytest.raises(HTTPException) as error: enforce_entry_key_rate_limit(address) assert error.value.status_code == 429 finally: clear_entry_key_attempts(address)