# HG changeset patch # User Peter Sanchez # Date 1645118231 21600 # Thu Feb 17 11:17:11 2022 -0600 # Node ID e476fddd2d4133ce6cda6b7ba1c8198b46a0a3ad # Parent 800a80cb6723fd044d5bc3a1dc6b39cb577561d7 Updating for Django 4.0 support diff --git a/README.md b/README.md --- a/README.md +++ b/README.md @@ -458,15 +458,16 @@ And you should see: - py36-django2.2: commands succeeded - py36-django3.0: commands succeeded - py36-django3.1: commands succeeded py37-django2.2: commands succeeded - py37-django3.0: commands succeeded - py37-django3.1: commands succeeded + py37-django3.2: commands succeeded py38-django2.2: commands succeeded - py38-django3.0: commands succeeded - py38-django3.1: commands succeeded + py38-django3.2: commands succeeded + py39-django2.2: commands succeeded + py39-django3.2: commands succeeded + py38-django4.0: commands succeeded + py39-django4.0: commands succeeded + py310-django3.2: commands succeeded + py310-django4.0: commands succeeded congratulations :) # Contributing diff --git a/README.rst b/README.rst --- a/README.rst +++ b/README.rst @@ -540,15 +540,16 @@ :: - py36-django2.2: commands succeeded - py36-django3.0: commands succeeded - py36-django3.1: commands succeeded py37-django2.2: commands succeeded - py37-django3.0: commands succeeded - py37-django3.1: commands succeeded + py37-django3.2: commands succeeded py38-django2.2: commands succeeded - py38-django3.0: commands succeeded - py38-django3.1: commands succeeded + py38-django3.2: commands succeeded + py39-django2.2: commands succeeded + py39-django3.2: commands succeeded + py38-django4.0: commands succeeded + py39-django4.0: commands succeeded + py310-django3.2: commands succeeded + py310-django4.0: commands succeeded congratulations :) Contributing diff --git a/impersonate/__init__.py b/impersonate/__init__.py --- a/impersonate/__init__.py +++ b/impersonate/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -VERSION = (1, 7, 3, 'final', 0) +VERSION = (1, 8, 0, 'final', 0) # taken from django-registration diff --git a/impersonate/tests.py b/impersonate/tests.py --- a/impersonate/tests.py +++ b/impersonate/tests.py @@ -50,6 +50,13 @@ django_version_loose = LooseVersion(django.get_version()) +def _get_location(response): + # For 2.2 compat. Remove once 2.2 support is EOL + if hasattr(response, 'headers'): + return response.headers['location'] + return response._headers['location'][1] + + def test_view(request): return HttpResponse('OK {0}'.format(request.user)) @@ -439,7 +446,7 @@ # compare querystrings self.assertEqual( 'http://testserver{0}'.format(starting_url), - response._headers['location'][1], + _get_location(response), ) self.assertEqual(self.client.session.get('_impersonate'), None) self.client.logout() @@ -465,12 +472,12 @@ if not use_refer and django_version_loose >= '1.9': self.assertEqual( - use_url_path, response._headers['location'][1] + use_url_path, _get_location(response), ) else: self.assertEqual( 'http://testserver{0}'.format(use_url_path), - response._headers['location'][1], + _get_location(response), ) self.assertEqual(self.client.session.get('_impersonate'), None) diff --git a/runtests.py b/runtests.py --- a/runtests.py +++ b/runtests.py @@ -12,6 +12,7 @@ DATABASES={'default': {'ENGINE': 'django.db.backends.sqlite3',},}, USE_TZ=True, ROOT_URLCONF='{0}.tests'.format(APP_NAME), + SECRET_KEY='somerandomsecretkey', # LOGGING = { # 'version': 1, # 'disable_existing_loggers': False, diff --git a/tox.ini b/tox.ini --- a/tox.ini +++ b/tox.ini @@ -1,10 +1,10 @@ [tox] downloadcache = {toxworkdir}/cache/ -envlist = py{36,37,38}-django{2.2,3.0,3.1} +envlist = py{37,38,39}-django{2.2,3.2},py{38,39}-django{4.0},py310-django{3.2,4.0} [testenv] commands = {envpython} runtests.py deps = django2.2: django>=2.2,<3.0 - django3.0: django>=3.0,<3.1 - django3.1: django>=3.1,<3.2 + django3.2: django>=3.2,<4.0 + django4.0: django>=4.0,<4.1