rugmuncher-backend / backend /app /api /v1 /test_errors.py
cryptorugmuncher
feat(framework-2): domain-specific error catalog with FastAPI handlers
b34e77c
Raw
History Blame Contribute Delete
1.34 kB
"""Test endpoint for verifying error handlers work end-to-end.
This is a development-only endpoint that raises domain errors to verify
the FastAPI exception handlers in app/core/errors.py work correctly.
"""
from __future__ import annotations
from app.core.errors import (
HoneypotDetectedError,
InsufficientFundsError,
PaymentRequiredError,
WalletNotFoundError,
)
from fastapi import APIRouter
router = APIRouter(prefix="/api/v1/_test_errors", tags=["test-errors"])
@router.get("/wallet_not_found/{address}")
async def test_wallet_not_found(address: str):
"""Raises WalletNotFoundError → 404 with code=wallet_not_found."""
raise WalletNotFoundError(address, "ethereum")
@router.get("/insufficient_funds")
async def test_insufficient_funds():
"""Raises InsufficientFundsError → 402 with code=insufficient_funds."""
raise InsufficientFundsError(required=1.5, available=0.3, asset="SOL")
@router.get("/honeypot/{address}")
async def test_honeypot(address: str):
"""Raises HoneypotDetectedError → 422 with code=honeypot_detected."""
raise HoneypotDetectedError(address, "solana")
@router.get("/payment_required")
async def test_payment_required():
"""Raises PaymentRequiredError → 402 with code=payment_required."""
raise PaymentRequiredError("scan_token", 0.05, "solana")