Update Python version requirements and fix compatibility issues
- Bump minimum Python version from 3.11 to 3.13 across all apps - Add Python 3.11-3.13 test matrix to CLI workflow - Document Python 3.11+ requirement in .env.example - Fix Starlette Broadcast removal with in-process fallback implementation - Add _InProcessBroadcast class for tests when Starlette Broadcast is unavailable - Refactor API key validators to read live settings instead of cached values - Update database models with explicit
This commit is contained in:
@@ -4,6 +4,10 @@ import sys
|
||||
import os
|
||||
import tempfile
|
||||
from pathlib import Path
|
||||
import pytest
|
||||
from sqlmodel import SQLModel, create_engine, Session
|
||||
from app.models import MarketplaceOffer, MarketplaceBid
|
||||
from app.domain.gpu_marketplace import ConsumerGPUProfile
|
||||
|
||||
_src = str(Path(__file__).resolve().parent.parent / "src")
|
||||
|
||||
@@ -23,3 +27,11 @@ os.environ["TEST_MODE"] = "true"
|
||||
project_root = Path(__file__).resolve().parent.parent.parent
|
||||
os.environ["AUDIT_LOG_DIR"] = str(project_root / "logs" / "audit")
|
||||
os.environ["TEST_DATABASE_URL"] = "sqlite:///:memory:"
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def db_session():
|
||||
"""Create a fresh database session for each test."""
|
||||
engine = create_engine("sqlite:///:memory:", echo=False)
|
||||
SQLModel.metadata.create_all(engine)
|
||||
with Session(engine) as session:
|
||||
yield session
|
||||
|
||||
Reference in New Issue
Block a user