From 7d94af0e3181751894884cbfcd55fe9383db028b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastien=20G=C3=A9rard?= Date: Wed, 11 Sep 2019 21:53:30 +0200 Subject: [PATCH] add test coverage for no_cursor_timeout to support recent fix --- mongoengine/queryset/base.py | 1 + tests/queryset/test_queryset.py | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/mongoengine/queryset/base.py b/mongoengine/queryset/base.py index ffa099ac..570ad37f 100644 --- a/mongoengine/queryset/base.py +++ b/mongoengine/queryset/base.py @@ -1576,6 +1576,7 @@ class BaseQuerySet(object): if self._snapshot: msg = "The snapshot option is not anymore available with PyMongo 3+" warnings.warn(msg, DeprecationWarning) + cursor_args = {} if not self._timeout: cursor_args["no_cursor_timeout"] = True diff --git a/tests/queryset/test_queryset.py b/tests/queryset/test_queryset.py index a9ecaef5..e7e59905 100644 --- a/tests/queryset/test_queryset.py +++ b/tests/queryset/test_queryset.py @@ -5809,9 +5809,19 @@ class TestQueryset(unittest.TestCase): self.Person.objects.create(name="Baz") self.assertEqual(self.Person.objects.count(with_limit_and_skip=True), 3) - newPerson = self.Person.objects.create(name="Foo_1") + self.Person.objects.create(name="Foo_1") self.assertEqual(self.Person.objects.count(with_limit_and_skip=True), 4) + def test_no_cursor_timeout(self): + qs = self.Person.objects() + self.assertEqual(qs._cursor_args, {}) # ensure no regression of #2148 + + qs = self.Person.objects().timeout(True) + self.assertEqual(qs._cursor_args, {}) + + qs = self.Person.objects().timeout(False) + self.assertEqual(qs._cursor_args, {"no_cursor_timeout": True}) + if __name__ == "__main__": unittest.main()