77import pytest_asyncio
88from httpx import ASGITransport , AsyncClient
99
10- from src import load_test_db
11- from src . auth . crud import create_user_session , remove_user_session
12- from src . database import SQLALCHEMY_TEST_DATABASE_URL , DatabaseSessionManager
13- from src . main import app
10+ from auth . crud import create_user_session , remove_user_session
11+ from database import SQLALCHEMY_TEST_DATABASE_URL , DatabaseSessionManager
12+ from load_test_db import SYSADMIN_COMPUTING_ID , async_main
13+ from main import app
1414
1515
1616# This might be able to be moved to `package` scope as long as I inject it to every test function
@@ -20,17 +20,19 @@ def suppress_sqlalchemy_logs():
2020 yield
2121 logging .getLogger ("sqlalchemy.engine" ).setLevel (logging .INFO )
2222
23+
2324@pytest_asyncio .fixture (scope = "session" , loop_scope = "session" )
2425async def database_setup ():
2526 # reset the database again, just in case
2627 print ("Resetting DB..." )
2728 sessionmanager = DatabaseSessionManager (SQLALCHEMY_TEST_DATABASE_URL , {"echo" : False }, check_db = False )
2829 # this resets the contents of the database to be whatever is from `load_test_db.py`
29- await load_test_db . async_main (sessionmanager )
30+ await async_main (sessionmanager )
3031 print ("Done setting up!" )
3132 yield sessionmanager
3233 await sessionmanager .close ()
3334
35+
3436@pytest_asyncio .fixture (scope = "session" , loop_scope = "session" )
3537async def client () -> AsyncGenerator [Any , None ]:
3638 # base_url is just a random placeholder url
@@ -39,18 +41,18 @@ async def client() -> AsyncGenerator[Any, None]:
3941 async with AsyncClient (transport = ASGITransport (app ), base_url = "http://test" ) as client :
4042 yield client
4143
44+
4245@pytest_asyncio .fixture (scope = "function" , loop_scope = "session" )
4346async def db_session (database_setup ):
4447 async with database_setup .session () as session :
4548 yield session
4649
50+
4751@pytest_asyncio .fixture (scope = "module" , loop_scope = "session" )
4852async def admin_client (database_setup , client ):
49- session_id = "temp_id_" + load_test_db . SYSADMIN_COMPUTING_ID
50- client .cookies = { "session_id" : session_id }
53+ session_id = "temp_id_" + SYSADMIN_COMPUTING_ID
54+ client .cookies = {"session_id" : session_id }
5155 async with database_setup .session () as session :
52- await create_user_session (session , session_id , load_test_db . SYSADMIN_COMPUTING_ID )
56+ await create_user_session (session , session_id , SYSADMIN_COMPUTING_ID )
5357 yield client
5458 await remove_user_session (session , session_id )
55-
56-
0 commit comments