From 1a43cf0f60cd3599d56b46203b1badfda1996186 Mon Sep 17 00:00:00 2001 From: Calvin Giles Date: Sun, 25 May 2025 18:49:00 -0700 Subject: [PATCH] Copybara import of the project: -- 73826d258b136f92a8da8171f7dc14d5f07de8dd by Calvin Giles : fix: Enable InMemoryRunner to be used in async tests COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/868 from calvingiles:enable-test-runner-in-async fb9033ed6f350a3114859715cae51798f864ecf6 PiperOrigin-RevId: 763233472 --- tests/unittests/testing_utils.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/tests/unittests/testing_utils.py b/tests/unittests/testing_utils.py index 139e0d5..7efc01a 100644 --- a/tests/unittests/testing_utils.py +++ b/tests/unittests/testing_utils.py @@ -177,17 +177,13 @@ class InMemoryRunner: @property def session(self) -> Session: if not self.session_id: - session = asyncio.run( - self.runner.session_service.create_session( - app_name='test_app', user_id='test_user' - ) + session = self.runner.session_service.create_session_sync( + app_name='test_app', user_id='test_user' ) self.session_id = session.id return session - return asyncio.run( - self.runner.session_service.get_session( - app_name='test_app', user_id='test_user', session_id=self.session_id - ) + return self.runner.session_service.get_session_sync( + app_name='test_app', user_id='test_user', session_id=self.session_id ) def run(self, new_message: types.ContentUnion) -> list[Event]: @@ -199,6 +195,16 @@ class InMemoryRunner: ) ) + async def run_async(self, new_message: types.ContentUnion) -> list[Event]: + events = [] + async for event in self.runner.run_async( + user_id=self.session.user_id, + session_id=self.session.id, + new_message=get_user_content(new_message), + ): + events.append(event) + return events + def run_live(self, live_request_queue: LiveRequestQueue) -> list[Event]: collected_responses = []