18: tests, fixes

This commit is contained in:
Dobromir Popov
2025-08-05 14:11:49 +03:00
parent 71442f766c
commit 622d059aae
24 changed files with 1959 additions and 1638 deletions

View File

@ -9,12 +9,20 @@ from fastapi.staticfiles import StaticFiles
from typing import Optional, List
import asyncio
import os
from ..config import config
from ..caching.redis_manager import redis_manager
from ..utils.logging import get_logger, set_correlation_id
from ..utils.validation import validate_symbol
from .rate_limiter import RateLimiter
from .response_formatter import ResponseFormatter
try:
from ..simple_config import config
from ..caching.redis_manager import redis_manager
from ..utils.logging import get_logger, set_correlation_id
from ..utils.validation import validate_symbol
from .rate_limiter import RateLimiter
from .response_formatter import ResponseFormatter
except ImportError:
from simple_config import config
from caching.redis_manager import redis_manager
from utils.logging import get_logger, set_correlation_id
from utils.validation import validate_symbol
from api.rate_limiter import RateLimiter
from api.response_formatter import ResponseFormatter
logger = get_logger(__name__)
@ -53,6 +61,20 @@ def create_app(config_obj=None) -> FastAPI:
)
response_formatter = ResponseFormatter()
@app.get("/health")
async def health_check():
"""Health check endpoint"""
return response_formatter.health(healthy=True, components={
"api": {"healthy": True},
"cache": {"healthy": redis_manager.is_connected()},
"database": {"healthy": True} # Stub
})
@app.get("/")
async def root():
"""Root endpoint - serve dashboard"""
return {"message": "COBY Multi-Exchange Data Aggregation System", "status": "running"}
@app.middleware("http")
async def rate_limit_middleware(request: Request, call_next):
"""Rate limiting middleware"""