From b2bba67b61f033be5360bebc1ea260164ae75bb2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Sep 2025 07:30:34 -0500 Subject: [PATCH 1/5] Update coverage requirement from <=7.10.5,>=5 to >=5,<=7.10.6 (#2512) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 111136d08..53025cc3f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -55,7 +55,7 @@ gevent = ["gevent", "cffi>=2.0.0b1;python_version=='3.14'"] eventlet = ["eventlet"] coverage = [ "pytest-cov", - "coverage>=5,<=7.10.5" + "coverage>=5,<=7.10.6" ] mockupdb = [ "mockupdb@git+https://github.com/mongodb-labs/mongo-mockup-db@master" From b756bbd2a392ee9a810dd9b5df97fc4e16cfae37 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Sep 2025 08:37:19 -0500 Subject: [PATCH 2/5] Bump the actions group with 2 updates (#2513) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Steven Silvester --- .github/workflows/zizmor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/zizmor.yml b/.github/workflows/zizmor.yml index e7a39fa39..2db3b43e7 100644 --- a/.github/workflows/zizmor.yml +++ b/.github/workflows/zizmor.yml @@ -18,4 +18,4 @@ jobs: with: persist-credentials: false - name: Run zizmor 🌈 - uses: zizmorcore/zizmor-action@7f2abfff7488a44086dba64ed2f5a9b431508079 + uses: zizmorcore/zizmor-action@a016d81e77496751b5c04eb1e8f00214bd396553 From d63edf7aea260be286a3bc98e28f961db43a71b0 Mon Sep 17 00:00:00 2001 From: Noah Stapp Date: Wed, 3 Sep 2025 13:35:43 -0400 Subject: [PATCH 3/5] PYTHON-5524 - Fix CSFLE spec test min version checks (#2516) --- test/asynchronous/unified_format.py | 4 +++- test/unified_format.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/test/asynchronous/unified_format.py b/test/asynchronous/unified_format.py index 9bd0fabdb..b10879733 100644 --- a/test/asynchronous/unified_format.py +++ b/test/asynchronous/unified_format.py @@ -157,7 +157,9 @@ async def is_run_on_requirement_satisfied(requirement): csfle_satisfied = True req_csfle = requirement.get("csfle") if req_csfle is True: - min_version_satisfied = Version.from_string("4.2") <= server_version + # Don't overwrite unsatisfied minimum version requirements. + if min_version_satisfied: + min_version_satisfied = Version.from_string("4.2") <= server_version csfle_satisfied = _HAVE_PYMONGOCRYPT and min_version_satisfied elif isinstance(req_csfle, dict) and "minLibmongocryptVersion" in req_csfle: csfle_satisfied = False diff --git a/test/unified_format.py b/test/unified_format.py index bc21464ab..1d47f747d 100644 --- a/test/unified_format.py +++ b/test/unified_format.py @@ -156,7 +156,9 @@ def is_run_on_requirement_satisfied(requirement): csfle_satisfied = True req_csfle = requirement.get("csfle") if req_csfle is True: - min_version_satisfied = Version.from_string("4.2") <= server_version + # Don't overwrite unsatisfied minimum version requirements. + if min_version_satisfied: + min_version_satisfied = Version.from_string("4.2") <= server_version csfle_satisfied = _HAVE_PYMONGOCRYPT and min_version_satisfied elif isinstance(req_csfle, dict) and "minLibmongocryptVersion" in req_csfle: csfle_satisfied = False From c0e0554a3b69b7c3140a792934682c19b43fc269 Mon Sep 17 00:00:00 2001 From: Noah Stapp Date: Wed, 3 Sep 2025 14:18:51 -0400 Subject: [PATCH 4/5] PYTHON-5521 - Update TestBsonSizeBatches.test_06_insert_fails_over_16MiB error codes (#2515) --- test/asynchronous/test_encryption.py | 2 +- test/test_encryption.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/asynchronous/test_encryption.py b/test/asynchronous/test_encryption.py index 337dba0f6..4517c9f91 100644 --- a/test/asynchronous/test_encryption.py +++ b/test/asynchronous/test_encryption.py @@ -1268,7 +1268,7 @@ class TestBsonSizeBatches(AsyncEncryptionIntegrationTest): with self.assertRaises(BulkWriteError) as ctx: await self.coll_encrypted.bulk_write([InsertOne(doc)]) err = ctx.exception.details["writeErrors"][0] - self.assertEqual(2, err["code"]) + self.assertIn(err["code"], [2, 10334]) self.assertIn("object to insert too large", err["errmsg"]) diff --git a/test/test_encryption.py b/test/test_encryption.py index 46d8c785c..fb18cc2dd 100644 --- a/test/test_encryption.py +++ b/test/test_encryption.py @@ -1264,7 +1264,7 @@ class TestBsonSizeBatches(EncryptionIntegrationTest): with self.assertRaises(BulkWriteError) as ctx: self.coll_encrypted.bulk_write([InsertOne(doc)]) err = ctx.exception.details["writeErrors"][0] - self.assertEqual(2, err["code"]) + self.assertIn(err["code"], [2, 10334]) self.assertIn("object to insert too large", err["errmsg"]) From b84e1a7ce4f53faf3b4898fdf8b5b89251f8c047 Mon Sep 17 00:00:00 2001 From: Noah Stapp Date: Wed, 3 Sep 2025 15:00:04 -0400 Subject: [PATCH 5/5] PYTHON-5527 - Unified test typo in 'Expected error' (#2517) --- test/asynchronous/unified_format.py | 2 +- test/unified_format.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/asynchronous/unified_format.py b/test/asynchronous/unified_format.py index b10879733..cc8f58477 100644 --- a/test/asynchronous/unified_format.py +++ b/test/asynchronous/unified_format.py @@ -1032,7 +1032,7 @@ class UnifiedSpecTestMixinV1(AsyncIntegrationTest): raise else: if expect_error: - self.fail(f'Excepted error {expect_error} but "{opname}" succeeded: {result}') + self.fail(f'Expected error {expect_error} but "{opname}" succeeded: {result}') if expect_result: actual = coerce_result(opname, result) diff --git a/test/unified_format.py b/test/unified_format.py index 1d47f747d..8945948e6 100644 --- a/test/unified_format.py +++ b/test/unified_format.py @@ -1023,7 +1023,7 @@ class UnifiedSpecTestMixinV1(IntegrationTest): raise else: if expect_error: - self.fail(f'Excepted error {expect_error} but "{opname}" succeeded: {result}') + self.fail(f'Expected error {expect_error} but "{opname}" succeeded: {result}') if expect_result: actual = coerce_result(opname, result)