Skip to content

Commit 43b3b88

Browse files
committed
Cleanup
1 parent c898044 commit 43b3b88

23 files changed

+37
-811
lines changed

test/asynchronous/test_bulk.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ async def _test_update_many(self, update):
165165
async def test_update_many(self):
166166
await self._test_update_many({"$set": {"foo": "bar"}})
167167

168-
@async_client_context.require_version_min(4, 1, 11)
168+
@async_client_context.require_version_min(4, 2, 0)
169169
async def test_update_many_pipeline(self):
170170
await self._test_update_many([{"$set": {"foo": "bar"}}])
171171

@@ -206,7 +206,7 @@ async def _test_update_one(self, update):
206206
async def test_update_one(self):
207207
await self._test_update_one({"$set": {"foo": "bar"}})
208208

209-
@async_client_context.require_version_min(4, 1, 11)
209+
@async_client_context.require_version_min(4, 2, 0)
210210
async def test_update_one_pipeline(self):
211211
await self._test_update_one([{"$set": {"foo": "bar"}}])
212212

test/asynchronous/test_change_stream.py

Lines changed: 12 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ async def test_batch_size_is_honored(self):
267267

268268
# $changeStream.startAtOperationTime was added in 4.0.0.
269269
@no_type_check
270-
@async_client_context.require_version_min(4, 0, 0)
270+
@async_client_context.require_version_min(4, 2, 0)
271271
async def test_start_at_operation_time(self):
272272
optime = await self.get_start_at_operation_time()
273273

@@ -436,7 +436,7 @@ async def test_change_operations(self):
436436
await self._test_get_invalidate_event(change_stream)
437437

438438
@no_type_check
439-
@async_client_context.require_version_min(4, 1, 1)
439+
@async_client_context.require_version_min(4, 2, 0)
440440
async def test_start_after(self):
441441
resume_token = await self.get_resume_token(invalidate=True)
442442

@@ -452,7 +452,7 @@ async def test_start_after(self):
452452
self.assertEqual(change["fullDocument"], {"_id": 2})
453453

454454
@no_type_check
455-
@async_client_context.require_version_min(4, 1, 1)
455+
@async_client_context.require_version_min(4, 2, 0)
456456
async def test_start_after_resume_process_with_changes(self):
457457
resume_token = await self.get_resume_token(invalidate=True)
458458

@@ -563,27 +563,16 @@ async def _test_update_resume_token(self, expected_rt_getter):
563563
)
564564

565565
# Prose test no. 1
566-
@async_client_context.require_version_min(4, 0, 7)
566+
@async_client_context.require_version_min(4, 2, 0)
567567
async def test_update_resume_token(self):
568568
await self._test_update_resume_token(self._get_expected_resume_token)
569569

570-
# Prose test no. 1
571-
@async_client_context.require_version_max(4, 0, 7)
572-
async def test_update_resume_token_legacy(self):
573-
await self._test_update_resume_token(self._get_expected_resume_token_legacy)
574-
575570
# Prose test no. 2
576-
@async_client_context.require_version_min(4, 1, 8)
571+
@async_client_context.require_version_min(4, 2, 0)
577572
async def test_raises_error_on_missing_id_418plus(self):
578573
# Server returns an error on 4.1.8+
579574
await self._test_raises_error_on_missing_id(OperationFailure)
580575

581-
# Prose test no. 2
582-
@async_client_context.require_version_max(4, 1, 8)
583-
async def test_raises_error_on_missing_id_418minus(self):
584-
# PyMongo raises an error
585-
await self._test_raises_error_on_missing_id(InvalidOperation)
586-
587576
# Prose test no. 3
588577
@no_type_check
589578
async def test_resume_on_error(self):
@@ -642,40 +631,12 @@ def raise_error():
642631
cursor.close = raise_error
643632
await self.insert_one_and_check(change_stream, {"_id": 2})
644633

