File tree Expand file tree Collapse file tree 1 file changed +20
-0
lines changed
Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -47,6 +47,26 @@ def test_session_is_removed_on_cleanup_even_if_loop_is_not_running(sa_manager):
4747 mocked_close .assert_called_once ()
4848
4949
50+ def test_session_is_removed_on_cleanup_even_if_loop_search_errors_out (sa_manager ):
51+ # Running the test without a loop will trigger the loop creation
52+ sh = AsyncSessionHandler (sa_manager .get_bind ("async" ))
53+ original_session_remove = sh .scoped_session .remove
54+
55+ with patch .object (
56+ sh .scoped_session ,
57+ "remove" ,
58+ wraps = original_session_remove ,
59+ ) as mocked_close , patch (
60+ "asyncio.get_event_loop" ,
61+ side_effect = RuntimeError (),
62+ ) as mocked_get_event_loop :
63+ # This should trigger the garbage collector and close the session
64+ sh = None
65+
66+ mocked_get_event_loop .assert_called_once ()
67+ mocked_close .assert_called_once ()
68+
69+
5070@pytest .mark .parametrize ("read_only_flag" , [True , False ])
5171async def test_commit_is_called_only_if_not_read_only (
5272 read_only_flag ,
You can’t perform that action at this time.
0 commit comments