Skip to content

Commit 57fe5b5

Browse files
authored
Drop Django 3.1 related code (#75)
This PR drops code introduced in #18 to support Django 3.1: https://docs.djangoproject.com/en/4.1/releases/3.1/#default-hashing-algorithm-settings Since Django 3.1 support is gone, shall we get rid of this code?
1 parent 6271248 commit 57fe5b5

File tree

2 files changed

+2
-43
lines changed

2 files changed

+2
-43
lines changed

mailauth/contrib/user/models.py

+1-19
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from django.conf import settings
21
from django.contrib.auth.base_user import BaseUserManager
32
from django.contrib.auth.models import AbstractUser
43
from django.db import models
@@ -75,29 +74,12 @@ class Meta(AbstractUser.Meta):
7574
("anonymize", "Can anonymize user"),
7675
]
7776

78-
def _legacy_get_session_auth_hash(self):
79-
# RemovedInDjango40Warning: pre-Django 3.1 hashes will be invalid.
80-
key_salt = "mailauth.contrib.user.models.EmailUserManager.get_session_auth_hash"
81-
if not self.session_salt:
82-
raise ValueError("'session_salt' must be set")
83-
return salted_hmac(key_salt, self.session_salt, algorithm="sha1").hexdigest()
84-
8577
def get_session_auth_hash(self):
8678
"""Return an HMAC of the :attr:`.session_salt` field."""
8779
key_salt = "mailauth.contrib.user.models.EmailUserManager.get_session_auth_hash"
8880
if not self.session_salt:
8981
raise ValueError("'session_salt' must be set")
90-
algorithm = getattr(settings, "DEFAULT_HASHING_ALGORITHM", None)
91-
if algorithm is None:
92-
return salted_hmac(key_salt, self.session_salt).hexdigest()
93-
return salted_hmac(
94-
key_salt,
95-
self.session_salt,
96-
# RemovedInDjango40Warning: when the deprecation ends, replace
97-
# with:
98-
# algorithm='sha256',
99-
algorithm=algorithm,
100-
).hexdigest()
82+
return salted_hmac(key_salt, self.session_salt, algorithm="sha256").hexdigest()
10183

10284
def anonymize(self, commit=True):
10385
"""

tests/contrib/auth/test_models.py

+1-24
Original file line numberDiff line numberDiff line change
@@ -28,33 +28,10 @@ def test_get_session_auth_hash__unique(self, db):
2828

2929
assert spiderman.get_session_auth_hash() != ironman.get_session_auth_hash()
3030

31-
def test_legacy_get_session_auth_hash__default(self, db):
32-
user = EmailUser(email="spiderman@avengers.com")
33-
34-
assert user.session_salt
35-
assert user._legacy_get_session_auth_hash()
36-
37-
def test_legacy_get_session_auth_hash__value_error(self, db):
38-
user = EmailUser(email="spiderman@avengers.com", session_salt=None)
39-
40-
with pytest.raises(ValueError) as e:
41-
user._legacy_get_session_auth_hash()
42-
43-
assert "'session_salt' must be set" in str(e.value)
44-
45-
def test_legacy_get_session_auth_hash__unique(self, db):
46-
spiderman = EmailUser(email="spiderman@avengers.com")
47-
ironman = EmailUser(email="ironman@avengers.com")
48-
49-
assert (
50-
spiderman._legacy_get_session_auth_hash()
51-
!= ironman._legacy_get_session_auth_hash()
52-
)
53-
5431
def test_password_field(self):
5532
user = EmailUser(email="spiderman@avengers.com")
5633
with pytest.raises(FieldDoesNotExist):
57-
user.password
34+
assert user.password
5835

5936

6037
class TestEmailUserManager:

0 commit comments

Comments
 (0)