From e61c1ed68c7ba95c782f5542453c067230129e22 Mon Sep 17 00:00:00 2001 From: Pascal F Date: Mon, 27 Jan 2025 11:49:48 +0100 Subject: [PATCH 1/3] Fix override_config on Django 5.2 --- constance/test/unittest.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/constance/test/unittest.py b/constance/test/unittest.py index 2c1f3df..150188e 100644 --- a/constance/test/unittest.py +++ b/constance/test/unittest.py @@ -1,5 +1,6 @@ from functools import wraps +from django import VERSION as DJANGO_VERSION from django.test import SimpleTestCase from django.test.utils import override_settings @@ -44,9 +45,17 @@ class override_config(override_settings): original_pre_setup = test_case._pre_setup original_post_teardown = test_case._post_teardown - def _pre_setup(inner_self): - self.enable() - original_pre_setup(inner_self) + if DJANGO_VERSION < (5, 2): + def _pre_setup(inner_self): + self.enable() + original_pre_setup(inner_self) + else: + @classmethod + def _pre_setup(cls): + # NOTE: Django 5.2 turned this as a classmethod + # https://github.com/django/django/pull/18514/files + self.enable() + original_pre_setup() def _post_teardown(inner_self): original_post_teardown(inner_self) From 756ff419ac5c6378c3ce1620e77dc0ed39b91504 Mon Sep 17 00:00:00 2001 From: Pascal F Date: Mon, 27 Jan 2025 11:53:49 +0100 Subject: [PATCH 2/3] Add Django 5.2 to the test matrix --- tox.ini | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tox.ini b/tox.ini index 228bcb7..00dcdcf 100644 --- a/tox.ini +++ b/tox.ini @@ -4,6 +4,7 @@ envlist = py{38,39,310,311,312}-dj{42}-{unittest,pytest,checkmigrations} py{310,311,312}-dj{50}-{unittest,pytest,checkmigrations} py{310,311,312,313}-dj{51}-{unittest,pytest,checkmigrations} + py{310,311,312,313}-dj{52}-{unittest,pytest,checkmigrations} py{310,311,312,313}-dj{main}-{unittest,pytest,checkmigrations} skip_missing_interpreters = True @@ -14,6 +15,7 @@ deps = dj42: django>=4.2,<4.3 dj50: django>=5.0,<5.1 dj51: django>=5.1,<5.2 + dj52: django==5.2alpha1 djmain: https://github.com/django/django/archive/main.tar.gz pytest: pytest pytest: pytest-cov From 8193866157ed873e6be42f237d2a2d7676bcd01d Mon Sep 17 00:00:00 2001 From: Pascal F Date: Mon, 27 Jan 2025 12:03:11 +0100 Subject: [PATCH 3/3] Ruff format --- constance/test/unittest.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/constance/test/unittest.py b/constance/test/unittest.py index 150188e..662a596 100644 --- a/constance/test/unittest.py +++ b/constance/test/unittest.py @@ -46,10 +46,12 @@ class override_config(override_settings): original_post_teardown = test_case._post_teardown if DJANGO_VERSION < (5, 2): + def _pre_setup(inner_self): self.enable() original_pre_setup(inner_self) else: + @classmethod def _pre_setup(cls): # NOTE: Django 5.2 turned this as a classmethod