1717from sqlalchemy .ext .asyncio import async_sessionmaker
1818
1919from fastapi_app import create_app
20+ from fastapi_app .openai_clients import create_openai_embed_client
2021from fastapi_app .postgres_engine import create_postgres_engine_from_env
2122from fastapi_app .setup_postgres_database import create_db_schema
2223from fastapi_app .setup_postgres_seeddata import seed_data
@@ -235,7 +236,7 @@ async def test_client(app, mock_default_azure_credential, mock_openai_embedding,
235236
236237
237238@pytest_asyncio .fixture (scope = "function" )
238- async def db_session ():
239+ async def db_session (mock_session_env , mock_default_azure_credential ):
239240 """Create a new database session with a rollback at the end of the test."""
240241 engine = await create_postgres_engine_from_env ()
241242 async_sesion = async_sessionmaker (autocommit = False , autoflush = False , bind = engine )
@@ -245,3 +246,18 @@ async def db_session():
245246 await session .rollback ()
246247 await session .close ()
247248 await engine .dispose ()
249+
250+
251+ @pytest_asyncio .fixture (scope = "function" )
252+ async def postgres_searcher (mock_session_env , mock_default_azure_credential , db_session , mock_openai_embedding ):
253+ from fastapi_app .postgres_searcher import PostgresSearcher
254+
255+ openai_embed_client = await create_openai_embed_client (mock_default_azure_credential )
256+
257+ yield PostgresSearcher (
258+ db_session = db_session ,
259+ openai_embed_client = openai_embed_client ,
260+ embed_deployment = "text-embedding-ada-002" ,
261+ embed_model = "text-embedding-ada-002" ,
262+ embed_dimensions = 1536 ,
263+ )
0 commit comments