Skip to content

Commit 98677e4

Browse files
committed
Refactor database engine fixtures to ensure proper disposal
- Updated the `db_engine_one` and `db_engine_two` fixtures in `base.py` to use a context manager for engine disposal, ensuring that resources are properly released after use. - Modified the `sqlite_db_engine_one` and `sqlite_db_engine_two` fixtures in `test_comparer.py` similarly to enhance resource management during tests.
1 parent 49b6a96 commit 98677e4

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

tests/base.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,19 @@ def db_uri_two(self, make_postgres_uri, db_name_two):
2727

2828
@pytest.fixture
2929
def db_engine_one(self, db_uri_one):
30-
return get_engine(db_uri_one)
30+
engine = get_engine(db_uri_one)
31+
try:
32+
yield engine
33+
finally:
34+
engine.dispose()
3135

3236
@pytest.fixture
3337
def db_engine_two(self, db_uri_two):
34-
return get_engine(db_uri_two)
38+
engine = get_engine(db_uri_two)
39+
try:
40+
yield engine
41+
finally:
42+
engine.dispose()
3543

3644
@pytest.fixture
3745
def setup_db_one(self, db_uri_one, db_engine_one):

tests/test_comparer.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,11 +205,19 @@ def test_compare(self, db_engine_one, db_engine_two, compare_result_v14, compare
205205
class TestComparerSqlite(BaseTest):
206206
@pytest.fixture
207207
def sqlite_db_engine_one(self):
208-
return get_engine("sqlite:///:memory:")
208+
engine = get_engine("sqlite:///:memory:")
209+
try:
210+
yield engine
211+
finally:
212+
engine.dispose()
209213

210214
@pytest.fixture
211215
def sqlite_db_engine_two(self):
212-
return get_engine("sqlite:///:memory:")
216+
engine = get_engine("sqlite:///:memory:")
217+
try:
218+
yield engine
219+
finally:
220+
engine.dispose()
213221

214222
@pytest.fixture()
215223
def setup_db_one(self, sqlite_db_engine_one):

0 commit comments

Comments
 (0)