Skip to content

Commit fa356b8

Browse files
committed
fix: terminate method idempotent
1 parent c7707f3 commit fa356b8

File tree

4 files changed

+14
-5
lines changed

4 files changed

+14
-5
lines changed

docker-compose.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
version: '3.3'
2-
31
services:
42
postgres:
53
image: postgres

peewee_async.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -278,8 +278,9 @@ async def create(self):
278278
async def terminate(self):
279279
"""Terminate all pool connections.
280280
"""
281-
self.pool.terminate()
282-
await self.pool.wait_closed()
281+
if self.pool is not None:
282+
self.pool.terminate()
283+
await self.pool.wait_closed()
283284

284285

285286
############

tests/conftest.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ async def db(request):
7070
)
7171

7272
# MANAGERS fixtures will be removed in v1.0.0
73-
# TODO add manager prefix to fixtures
7473
postgres_only = pytest.mark.parametrize(
7574
"manager", PG_DBS, indirect=["manager"]
7675
)

tests/test_database.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,14 @@ async def test_is_connected(db):
4242

4343
await db.aio_close()
4444
assert db.is_connected is False
45+
46+
47+
@dbs_all
48+
async def test_aio_close_idempotent(db):
49+
assert db.is_connected is False
50+
51+
await db.aio_close()
52+
assert db.is_connected is False
53+
54+
await db.aio_close()
55+
assert db.is_connected is False

0 commit comments

Comments
 (0)