PYTHON-1604 - Stop testing reindex with mongos and MongoDB 4.1+

This commit is contained in:
Bernie Hackett 2018-07-02 19:35:57 -07:00 committed by Bernie Hackett
parent a537a711d1
commit 587e448b69
3 changed files with 22 additions and 6 deletions

View File

@ -594,6 +594,13 @@ class ClientContext(object):
new_func = self.require_version_min(4, 0, 0, -1)(func)
return self.require_replica_set(new_func)
@property
def supports_reindex(self):
"""Does the connected server support reindex?"""
return not (
self.version.at_least(4, 1, 0) and
self.is_mongos)
# Reusable client context
client_context = ClientContext()

View File

@ -332,6 +332,9 @@ class TestCollection(IntegrationTest):
mode="off")
def test_reindex(self):
if not client_context.supports_reindex:
raise unittest.SkipTest(
"reindex is no longer supported by mongos 4.1+")
db = self.db
db.drop_collection("test")
db.test.insert_one({"foo": "bar", "who": "what", "when": "how"})

View File

@ -27,7 +27,6 @@ from pymongo.errors import (ConfigurationError,
OperationFailure)
from pymongo.monotonic import time as _time
from pymongo.read_concern import ReadConcern
from pymongo.write_concern import WriteConcern
from test import IntegrationTest, client_context, db_user, db_pwd, unittest, SkipTest
from test.utils import ignore_deprecations, rs_or_single_client, EventListener
@ -321,12 +320,15 @@ class TestSession(IntegrationTest):
(coll.count, [], {}),
(coll.count_documents, [{}], {}),
(coll.inline_map_reduce, ['function() {}', 'function() {}'], {}),
(coll.reindex, [], {}),
(coll.list_indexes, [], {}),
(coll.index_information, [], {}),
(coll.options, [], {}),
(coll.aggregate, [[]], {}),
])
if client_context.supports_reindex:
ops.append((coll.reindex, [], {}))
self._test_ops(client, *ops)
@client_context.require_no_mongos
@ -922,8 +924,10 @@ class TestCausalConsistency(unittest.TestCase):
lambda coll, session: coll.drop_index("foo_1", session=session))
self._test_writes(
lambda coll, session: coll.drop_indexes(session=session))
self._test_writes(
lambda coll, session: coll.reindex(session=session))
if client_context.supports_reindex:
self._test_writes(
lambda coll, session: coll.reindex(session=session))
def _test_no_read_concern(self, op):
coll = self.client.pymongo_test.test
@ -977,8 +981,6 @@ class TestCausalConsistency(unittest.TestCase):
lambda coll, session: coll.drop_index("foo_1", session=session))
self._test_no_read_concern(
lambda coll, session: coll.drop_indexes(session=session))
self._test_no_read_concern(
lambda coll, session: coll.reindex(session=session))
self._test_no_read_concern(
lambda coll, session: list(
coll.aggregate([{"$out": "aggout"}], session=session)))
@ -993,6 +995,10 @@ class TestCausalConsistency(unittest.TestCase):
self._test_no_read_concern(
lambda coll, session: coll.find({}, session=session).explain())
if client_context.supports_reindex:
self._test_no_read_concern(
lambda coll, session: coll.reindex(session=session))
@client_context.require_no_standalone
def test_get_more_does_not_include_read_concern(self):
coll = self.client.pymongo_test.test