diff options
| author | Xavier Ordoquy | 2014-04-28 14:48:13 +0200 |
|---|---|---|
| committer | Xavier Ordoquy | 2014-04-28 14:48:13 +0200 |
| commit | 21810d2643b6be9316cd30e09a993e2418c9bb94 (patch) | |
| tree | 569f85cd7f618d8d60a1b6eb635d375e49fc6cc6 | |
| parent | 4a1ef6d4b15c504881662a2667564394cb333b6b (diff) | |
| parent | 73597a16a2a6a388a08af923a1da8aa71d2f2848 (diff) | |
| download | django-rest-framework-21810d2643b6be9316cd30e09a993e2418c9bb94.tar.bz2 | |
Merge pull request #1549 from maxpeterson/decode-generate-key
Ensure Token.generate_key returns a string.
| -rw-r--r-- | rest_framework/authtoken/models.py | 2 | ||||
| -rw-r--r-- | rest_framework/tests/test_authentication.py | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/rest_framework/authtoken/models.py b/rest_framework/authtoken/models.py index 8eac2cc4..167fa531 100644 --- a/rest_framework/authtoken/models.py +++ b/rest_framework/authtoken/models.py @@ -34,7 +34,7 @@ class Token(models.Model): return super(Token, self).save(*args, **kwargs) def generate_key(self): - return binascii.hexlify(os.urandom(20)) + return binascii.hexlify(os.urandom(20)).decode() def __unicode__(self): return self.key diff --git a/rest_framework/tests/test_authentication.py b/rest_framework/tests/test_authentication.py index c37d2a51..a1c43d9c 100644 --- a/rest_framework/tests/test_authentication.py +++ b/rest_framework/tests/test_authentication.py @@ -19,7 +19,7 @@ from rest_framework.authentication import ( OAuth2Authentication ) from rest_framework.authtoken.models import Token -from rest_framework.compat import patterns, url, include +from rest_framework.compat import patterns, url, include, six from rest_framework.compat import oauth2_provider, oauth2_provider_scope from rest_framework.compat import oauth, oauth_provider from rest_framework.test import APIRequestFactory, APIClient @@ -195,6 +195,12 @@ class TokenAuthTests(TestCase): token = Token.objects.create(user=self.user) self.assertTrue(bool(token.key)) + def test_generate_key_returns_string(self): + """Ensure generate_key returns a string""" + token = Token() + key = token.generate_key() + self.assertTrue(isinstance(key, six.string_types)) + def test_token_login_json(self): """Ensure token login view using JSON POST works.""" client = APIClient(enforce_csrf_checks=True) |
