aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Ordoquy2014-04-28 14:48:13 +0200
committerXavier Ordoquy2014-04-28 14:48:13 +0200
commit21810d2643b6be9316cd30e09a993e2418c9bb94 (patch)
tree569f85cd7f618d8d60a1b6eb635d375e49fc6cc6
parent4a1ef6d4b15c504881662a2667564394cb333b6b (diff)
parent73597a16a2a6a388a08af923a1da8aa71d2f2848 (diff)
downloaddjango-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.py2
-rw-r--r--rest_framework/tests/test_authentication.py8
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)