import pytest from fastapi.testclient import TestClient from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from app.main import app from app.api.deps import get_db from app.db.session import Base # Create test database SQLALCHEMY_DATABASE_URL = "sqlite:///./test.db" engine = create_engine( SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False} ) TestingSessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) Base.metadata.create_all(bind=engine) def override_get_db(): try: db = TestingSessionLocal() yield db finally: db.close() app.dependency_overrides[get_db] = override_get_db client = TestClient(app) def test_read_main(): response = client.get("/") assert response.status_code == 200 assert "Airfield PPR API" in response.json()["message"] def test_health_check(): response = client.get("/health") assert response.status_code == 200 assert response.json()["status"] == "healthy" def test_get_public_arrivals(): response = client.get("/api/v1/public/arrivals") assert response.status_code == 200 assert isinstance(response.json(), list)