@@ -399,6 +399,7 @@ async def test_session_memory_rejects_both_session_and_list_input(runner_method)
399399
400400 session .close ()
401401
402+
402403@pytest .mark .asyncio
403404async def test_sqlite_session_unicode_content ():
404405 """Test that session correctly stores and retrieves unicode/non-ASCII content."""
@@ -437,9 +438,7 @@ async def test_sqlite_session_special_characters_and_sql_injection():
437438 items : list [TResponseInputItem ] = [
438439 {"role" : "user" , "content" : "O'Reilly" },
439440 {"role" : "assistant" , "content" : "DROP TABLE sessions;" },
440- {"role" : "user" , "content" : (
441- '"SELECT * FROM users WHERE name = \" admin\" ;"'
442- )},
441+ {"role" : "user" , "content" : ('"SELECT * FROM users WHERE name = "admin";"' )},
443442 {"role" : "assistant" , "content" : "Robert'); DROP TABLE students;--" },
444443 {"role" : "user" , "content" : "Normal message" },
445444 ]
@@ -450,17 +449,19 @@ async def test_sqlite_session_special_characters_and_sql_injection():
450449 assert len (retrieved ) == len (items )
451450 assert retrieved [0 ].get ("content" ) == "O'Reilly"
452451 assert retrieved [1 ].get ("content" ) == "DROP TABLE sessions;"
453- assert retrieved [2 ].get ("content" ) == '"SELECT * FROM users WHERE name = \ " admin\ " ;"'
452+ assert retrieved [2 ].get ("content" ) == '"SELECT * FROM users WHERE name = "admin";"'
454453 assert retrieved [3 ].get ("content" ) == "Robert'); DROP TABLE students;--"
455454 assert retrieved [4 ].get ("content" ) == "Normal message"
456455 session .close ()
457456
457+
458458@pytest .mark .asyncio
459459async def test_sqlite_session_concurrent_access ():
460460 """
461461 Test concurrent access to the same session to verify data integrity.
462462 """
463463 import concurrent .futures
464+
464465 with tempfile .TemporaryDirectory () as temp_dir :
465466 db_path = Path (temp_dir ) / "test_concurrent.db"
466467 session_id = "concurrent_test"
@@ -477,6 +478,7 @@ def add_item(item):
477478 asyncio .set_event_loop (loop )
478479 loop .run_until_complete (session .add_items ([item ]))
479480 loop .close ()
481+
480482 with concurrent .futures .ThreadPoolExecutor (max_workers = 5 ) as executor :
481483 executor .map (add_item , items )
482484
0 commit comments