Skip to content

Commit d682815

Browse files
committed
Add support for django 4.0
1 parent 7257535 commit d682815

File tree

5 files changed

+14
-8
lines changed

5 files changed

+14
-8
lines changed

src/dockerflow/django/middleware.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,10 @@ class DockerflowMiddleware(MiddlewareMixin):
3838
(re.compile(r"/__lbheartbeat__/?$"), views.lbheartbeat),
3939
]
4040

41-
def __init__(self, *args, **kwargs):
42-
super(DockerflowMiddleware, self).__init__(*args, **kwargs)
41+
def __init__(self, get_response=None, *args, **kwargs):
42+
super(DockerflowMiddleware, self).__init__(
43+
get_response=get_response, *args, **kwargs
44+
)
4345
self.summary_logger = logging.getLogger("request.summary")
4446

4547
def process_request(self, request):

src/dockerflow/django/signals.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,5 @@ def heartbeat_failed_handler(sender, level, **kwargs):
3535
"""
3636
from django.dispatch import Signal
3737

38-
heartbeat_passed = Signal(providing_args=["level"])
39-
heartbeat_failed = Signal(providing_args=["level"])
38+
heartbeat_passed = Signal()
39+
heartbeat_failed = Signal()

tests/constraints/django-4.0.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Django>=4.0,<4.1

tests/django/test_django.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from django.core.exceptions import ImproperlyConfigured
1212
from django.db import connection
1313
from django.db.utils import OperationalError, ProgrammingError
14+
from django.http import HttpResponse
1415
from django.test.utils import CaptureQueriesContext
1516

1617
from dockerflow import health
@@ -35,7 +36,7 @@ def reset_checks():
3536

3637
@pytest.fixture
3738
def dockerflow_middleware():
38-
return DockerflowMiddleware()
39+
return DockerflowMiddleware(get_response=HttpResponse())
3940

4041

4142
@pytest.mark.parametrize("request_path", ["/__version__", "/__version__/"])
@@ -155,7 +156,7 @@ def process_request(self, request):
155156
def process_response(self, request, response):
156157
return response
157158

158-
hostile_middleware = HostileMiddleware()
159+
hostile_middleware = HostileMiddleware(get_response=HttpResponse())
159160
response = dockerflow_middleware.process_request(dockerflow_request)
160161
response = hostile_middleware.process_request(dockerflow_request)
161162
response = hostile_middleware.process_response(dockerflow_request, response)

tox.ini

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ envlist =
55
py38-lint
66
py38-docs
77
py{36,37,38,39}-dj{22,30,31}
8+
py{38,39}-dj{40}
89
py{36,37,38,39}-fl{011,012,10}
910
py{36,37,38,39}-s{19,20}
1011

@@ -23,20 +24,21 @@ setenv =
2324
PYTHONPATH = {toxinidir}
2425
deps =
2526
-rtests/requirements/default.txt
26-
dj{22,30,31}: -rtests/requirements/django.txt
27+
dj{22,30,31,40}: -rtests/requirements/django.txt
2728
fl{011,012,10}: -rtests/requirements/flask.txt
2829
s{19,20}: -rtests/requirements/sanic.txt
2930
dj22: -ctests/constraints/django-2.2.txt
3031
dj30: -ctests/constraints/django-3.0.txt
3132
dj31: -ctests/constraints/django-3.1.txt
33+
dj40: -ctests/constraints/django-4.0.txt
3234
fl011: -ctests/constraints/flask-0.11.txt
3335
fl012: -ctests/constraints/flask-0.12.txt
3436
fl10: -ctests/constraints/flask-1.0.txt
3537
s19: -ctests/constraints/sanic-19.txt
3638
s20: -ctests/constraints/sanic-20.txt
3739
commands =
3840
python --version
39-
dj{22,30,31}: pytest tests/core/ tests/django --nomigrations {posargs:}
41+
dj{22,30,31,40}: pytest tests/core/ tests/django --nomigrations {posargs:}
4042
fl{011,012,10}: pytest tests/core/ tests/flask/ {posargs:}
4143
s{19,20}: pytest tests/core/ tests/sanic/ {posargs:}
4244

0 commit comments

Comments
 (0)