@@ -242,6 +242,7 @@ def __init__(self) -> None:
242242 self .agent_engines .sessions .create .side_effect = self ._create_session
243243 self .agent_engines .sessions .events .list .side_effect = self ._list_events
244244 self .agent_engines .sessions .events .append .side_effect = self ._append_event
245+ self .last_create_session_config : dict [str , Any ] = {}
245246
246247 def _get_session (self , name : str ):
247248 session_id = name .split ('/' )[- 1 ]
@@ -275,6 +276,7 @@ def _delete_session(self, name: str):
275276 self .session_dict .pop (session_id )
276277
277278 def _create_session (self , name : str , user_id : str , config : dict [str , Any ]):
279+ self .last_create_session_config = config
278280 new_session_id = '4'
279281 self .session_dict [new_session_id ] = {
280282 'name' : (
@@ -360,7 +362,8 @@ def mock_vertex_ai_session_service(agent_engine_id: Optional[str] = None):
360362
361363
362364@pytest .fixture
363- def mock_get_api_client ():
365+ def mock_api_client_instance ():
366+ """Creates a mock API client instance for testing."""
364367 api_client = MockApiClient ()
365368 api_client .session_dict = {
366369 '1' : MOCK_SESSION_JSON_1 ,
@@ -373,9 +376,15 @@ def mock_get_api_client():
373376 '1' : (copy .deepcopy (MOCK_EVENT_JSON ), None ),
374377 '2' : (copy .deepcopy (MOCK_EVENT_JSON_2 ), 'my_token' ),
375378 }
379+ return api_client
380+
381+
382+ @pytest .fixture
383+ def mock_get_api_client (mock_api_client_instance ):
384+ """Mocks the _get_api_client method to return a mock API client."""
376385 with mock .patch (
377386 'google.adk.sessions.vertex_ai_session_service.VertexAiSessionService._get_api_client' ,
378- return_value = api_client ,
387+ return_value = mock_api_client_instance ,
379388 ):
380389 yield
381390
@@ -521,6 +530,21 @@ async def test_create_session_with_custom_session_id():
521530 )
522531
523532
533+ @pytest .mark .asyncio
534+ @pytest .mark .usefixtures ('mock_get_api_client' )
535+ async def test_create_session_with_custom_config (mock_api_client_instance ):
536+ session_service = mock_vertex_ai_session_service ()
537+
538+ expire_time = '2025-12-12T12:12:12.123456Z'
539+ await session_service .create_session (
540+ app_name = '123' , user_id = 'user' , expire_time = expire_time
541+ )
542+ assert (
543+ mock_api_client_instance .last_create_session_config ['expire_time' ]
544+ == expire_time
545+ )
546+
547+
524548@pytest .mark .asyncio
525549@pytest .mark .usefixtures ('mock_get_api_client' )
526550async def test_append_event ():
0 commit comments