@@ -105,23 +105,19 @@ def sqla_reflection(sqla_modules, sqla_connection):
105105
106106
107107@fixture
108- def patch_engine_from_config (request , sqla_connection , sqla_transaction ):
108+ def patch_engine_from_config (request , sqla_connection ):
109109 """So that all DB operations are never written to db for real."""
110110
111- if "dont_patch_engines" in request .keywords : # pragma: no cover
111+ if "dont_patch_engines" in request .keywords :
112112 yield
113-
114113 else :
114+ transaction = sqla_connection .begin ()
115+
115116 with patch ("fastapi_sqla.sqla.engine_from_config" ) as engine_from_config :
116117 engine_from_config .return_value = sqla_connection
117- yield engine_from_config
118-
118+ yield
119119
120- @fixture
121- def sqla_transaction (sqla_connection ):
122- transaction = sqla_connection .begin ()
123- yield transaction
124- transaction .rollback ()
120+ transaction .rollback ()
125121
126122
127123@fixture
@@ -131,11 +127,7 @@ def session_factory():
131127
132128@fixture
133129def session (
134- session_factory ,
135- sqla_connection ,
136- sqla_transaction ,
137- sqla_reflection ,
138- patch_engine_from_config ,
130+ session_factory , sqla_connection , sqla_reflection , patch_engine_from_config
139131):
140132 """Sqla session to use when creating db fixtures.
141133
@@ -173,22 +165,18 @@ async def async_sqla_connection(async_engine, event_loop):
173165 yield connection
174166
175167 @fixture
176- async def async_sqla_transaction (async_sqla_connection ):
177- async with async_sqla_connection .begin () as transaction :
178- yield transaction
179- await transaction .rollback ()
180-
181- @fixture
182- async def patch_new_engine (request , async_sqla_connection , async_sqla_transaction ):
168+ async def patch_new_engine (request , async_sqla_connection ):
183169 """So that all async DB operations are never written to db for real."""
184170
185- if "dont_patch_engines" in request .keywords : # pragma: no cover
171+ if "dont_patch_engines" in request .keywords :
186172 yield
187-
188173 else :
189- with patch ("fastapi_sqla.async_sqla.new_engine" ) as new_engine :
190- new_engine .return_value = async_sqla_connection
191- yield new_engine
174+ async with async_sqla_connection .begin () as transaction :
175+ with patch ("fastapi_sqla.async_sqla.new_engine" ) as new_engine :
176+ new_engine .return_value = async_sqla_connection
177+ yield
178+
179+ await transaction .rollback ()
192180
193181 @fixture
194182 async def async_sqla_reflection (sqla_modules , async_sqla_connection ):
@@ -206,7 +194,6 @@ def async_session_factory():
206194 async def async_session (
207195 async_session_factory ,
208196 async_sqla_connection ,
209- async_sqla_transaction ,
210197 async_sqla_reflection ,
211198 patch_new_engine ,
212199 ):
0 commit comments