@@ -191,14 +191,11 @@ def append_metadata(self, driver_info: FakeDriverInfo) -> None:
191191 """Record append_metadata calls for test assertions."""
192192 self ._metadata_calls .append (driver_info )
193193
194- def close (self ) -> None :
195- """Synchronous close — matches PyMongo's AsyncMongoClient.close() signature."""
194+ async def close (self ) -> None :
195+ """Async close — matches PyMongo's AsyncMongoClient.close() signature."""
196196 self ._closed = True
197197 self .admin ._closed = True
198198
199- async def aclose (self ) -> None :
200- self .close ()
201-
202199
203200# ---------------------------------------------------------------------------
204201# Inject fake pymongo into sys.modules before importing the module under test
@@ -470,7 +467,7 @@ async def test_corrupted_document_is_skipped(session: MongoDBSession) -> None:
470467 "session_id" : session .session_id ,
471468 "message_data" : "not valid json {{{" ,
472469 }
473- session ._messages ._docs [id (bad_doc ["_id" ])] = bad_doc # type: ignore[attr-defined]
470+ session ._messages ._docs [id (bad_doc ["_id" ])] = bad_doc
474471
475472 items = await session .get_items ()
476473 assert len (items ) == 1
@@ -482,7 +479,7 @@ async def test_missing_message_data_field_is_skipped(session: MongoDBSession) ->
482479 await session .add_items ([{"role" : "user" , "content" : "valid" }])
483480
484481 bad_doc = {"_id" : FakeObjectId (), "session_id" : session .session_id }
485- session ._messages ._docs [id (bad_doc ["_id" ])] = bad_doc # type: ignore[attr-defined]
482+ session ._messages ._docs [id (bad_doc ["_id" ])] = bad_doc
486483
487484 items = await session .get_items ()
488485 assert len (items ) == 1
@@ -494,7 +491,7 @@ async def test_non_string_message_data_is_skipped(session: MongoDBSession) -> No
494491
495492 # Inject a document where message_data is an integer — json.loads raises TypeError.
496493 bad_doc = {"_id" : FakeObjectId (), "session_id" : session .session_id , "message_data" : 42 }
497- session ._messages ._docs [id (bad_doc ["_id" ])] = bad_doc # type: ignore[attr-defined]
494+ session ._messages ._docs [id (bad_doc ["_id" ])] = bad_doc
498495
499496 items = await session .get_items ()
500497 assert len (items ) == 1
@@ -509,25 +506,25 @@ async def test_non_string_message_data_is_skipped(session: MongoDBSession) -> No
509506async def test_index_creation_runs_only_once (session : MongoDBSession ) -> None :
510507 """_ensure_indexes must call create_index only on the very first call."""
511508 call_count = 0
512- original_messages = session ._messages .create_index # type: ignore[attr-defined]
513- original_sessions = session ._sessions .create_index # type: ignore[attr-defined]
509+ original_messages = session ._messages .create_index
510+ original_sessions = session ._sessions .create_index
514511
515512 async def counting (* args : Any , ** kwargs : Any ) -> str :
516513 nonlocal call_count
517514 call_count += 1
518515 return "fake_index"
519516
520- session ._messages .create_index = counting # type: ignore[attr-defined ]
521- session ._sessions .create_index = counting # type: ignore[attr-defined ]
517+ session ._messages .create_index = counting # type: ignore[method-assign ]
518+ session ._sessions .create_index = counting # type: ignore[method-assign ]
522519
523520 await session ._ensure_indexes ()
524521 await session ._ensure_indexes () # Second call must be a no-op.
525522
526523 # Exactly one call per collection (sessions + messages).
527524 assert call_count == 2
528525
529- session ._messages .create_index = original_messages # type: ignore[attr-defined ]
530- session ._sessions .create_index = original_sessions # type: ignore[attr-defined ]
526+ session ._messages .create_index = original_messages # type: ignore[method-assign ]
527+ session ._sessions .create_index = original_sessions # type: ignore[method-assign ]
531528
532529
533530async def test_different_clients_each_run_index_init () -> None :
@@ -551,10 +548,10 @@ async def counting_b(*args: Any, **kwargs: Any) -> str:
551548 s_a = MongoDBSession ("x" , client = client_a , database = "agents_test" ) # type: ignore[arg-type]
552549 s_b = MongoDBSession ("x" , client = client_b , database = "agents_test" ) # type: ignore[arg-type]
553550
554- s_a ._messages .create_index = counting_a # type: ignore[attr-defined ]
555- s_a ._sessions .create_index = counting_a # type: ignore[attr-defined ]
556- s_b ._messages .create_index = counting_b # type: ignore[attr-defined ]
557- s_b ._sessions .create_index = counting_b # type: ignore[attr-defined ]
551+ s_a ._messages .create_index = counting_a # type: ignore[method-assign ]
552+ s_a ._sessions .create_index = counting_a # type: ignore[method-assign ]
553+ s_b ._messages .create_index = counting_b # type: ignore[method-assign ]
554+ s_b ._sessions .create_index = counting_b # type: ignore[method-assign ]
558555
559556 await s_a ._ensure_indexes ()
560557 await s_b ._ensure_indexes ()
@@ -581,9 +578,9 @@ async def test_ping_failure(session: MongoDBSession) -> None:
581578 async def _fail (* args : Any , ** kwargs : Any ) -> dict [str , Any ]:
582579 raise ConnectionError ("unreachable" )
583580
584- session ._client .admin .command = _fail # type: ignore[attr-defined ]
581+ session ._client .admin .command = _fail # type: ignore[method-assign, assignment ]
585582 assert await session .ping () is False
586- session ._client .admin .command = original # type: ignore[attr-defined ]
583+ session ._client .admin .command = original # type: ignore[method-assign ]
587584
588585
589586async def test_close_external_client_not_closed () -> None :
0 commit comments