645-
# Prose test no. 9
646-
@no_type_check
647-
@async_client_context.require_version_min(4, 0, 0)
648-
@async_client_context.require_version_max(4, 0, 7)
649-
async def test_start_at_operation_time_caching(self):
650-
# Case 1: change stream not started with startAtOperationTime
651-
client, listener = self.client_with_listener("aggregate")
652-
async with await self.change_stream_with_client(client) as cs:
653-
await self.kill_change_stream_cursor(cs)
654-
await cs.try_next()
655-
cmd = listener.started_events[-1].command
656-
self.assertIsNotNone(cmd["pipeline"][0]["$changeStream"].get("startAtOperationTime"))
657-
658-
# Case 2: change stream started with startAtOperationTime
659-
listener.reset()
660-
optime = await self.get_start_at_operation_time()
661-
async with await self.change_stream_with_client(
662-
client, start_at_operation_time=optime
663-
) as cs:
664-
await self.kill_change_stream_cursor(cs)
665-
await cs.try_next()
666-
cmd = listener.started_events[-1].command
667-
self.assertEqual(
668-
cmd["pipeline"][0]["$changeStream"].get("startAtOperationTime"),
669-
optime,
670-
str([k.command for k in listener.started_events]),
671-
)
672-
673634
# Prose test no. 10 - SKIPPED
674635
# This test is identical to prose test no. 3.
675636

676637
# Prose test no. 11
677638
@no_type_check
678-
@async_client_context.require_version_min(4, 0, 7)
639+
@async_client_context.require_version_min(4, 2, 0)
679640
async def test_resumetoken_empty_batch(self):
680641
client, listener = await self._client_with_listener("getMore")
681642
async with await self.change_stream_with_client(client) as change_stream:
@@ -687,7 +648,7 @@ async def test_resumetoken_empty_batch(self):
687648

688649
# Prose test no. 11
689650
@no_type_check
690-
@async_client_context.require_version_min(4, 0, 7)
651+
@async_client_context.require_version_min(4, 2, 0)
691652
async def test_resumetoken_exhausted_batch(self):
692653
client, listener = await self._client_with_listener("getMore")
693654
async with await self.change_stream_with_client(client) as change_stream:
@@ -697,38 +658,6 @@ async def test_resumetoken_exhausted_batch(self):
697658
response = listener.succeeded_events[-1].reply
698659
self.assertEqual(resume_token, response["cursor"]["postBatchResumeToken"])
699660

700-
# Prose test no. 12
701-
@no_type_check
702-
@async_client_context.require_version_max(4, 0, 7)
703-
async def test_resumetoken_empty_batch_legacy(self):
704-
resume_point = await self.get_resume_token()
705-
706-
# Empty resume token when neither resumeAfter or startAfter specified.
707-
async with await self.change_stream() as change_stream:
708-
await change_stream.try_next()
709-
self.assertIsNone(change_stream.resume_token)
710-
711-
# Resume token value is same as resumeAfter.
712-
async with await self.change_stream(resume_after=resume_point) as change_stream:
713-
await change_stream.try_next()
714-
resume_token = change_stream.resume_token
715-
self.assertEqual(resume_token, resume_point)
716-
717-
# Prose test no. 12
718-
@no_type_check
719-
@async_client_context.require_version_max(4, 0, 7)
720-
async def test_resumetoken_exhausted_batch_legacy(self):
721-
# Resume token is _id of last change.
722-
async with await self.change_stream() as change_stream:
723-
change = await self._populate_and_exhaust_change_stream(change_stream)
724-
self.assertEqual(change_stream.resume_token, change["_id"])
725-
resume_point = change["_id"]
726-
727-
# Resume token is _id of last change even if resumeAfter is specified.
728-
async with await self.change_stream(resume_after=resume_point) as change_stream:
729-
change = await self._populate_and_exhaust_change_stream(change_stream)
730-
self.assertEqual(change_stream.resume_token, change["_id"])
731-
732661
# Prose test no. 13
733662
@no_type_check
734663
async def test_resumetoken_partially_iterated_batch(self):
@@ -770,13 +699,13 @@ async def test_resumetoken_uniterated_nonempty_batch_resumeafter(self):
770699
# Prose test no. 14
771700
@no_type_check
772701
@async_client_context.require_no_mongos
773-
@async_client_context.require_version_min(4, 1, 1)
702+
@async_client_context.require_version_min(4, 2, 0)
774703
async def test_resumetoken_uniterated_nonempty_batch_startafter(self):
775704
await self._test_resumetoken_uniterated_nonempty_batch("start_after")
776705

