@@ -38,21 +38,20 @@ async def test_per_agent_session_service_creates_scoped_dot_adk(
3838 agent_a .mkdir ()
3939 agent_b .mkdir ()
4040
41- service = PerAgentDatabaseSessionService (agents_root = tmp_path )
41+ async with PerAgentDatabaseSessionService (agents_root = tmp_path ) as service :
42+ await service .create_session (app_name = "agent_a" , user_id = "user_a" )
43+ await service .create_session (app_name = "agent_b" , user_id = "user_b" )
4244
43- await service . create_session ( app_name = " agent_a" , user_id = "user_a" )
44- await service . create_session ( app_name = " agent_b" , user_id = "user_b" )
45+ assert ( agent_a / ".adk" / "session.db" ). exists ( )
46+ assert ( agent_b / ".adk" / "session.db" ). exists ( )
4547
46- assert ( agent_a / ".adk" / "session.db" ). exists ( )
47- assert ( agent_b / ".adk" / "session.db" ). exists ( )
48+ agent_a_sessions = await service . list_sessions ( app_name = "agent_a" )
49+ agent_b_sessions = await service . list_sessions ( app_name = "agent_b" )
4850
49- agent_a_sessions = await service .list_sessions (app_name = "agent_a" )
50- agent_b_sessions = await service .list_sessions (app_name = "agent_b" )
51-
52- assert len (agent_a_sessions .sessions ) == 1
53- assert agent_a_sessions .sessions [0 ].app_name == "agent_a"
54- assert len (agent_b_sessions .sessions ) == 1
55- assert agent_b_sessions .sessions [0 ].app_name == "agent_b"
51+ assert len (agent_a_sessions .sessions ) == 1
52+ assert agent_a_sessions .sessions [0 ].app_name == "agent_a"
53+ assert len (agent_b_sessions .sessions ) == 1
54+ assert agent_b_sessions .sessions [0 ].app_name == "agent_b"
5655
5756
5857@pytest .mark .asyncio
@@ -68,26 +67,28 @@ async def test_per_agent_session_service_respects_app_name_alias(
6867 per_agent = True ,
6968 app_name_to_dir = {logical_name : folder_name },
7069 )
70+ try :
71+ session = await service .create_session (
72+ app_name = logical_name ,
73+ user_id = "user" ,
74+ )
7175
72- session = await service .create_session (
73- app_name = logical_name ,
74- user_id = "user" ,
75- )
76-
77- assert session .app_name == logical_name
78- assert (tmp_path / folder_name / ".adk" / "session.db" ).exists ()
76+ assert session .app_name == logical_name
77+ assert (tmp_path / folder_name / ".adk" / "session.db" ).exists ()
78+ finally :
79+ if isinstance (service , PerAgentDatabaseSessionService ):
80+ await service .close ()
7981
8082
8183@pytest .mark .asyncio
8284async def test_per_agent_session_service_routes_built_in_agents_to_root_dot_adk (
8385 tmp_path : Path ,
8486) -> None :
85- service = PerAgentDatabaseSessionService (agents_root = tmp_path )
87+ async with PerAgentDatabaseSessionService (agents_root = tmp_path ) as service :
88+ await service .create_session (app_name = "__helper" , user_id = "user" )
8689
87- await service .create_session (app_name = "__helper" , user_id = "user" )
88-
89- assert not (tmp_path / "__helper" ).exists ()
90- assert (tmp_path / ".adk" / "session.db" ).exists ()
90+ assert not (tmp_path / "__helper" ).exists ()
91+ assert (tmp_path / ".adk" / "session.db" ).exists ()
9192
9293
9394def test_create_local_database_session_service_returns_sqlite (
@@ -106,22 +107,25 @@ async def test_per_agent_session_service_get_user_state(tmp_path: Path) -> None:
106107 agent_a .mkdir ()
107108 agent_b .mkdir ()
108109
109- service = PerAgentDatabaseSessionService (agents_root = tmp_path )
110-
111- session_a = await service .create_session (app_name = "agent_a" , user_id = "user_a" )
112- await service .append_event (
113- session_a ,
114- Event (
115- author = "system" ,
116- actions = EventActions (state_delta = {"user:profile" : {"name" : "Alice" }}),
117- ),
118- )
119-
120- state_a = await service .get_user_state (app_name = "agent_a" , user_id = "user_a" )
121- state_b = await service .get_user_state (app_name = "agent_b" , user_id = "user_b" )
122-
123- assert state_a == {"profile" : {"name" : "Alice" }}
124- assert not state_b
110+ async with PerAgentDatabaseSessionService (agents_root = tmp_path ) as service :
111+ session_a = await service .create_session (
112+ app_name = "agent_a" , user_id = "user_a"
113+ )
114+ await service .append_event (
115+ session_a ,
116+ Event (
117+ author = "system" ,
118+ actions = EventActions (
119+ state_delta = {"user:profile" : {"name" : "Alice" }}
120+ ),
121+ ),
122+ )
123+
124+ state_a = await service .get_user_state (app_name = "agent_a" , user_id = "user_a" )
125+ state_b = await service .get_user_state (app_name = "agent_b" , user_id = "user_b" )
126+
127+ assert state_a == {"profile" : {"name" : "Alice" }}
128+ assert not state_b
125129
126130
127131@pytest .mark .asyncio
0 commit comments