Skip to content

Commit 35c0abf

Browse files
authored
Change Token.generate_key to a Classmethod (#7502)
* adds classmethod decorator to generate_key and test to confirm change is acceptable * self -> cls
1 parent f323049 commit 35c0abf

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

rest_framework/authtoken/models.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ def save(self, *args, **kwargs):
3232
self.key = self.generate_key()
3333
return super().save(*args, **kwargs)
3434

35-
def generate_key(self):
35+
@classmethod
36+
def generate_key(cls):
3637
return binascii.hexlify(os.urandom(20)).decode()
3738

3839
def __str__(self):

tests/authentication/test_authentication.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,10 @@ def test_generate_key_returns_string(self):
397397
key = token.generate_key()
398398
assert isinstance(key, str)
399399

400+
def test_generate_key_accessible_as_classmethod(self):
401+
key = self.model.generate_key()
402+
assert isinstance(key, str)
403+
400404
def test_token_login_json(self):
401405
"""Ensure token login view using JSON POST works."""
402406
client = APIClient(enforce_csrf_checks=True)

0 commit comments

Comments
 (0)