Merge pull request #2174 from bagerard/upgrade_latest_pymongo_travis

add latest pymongo 3.9 as part of the CI
This commit is contained in:
Bastien Gérard 2019-10-28 21:22:00 +01:00 committed by GitHub
commit ecefa05e03
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 18 deletions

View File

@ -32,10 +32,11 @@ env:
global:
- MONGODB_3_4=3.4.17
- MONGODB_3_6=3.6.12
- PYMONGO_3_9=3.9
- PYMONGO_3_6=3.6
- PYMONGO_3_4=3.4
matrix:
- MONGODB=${MONGODB_3_4} PYMONGO=${PYMONGO_3_6}
- MONGODB=${MONGODB_3_4} PYMONGO=${PYMONGO_3_9}
matrix:
@ -47,6 +48,8 @@ matrix:
env: MONGODB=${MONGODB_3_4} PYMONGO=${PYMONGO_3_4}
- python: 3.7
env: MONGODB=${MONGODB_3_6} PYMONGO=${PYMONGO_3_6}
- python: 3.7
env: MONGODB=${MONGODB_3_6} PYMONGO=${PYMONGO_3_9}
install:

View File

@ -1639,6 +1639,7 @@ class BaseQuerySet(object):
).find(self._query, **self._cursor_args)
else:
self._cursor_obj = self._collection.find(self._query, **self._cursor_args)
# Apply "where" clauses to cursor
if self._where_clause:
where_clause = self._sub_js_fields(self._where_clause)

View File

@ -4641,43 +4641,35 @@ class TestQueryset(unittest.TestCase):
bars = Bar.objects.read_preference(ReadPreference.SECONDARY_PREFERRED)
self.assertEqual(bars._read_preference, ReadPreference.SECONDARY_PREFERRED)
self.assertEqual(
bars._cursor._Cursor__read_preference, ReadPreference.SECONDARY_PREFERRED
bars._cursor.collection.read_preference, ReadPreference.SECONDARY_PREFERRED
)
# Make sure that `.read_preference(...)` does accept string values.
self.assertRaises(TypeError, Bar.objects.read_preference, "Primary")
def assert_read_pref(qs, expected_read_pref):
self.assertEqual(qs._read_preference, expected_read_pref)
self.assertEqual(qs._cursor.collection.read_preference, expected_read_pref)
# Make sure read preference is respected after a `.skip(...)`.
bars = Bar.objects.skip(1).read_preference(ReadPreference.SECONDARY_PREFERRED)
self.assertEqual(bars._read_preference, ReadPreference.SECONDARY_PREFERRED)
self.assertEqual(
bars._cursor._Cursor__read_preference, ReadPreference.SECONDARY_PREFERRED
)
assert_read_pref(bars, ReadPreference.SECONDARY_PREFERRED)
# Make sure read preference is respected after a `.limit(...)`.
bars = Bar.objects.limit(1).read_preference(ReadPreference.SECONDARY_PREFERRED)
self.assertEqual(bars._read_preference, ReadPreference.SECONDARY_PREFERRED)
self.assertEqual(
bars._cursor._Cursor__read_preference, ReadPreference.SECONDARY_PREFERRED
)
assert_read_pref(bars, ReadPreference.SECONDARY_PREFERRED)
# Make sure read preference is respected after an `.order_by(...)`.
bars = Bar.objects.order_by("txt").read_preference(
ReadPreference.SECONDARY_PREFERRED
)
self.assertEqual(bars._read_preference, ReadPreference.SECONDARY_PREFERRED)
self.assertEqual(
bars._cursor._Cursor__read_preference, ReadPreference.SECONDARY_PREFERRED
)
assert_read_pref(bars, ReadPreference.SECONDARY_PREFERRED)
# Make sure read preference is respected after a `.hint(...)`.
bars = Bar.objects.hint([("txt", 1)]).read_preference(
ReadPreference.SECONDARY_PREFERRED
)
self.assertEqual(bars._read_preference, ReadPreference.SECONDARY_PREFERRED)
self.assertEqual(
bars._cursor._Cursor__read_preference, ReadPreference.SECONDARY_PREFERRED
)
assert_read_pref(bars, ReadPreference.SECONDARY_PREFERRED)
def test_read_preference_aggregation_framework(self):
class Bar(Document):

View File

@ -8,5 +8,6 @@ deps =
nose
mg34: pymongo>=3.4,<3.5
mg36: pymongo>=3.6,<3.7
mg39: pymongo>=3.9,<4.0
setenv =
PYTHON_EGG_CACHE = {envdir}/python-eggs