Skip to content

Commit 587e448

Browse files
committed
PYTHON-1604 - Stop testing reindex with mongos and MongoDB 4.1+
1 parent a537a71 commit 587e448

File tree

3 files changed

+22
-6
lines changed

3 files changed

+22
-6
lines changed

test/__init__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -594,6 +594,13 @@ def require_transactions(self, func):
594594
new_func = self.require_version_min(4, 0, 0, -1)(func)
595595
return self.require_replica_set(new_func)
596596

597+
@property
598+
def supports_reindex(self):
599+
"""Does the connected server support reindex?"""
600+
return not (
601+
self.version.at_least(4, 1, 0) and
602+
self.is_mongos)
603+
597604

598605
# Reusable client context
599606
client_context = ClientContext()

test/test_collection.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,9 @@ def test_index_management_max_time_ms(self):
332332
mode="off")
333333

334334
def test_reindex(self):
335+
if not client_context.supports_reindex:
336+
raise unittest.SkipTest(
337+
"reindex is no longer supported by mongos 4.1+")
335338
db = self.db
336339
db.drop_collection("test")
337340
db.test.insert_one({"foo": "bar", "who": "what", "when": "how"})

test/test_session.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
OperationFailure)
2828
from pymongo.monotonic import time as _time
2929
from pymongo.read_concern import ReadConcern
30-
from pymongo.write_concern import WriteConcern
3130
from test import IntegrationTest, client_context, db_user, db_pwd, unittest, SkipTest
3231
from test.utils import ignore_deprecations, rs_or_single_client, EventListener
3332

@@ -321,12 +320,15 @@ def test_collection(self):
321320
(coll.count, [], {}),
322321
(coll.count_documents, [{}], {}),
323322
(coll.inline_map_reduce, ['function() {}', 'function() {}'], {}),
324-
(coll.reindex, [], {}),
325323
(coll.list_indexes, [], {}),
326324
(coll.index_information, [], {}),
327325
(coll.options, [], {}),
328326
(coll.aggregate, [[]], {}),
329327
])
328+
329+
if client_context.supports_reindex:
330+
ops.append((coll.reindex, [], {}))
331+
330332
self._test_ops(client, *ops)
331333

332334
@client_context.require_no_mongos
@@ -922,8 +924,10 @@ def test_writes(self):
922924
lambda coll, session: coll.drop_index("foo_1", session=session))
923925
self._test_writes(
924926
lambda coll, session: coll.drop_indexes(session=session))
925-
self._test_writes(
926-
lambda coll, session: coll.reindex(session=session))
927+
928+
if client_context.supports_reindex:
929+
self._test_writes(
930+
lambda coll, session: coll.reindex(session=session))
927931

928932
def _test_no_read_concern(self, op):
929933
coll = self.client.pymongo_test.test
@@ -977,8 +981,6 @@ def test_writes_do_not_include_read_concern(self):
977981
lambda coll, session: coll.drop_index("foo_1", session=session))
978982
self._test_no_read_concern(
979983
lambda coll, session: coll.drop_indexes(session=session))
980-
self._test_no_read_concern(
981-
lambda coll, session: coll.reindex(session=session))
982984
self._test_no_read_concern(
983985
lambda coll, session: list(
984986
coll.aggregate([{"$out": "aggout"}], session=session)))
@@ -993,6 +995,10 @@ def test_writes_do_not_include_read_concern(self):
993995
self._test_no_read_concern(
994996
lambda coll, session: coll.find({}, session=session).explain())
995997

998+
if client_context.supports_reindex:
999+
self._test_no_read_concern(
1000+
lambda coll, session: coll.reindex(session=session))
1001+
9961002
@client_context.require_no_standalone
9971003
def test_get_more_does_not_include_read_concern(self):
9981004
coll = self.client.pymongo_test.test

0 commit comments

Comments
 (0)