Skip to content

Commit b17321d

Browse files
authored
async-delete (#84)
1 parent 4e16bc5 commit b17321d

File tree

5 files changed

+36
-5
lines changed

5 files changed

+36
-5
lines changed

mongoengine_plus/aio/async_query_set.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,10 @@ async def async_insert(
2929
return await create_awaitable(
3030
self.insert, doc_or_docs, load_bulk, write_concern, signal_kwargs
3131
)
32+
33+
async def async_delete(
34+
self, write_concern=None, _from_doc_delete=False, cascade_refs=None
35+
):
36+
return await create_awaitable(
37+
self.delete, write_concern, _from_doc_delete, cascade_refs
38+
)

mongoengine_plus/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '0.1.1'
1+
__version__ = '0.1.2'

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
mongoengine==0.23.1
1+
mongoengine==0.27.0
22
dnspython==2.1.0
33
blinker==1.4

tests/aio/test_async_query_set.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,12 @@ async def test_bulk_insert():
5757
cities_db = list(await City.objects.order_by('+name').async_to_list())
5858
assert len(cities_db) == len(cities)
5959
assert all(a.name == b.name for a, b in zip(cities, cities_db))
60+
61+
62+
@pytest.mark.asyncio
63+
async def test_async_delete(cities):
64+
city = await City.objects(state='CDMX').async_first()
65+
assert city
66+
await City.objects(state='CDMX').async_delete()
67+
city = await City.objects(state='CDMX').async_first()
68+
assert not city

tests/conftest.py

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,19 @@
1-
from mongoengine import connect
1+
from functools import partial
22

3-
DATABASE_URI = 'mongomock://localhost:27017/db'
4-
connect(host=DATABASE_URI)
3+
import mongomock
4+
import pytest
5+
from _pytest.monkeypatch import MonkeyPatch
6+
7+
DATABASE_URI = 'mongodb://localhost:27017/db'
8+
9+
10+
@pytest.fixture(autouse=True)
11+
def connect_database(monkeypatch: MonkeyPatch):
12+
import mongoengine
13+
14+
connect = partial(
15+
mongoengine.connect, mongo_client_class=mongomock.MongoClient
16+
)
17+
monkeypatch.setattr(mongoengine, 'connect', connect)
18+
19+
connect(host=DATABASE_URI)

0 commit comments

Comments
 (0)