777706
# Prose test no. 17
778707
@no_type_check
779-
@async_client_context.require_version_min(4, 1, 1)
708+
@async_client_context.require_version_min(4, 2, 0)
780709
async def test_startafter_resume_uses_startafter_after_empty_getMore(self):
781710
# Resume should use startAfter after no changes have been returned.
782711
resume_point = await self.get_resume_token()
@@ -796,7 +725,7 @@ async def test_startafter_resume_uses_startafter_after_empty_getMore(self):
796725

797726
# Prose test no. 18
798727
@no_type_check
799-
@async_client_context.require_version_min(4, 1, 1)
728+
@async_client_context.require_version_min(4, 2, 0)
800729
async def test_startafter_resume_uses_resumeafter_after_nonempty_getMore(self):
801730
# Resume should use resumeAfter after some changes have been returned.
802731
resume_point = await self.get_resume_token()
@@ -843,7 +772,7 @@ async def test_split_large_change(self):
843772
class TestClusterAsyncChangeStream(TestAsyncChangeStreamBase, APITestsMixin):
844773
dbs: list
845774

846-
@async_client_context.require_version_min(4, 0, 0, -1)
775+
@async_client_context.require_version_min(4, 2, 0)
847776
@async_client_context.require_change_streams
848777
async def asyncSetUp(self) -> None:
849778
await super().asyncSetUp()
@@ -903,7 +832,7 @@ async def test_full_pipeline(self):
903832

904833

905834
class TestAsyncDatabaseAsyncChangeStream(TestAsyncChangeStreamBase, APITestsMixin):
906-
@async_client_context.require_version_min(4, 0, 0, -1)
835+
@async_client_context.require_version_min(4, 2, 0)
907836
@async_client_context.require_change_streams
908837
async def asyncSetUp(self) -> None:
909838
await super().asyncSetUp()

test/asynchronous/test_connections_survive_primary_stepdown_spec.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -122,18 +122,12 @@ async def run_scenario(self, error_code, retry, pool_status_checker):
122122
async def test_not_primary_keep_connection_pool(self):
123123
await self.run_scenario(10107, True, self.verify_pool_not_cleared)
124124

125-
@async_client_context.require_version_min(4, 0, 0)
126-
@async_client_context.require_version_max(4, 1, 0, -1)
127-
@async_client_context.require_test_commands
128-
async def test_not_primary_reset_connection_pool(self):
129-
await self.run_scenario(10107, False, self.verify_pool_cleared)
130-
131-
@async_client_context.require_version_min(4, 0, 0)
125+
@async_client_context.require_version_min(4, 2, 0)
132126
@async_client_context.require_test_commands
133127
async def test_shutdown_in_progress(self):
134128
await self.run_scenario(91, False, self.verify_pool_cleared)
135129

136-
@async_client_context.require_version_min(4, 0, 0)
130+
@async_client_context.require_version_min(4, 2, 0)
137131
@async_client_context.require_test_commands
138132
async def test_interrupted_at_shutdown(self):
139133
await self.run_scenario(11600, False, self.verify_pool_cleared)

test/asynchronous/test_cursor.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1190,15 +1190,6 @@ async def test_distinct(self):
11901190

11911191
self.assertEqual(["b", "c"], distinct)
11921192

