From 002f484ed2df74d58972d3e2fff1c837e9979d4d Mon Sep 17 00:00:00 2001 From: Ido Shraga Date: Wed, 30 Oct 2024 13:44:50 +0200 Subject: [PATCH 1/8] mongoengine 29 --- example_app/models.py | 4 ++-- tests/test_forms_v2.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/example_app/models.py b/example_app/models.py index 7ec0f806..7eafe4d1 100644 --- a/example_app/models.py +++ b/example_app/models.py @@ -34,9 +34,9 @@ class AllFieldsModel(db.Document): file_field = db.FileField() float_field = db.FloatField() int_field = db.IntField() - list_field = db.ListField(field=db.StringField) + list_field = db.ListField(field=db.StringField()) reference_field = db.ReferenceField(document_type=Todo) - sorted_list_field = db.SortedListField(field=db.StringField) + sorted_list_field = db.SortedListField(field=db.StringField()) string_field = db.StringField() url_field = db.URLField() cached_reference_field = db.CachedReferenceField(document_type=Todo) diff --git a/tests/test_forms_v2.py b/tests/test_forms_v2.py index 1884139b..57499407 100644 --- a/tests/test_forms_v2.py +++ b/tests/test_forms_v2.py @@ -87,9 +87,9 @@ class AllFieldsModel(db.Document): file_field = db.FileField() float_field = db.FloatField() int_field = db.IntField() - list_field = db.ListField(field=db.StringField) + list_field = db.ListField(field=db.StringField()) reference_field = db.ReferenceField(document_type=Todo) - sorted_list_field = db.SortedListField(field=db.StringField) + sorted_list_field = db.SortedListField(field=db.StringField()) string_field = db.StringField() url_field = db.URLField() cached_reference_field = db.CachedReferenceField(document_type=Todo) From f5bf43b823977739ccdb37e55b4e3cbeae6ff66a Mon Sep 17 00:00:00 2001 From: Ido Shraga Date: Wed, 30 Oct 2024 15:26:20 +0200 Subject: [PATCH 2/8] remove support python 3.12 --- .github/workflows/tests.yml | 2 +- .pre-commit-config.yaml | 2 +- noxfile.py | 6 +++--- pyproject.toml | 1 - 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index c5b45045..3e829077 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: mongodb-version: ["4.0", "4.2", "4.4", "5.0", "6.0", "7.0"] - python: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python: ["3.8", "3.9", "3.10", "3.11"] steps: - uses: actions/checkout@v4 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9d89afdf..b2e7e83d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -24,7 +24,7 @@ repos: args: [--remove] - id: mixed-line-ending - repo: https://github.com/psf/black - rev: 24.8.0 + rev: 24.10.0 hooks: - id: black language_version: python3.10 diff --git a/noxfile.py b/noxfile.py index 843f9155..ab1498b0 100644 --- a/noxfile.py +++ b/noxfile.py @@ -57,7 +57,7 @@ def lint(session): session.run("pre-commit", "run", "-a") -@nox.session(python=["3.8", "3.9", "3.10", "3.11", "3.12"]) +@nox.session(python=["3.8", "3.9", "3.10", "3.11"]) @nox.parametrize("flask", ["==1.1.4", "==2.0.3", "==2.3.3", ">=3.0.0"]) @nox.parametrize("mongoengine", ["==0.21.0", "==0.22.1", "==0.23.1", ">=0.24.1"]) @nox.parametrize("toolbar", [True, False]) @@ -86,7 +86,7 @@ def _run_in_docker(session, db_version="5.0"): session.run_always("docker", "rm", "-fv", "nox_docker_test", external=True) -@nox.session(python=["3.8", "3.9", "3.10", "3.11", "3.12"]) +@nox.session(python=["3.8", "3.9", "3.10", "3.11"]) @nox.parametrize("flask", ["==1.1.4", "==2.0.3", "==2.3.3", ">=3.0.0"]) @nox.parametrize("mongoengine", ["==0.21.0", "==0.22.1", "==0.23.1", ">=0.24.1"]) @nox.parametrize("toolbar", [True, False]) @@ -98,7 +98,7 @@ def full_tests(session, flask, mongoengine, toolbar, wtf, db_version): _run_in_docker(session, db_version) -@nox.session(python=["3.8", "3.9", "3.10", "3.11", "3.12"]) +@nox.session(python=["3.8", "3.9", "3.10", "3.11"]) @nox.parametrize("toolbar", [True, False]) @nox.parametrize("wtf", [True, False]) @nox.parametrize("db_version", ["5.0", "6.0", "7.0"]) diff --git a/pyproject.toml b/pyproject.toml index 64c7a237..42e3119c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,6 @@ classifiers = [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", "Programming Language :: Python :: Implementation :: PyPy", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", From 3531c5aaa5c6bd71eef637c4dbb3520e9b1c0027 Mon Sep 17 00:00:00 2001 From: Ido Shraga Date: Thu, 31 Oct 2024 12:46:00 +0200 Subject: [PATCH 3/8] downgrade black for keep support python 3.8 --- .pre-commit-config.yaml | 2 +- pyproject.toml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b2e7e83d..9d89afdf 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -24,7 +24,7 @@ repos: args: [--remove] - id: mixed-line-ending - repo: https://github.com/psf/black - rev: 24.10.0 + rev: 24.8.0 hooks: - id: black language_version: python3.10 diff --git a/pyproject.toml b/pyproject.toml index 42e3119c..a9f0ddbc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,7 +53,7 @@ wtf = ["WTForms[email]>=3.0.0", ] toolbar = ["Flask-DebugToolbar>=0.11.0"] dev = [ - "black==24.10.0", + "black==24.8.0", "pre-commit", "pytest", "pytest-cov", @@ -100,7 +100,7 @@ write_to = "flask_mongoengine/_version.py" [tool.black] line-length = 88 -target-version = ['py38'] +target-version = ['py310'] exclude = ''' /( \.eggs From 5323aef234f9702a8d2d7c5739c2e5e8168a43fa Mon Sep 17 00:00:00 2001 From: Ido Shraga Date: Sun, 3 Nov 2024 11:19:12 +0200 Subject: [PATCH 4/8] mongodb 7 didnt return OperationFailure on recreate collection maybe bug may be feature but... --- tests/test_debug_panel.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/test_debug_panel.py b/tests/test_debug_panel.py index 4d292cdd..3c4a7c20 100644 --- a/tests/test_debug_panel.py +++ b/tests/test_debug_panel.py @@ -225,9 +225,9 @@ def test__normal_command__logged(self, py_db, registered_monitoring): def test__failed_command_logged__logged(self, py_db, registered_monitoring): """Failed command index 1 in provided test.""" - pymongo.collection.Collection(py_db, "test", create=True) + col = pymongo.collection.Collection(py_db, "test", create=True) with contextlib.suppress(OperationFailure): - pymongo.collection.Collection(py_db, "test", create=True) + col.create_index({'_id': -1}) assert registered_monitoring.started_operations_count == 2 assert registered_monitoring.succeeded_operations_count == 1 assert registered_monitoring.failed_operations_count == 1 @@ -244,11 +244,11 @@ def test__failed_command_logged__logged(self, py_db, registered_monitoring): assert registered_monitoring.queries[1].size >= 0 assert registered_monitoring.queries[1].database == "pymongo_test_database" assert registered_monitoring.queries[1].collection == "test" - assert registered_monitoring.queries[1].command_name == "create" + assert registered_monitoring.queries[1].command_name == 'createIndexes' assert isinstance(registered_monitoring.queries[1].operation_id, int) - assert registered_monitoring.queries[1].server_command["create"] == "test" + assert registered_monitoring.queries[1].server_command["createIndexes"] == "test" assert ( - "already exists" + "_id index must be {_id: 1}" in registered_monitoring.queries[1].server_response["errmsg"] ) assert registered_monitoring.queries[1].request_status == "Failed" From d291ba67d110714bbedfb28d2eec38869e49d415 Mon Sep 17 00:00:00 2001 From: Ido Shraga Date: Sun, 3 Nov 2024 11:22:02 +0200 Subject: [PATCH 5/8] lint --- tests/test_debug_panel.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/test_debug_panel.py b/tests/test_debug_panel.py index 3c4a7c20..28431c0a 100644 --- a/tests/test_debug_panel.py +++ b/tests/test_debug_panel.py @@ -227,7 +227,7 @@ def test__failed_command_logged__logged(self, py_db, registered_monitoring): """Failed command index 1 in provided test.""" col = pymongo.collection.Collection(py_db, "test", create=True) with contextlib.suppress(OperationFailure): - col.create_index({'_id': -1}) + col.create_index({"_id": -1}) assert registered_monitoring.started_operations_count == 2 assert registered_monitoring.succeeded_operations_count == 1 assert registered_monitoring.failed_operations_count == 1 @@ -244,9 +244,11 @@ def test__failed_command_logged__logged(self, py_db, registered_monitoring): assert registered_monitoring.queries[1].size >= 0 assert registered_monitoring.queries[1].database == "pymongo_test_database" assert registered_monitoring.queries[1].collection == "test" - assert registered_monitoring.queries[1].command_name == 'createIndexes' + assert registered_monitoring.queries[1].command_name == "createIndexes" assert isinstance(registered_monitoring.queries[1].operation_id, int) - assert registered_monitoring.queries[1].server_command["createIndexes"] == "test" + assert ( + registered_monitoring.queries[1].server_command["createIndexes"] == "test" + ) assert ( "_id index must be {_id: 1}" in registered_monitoring.queries[1].server_response["errmsg"] From 613af1632a830cf3230d4023a520a4ec6a1905ff Mon Sep 17 00:00:00 2001 From: Ido Shraga Date: Sun, 3 Nov 2024 11:44:41 +0200 Subject: [PATCH 6/8] old version of pymongo --- tests/test_debug_panel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_debug_panel.py b/tests/test_debug_panel.py index 28431c0a..03ac0344 100644 --- a/tests/test_debug_panel.py +++ b/tests/test_debug_panel.py @@ -227,7 +227,7 @@ def test__failed_command_logged__logged(self, py_db, registered_monitoring): """Failed command index 1 in provided test.""" col = pymongo.collection.Collection(py_db, "test", create=True) with contextlib.suppress(OperationFailure): - col.create_index({"_id": -1}) + col.create_index([["_id", -1]]) assert registered_monitoring.started_operations_count == 2 assert registered_monitoring.succeeded_operations_count == 1 assert registered_monitoring.failed_operations_count == 1 From a6a112b60f16fe3bd5ba38219257826f878709e5 Mon Sep 17 00:00:00 2001 From: Ido Shraga Date: Sun, 3 Nov 2024 12:25:09 +0200 Subject: [PATCH 7/8] old version of pymongo --- tests/test_debug_panel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_debug_panel.py b/tests/test_debug_panel.py index 03ac0344..ef26b66a 100644 --- a/tests/test_debug_panel.py +++ b/tests/test_debug_panel.py @@ -227,7 +227,7 @@ def test__failed_command_logged__logged(self, py_db, registered_monitoring): """Failed command index 1 in provided test.""" col = pymongo.collection.Collection(py_db, "test", create=True) with contextlib.suppress(OperationFailure): - col.create_index([["_id", -1]]) + col.create_index([["_id", -1]], name="foo") assert registered_monitoring.started_operations_count == 2 assert registered_monitoring.succeeded_operations_count == 1 assert registered_monitoring.failed_operations_count == 1 From ec1c727c17dd034405587b2a6f87bbcb113bf4ff Mon Sep 17 00:00:00 2001 From: Ido Shraga <35264146+idoshr@users.noreply.github.com> Date: Sun, 3 Nov 2024 12:55:47 +0200 Subject: [PATCH 8/8] Update tests.yml test against mongo 8.0 --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3e829077..b68a311a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - mongodb-version: ["4.0", "4.2", "4.4", "5.0", "6.0", "7.0"] + mongodb-version: ["4.4", "5.0", "6.0", "7.0", "8.0"] python: ["3.8", "3.9", "3.10", "3.11"] steps: