Skip to content

Commit edd8e80

Browse files
committed
fixes testz
1 parent cc4544e commit edd8e80

2 files changed

Lines changed: 22 additions & 11 deletions

File tree

adsb-api/app/core/database.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,21 @@ def get_async_database_url(url: str) -> str:
2626
settings = get_settings()
2727
async_url = get_async_database_url(settings.database_url)
2828

29-
engine = create_async_engine(
30-
async_url,
31-
echo=False,
32-
pool_pre_ping=True,
33-
pool_recycle=280,
34-
pool_size=5,
35-
max_overflow=10,
36-
)
29+
# SQLite doesn't support pool_size/max_overflow, only use them for PostgreSQL
30+
if async_url.startswith("sqlite"):
31+
engine = create_async_engine(
32+
async_url,
33+
echo=False,
34+
)
35+
else:
36+
engine = create_async_engine(
37+
async_url,
38+
echo=False,
39+
pool_pre_ping=True,
40+
pool_recycle=280,
41+
pool_size=5,
42+
max_overflow=10,
43+
)
3744

3845
AsyncSessionLocal = async_sessionmaker(
3946
engine,

adsb-api/tests/conftest.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,17 @@ def anyio_backend():
4646

4747
@pytest_asyncio.fixture
4848
async def db_engine():
49-
"""Create async test database engine using PostgreSQL from environment."""
49+
"""Create async test database engine."""
5050
database_url = os.getenv(
5151
"DATABASE_URL",
52-
"postgresql+asyncpg://adsb:adsb@localhost:5432/adsb_test"
52+
"sqlite+aiosqlite:///:memory:"
5353
)
5454

55-
engine = create_async_engine(database_url, echo=False, pool_pre_ping=True)
55+
# SQLite doesn't support pool_pre_ping
56+
if database_url.startswith("sqlite"):
57+
engine = create_async_engine(database_url, echo=False)
58+
else:
59+
engine = create_async_engine(database_url, echo=False, pool_pre_ping=True)
5660

5761
async with engine.begin() as conn:
5862
await conn.run_sync(Base.metadata.create_all)

0 commit comments

Comments
 (0)