1193-
@async_client_context.require_version_max(4, 1, 0, -1)
1194-
async def test_max_scan(self):
1195-
await self.db.drop_collection("test")
1196-
await self.db.test.insert_many([{} for _ in range(100)])
1197-
1198-
self.assertEqual(100, len(await self.db.test.find().to_list()))
1199-
self.assertEqual(50, len(await self.db.test.find().max_scan(50).to_list()))
1200-
self.assertEqual(50, len(await self.db.test.find().max_scan(90).max_scan(50).to_list()))
1201-
12021193
async def test_with_statement(self):
12031194
await self.db.drop_collection("test")
12041195
await self.db.test.insert_many([{} for _ in range(100)])

test/asynchronous/test_custom_types.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -953,7 +953,7 @@ async def create_targets(self, *args, **kwargs):
953953
class TestDatabaseChangeStreamsWCustomTypes(
954954
AsyncIntegrationTest, ChangeStreamsWCustomTypesTestMixin
955955
):
956-
@async_client_context.require_version_min(4, 0, 0)
956+
@async_client_context.require_version_min(4, 2, 0)
957957
@async_client_context.require_change_streams
958958
async def asyncSetUp(self):
959959
await super().asyncSetUp()
@@ -973,7 +973,7 @@ async def create_targets(self, *args, **kwargs):
973973
class TestClusterChangeStreamsWCustomTypes(
974974
AsyncIntegrationTest, ChangeStreamsWCustomTypesTestMixin
975975
):
976-
@async_client_context.require_version_min(4, 0, 0)
976+
@async_client_context.require_version_min(4, 2, 0)
977977
@async_client_context.require_change_streams
978978
async def asyncSetUp(self):
979979
await super().asyncSetUp()

test/asynchronous/test_encryption.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -451,20 +451,6 @@ class TestClientMaxWireVersion(AsyncIntegrationTest):
451451
async def asyncSetUp(self):
452452
await super().asyncSetUp()
453453

454-
@async_client_context.require_version_max(4, 0, 99)
455-
async def test_raise_max_wire_version_error(self):
456-
opts = AutoEncryptionOpts(KMS_PROVIDERS, "keyvault.datakeys")
457-
client = await self.async_rs_or_single_client(auto_encryption_opts=opts)
458-
msg = "Auto-encryption requires a minimum MongoDB version of 4.2"
459-
with self.assertRaisesRegex(ConfigurationError, msg):
460-
await client.test.test.insert_one({})
461-
with self.assertRaisesRegex(ConfigurationError, msg):
462-
await client.admin.command("ping")
463-
with self.assertRaisesRegex(ConfigurationError, msg):
464-
await client.test.test.find_one({})
465-
with self.assertRaisesRegex(ConfigurationError, msg):
466-
await client.test.test.bulk_write([InsertOne({})])
467-
468454
async def test_raise_unsupported_error(self):
469455
opts = AutoEncryptionOpts(KMS_PROVIDERS, "keyvault.datakeys")
470456
client = await self.async_rs_or_single_client(auto_encryption_opts=opts)

test/asynchronous/test_session.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1045,14 +1045,6 @@ async def test_writes_do_not_include_read_concern(self):
10451045
lambda coll, session: coll.find({}, session=session).explain()
10461046
)
10471047

1048-
@async_client_context.require_no_standalone
1049-
@async_client_context.require_version_max(4, 1, 0)
1050-
async def test_aggregate_out_does_not_include_read_concern(self):
1051-
async def alambda(coll, session):
1052-
await (await coll.aggregate([{"$out": "aggout"}], session=session)).to_list()
1053-
1054-
await self._test_no_read_concern(alambda)
1055-
10561048
@async_client_context.require_no_standalone
10571049
async def test_get_more_does_not_include_read_concern(self):
10581050
coll = self.client.pymongo_test.test

test/discovery_and_monitoring/errors/pre-42-InterruptedAtShutdown.json

Lines changed: 0 additions & 70 deletions
This file was deleted.

0 commit comments

Comments
 (0)