Python 3: make tests from v2_0/test_access.py pass

This fixes calls to the hash_signed_token() and cms_hash_token() functions, by
making sure they are given bytes.

Change-Id: I83ac48a845cd09150b01afad6f0549ee83c20ddd
This commit is contained in:
Cyril Roelandt
2014-01-16 20:33:52 +01:00
parent eab811c307
commit 6f28bdabe9
3 changed files with 13 additions and 3 deletions

View File

@@ -24,6 +24,7 @@ or eventlet.green.subprocess based on if os module is patched by eventlet.
import errno
import hashlib
import logging
import six
from keystoneclient import exceptions
@@ -263,6 +264,8 @@ def cms_hash_token(token_id):
return None
if is_ans1_token(token_id):
hasher = hashlib.md5()
if isinstance(token_id, six.text_type):
token_id = token_id.encode('utf-8')
hasher.update(token_id)
return hasher.hexdigest()
else:

View File

@@ -1232,6 +1232,8 @@ class AuthProtocol(object):
if not revoked_tokens:
return
revoked_ids = (x['id'] for x in revoked_tokens)
if isinstance(signed_text, six.text_type):
signed_text = signed_text.encode('utf-8')
token_id = utils.hash_signed_token(signed_text)
for revoked_id in revoked_ids:
if token_id == revoked_id:

View File

@@ -99,14 +99,19 @@ class Examples(fixtures.Fixture):
self.v3_UUID_TOKEN_BIND = '2f61f73e1c854cbb9534c487f9bd63c2'
self.v3_UUID_TOKEN_UNKNOWN_BIND = '7ed9781b62cd4880b8d8c6788ab1d1e2'
self.REVOKED_TOKEN_HASH = utils.hash_signed_token(self.REVOKED_TOKEN)
revoked_token = self.REVOKED_TOKEN
if isinstance(revoked_token, six.text_type):
revoked_token = revoked_token.encode('utf-8')
self.REVOKED_TOKEN_HASH = utils.hash_signed_token(revoked_token)
self.REVOKED_TOKEN_LIST = (
{'revoked': [{'id': self.REVOKED_TOKEN_HASH,
'expires': timeutils.utcnow()}]})
self.REVOKED_TOKEN_LIST_JSON = jsonutils.dumps(self.REVOKED_TOKEN_LIST)
self.REVOKED_v3_TOKEN_HASH = utils.hash_signed_token(
self.REVOKED_v3_TOKEN)
revoked_v3_token = self.REVOKED_v3_TOKEN
if isinstance(revoked_v3_token, six.text_type):
revoked_v3_token = revoked_v3_token.encode('utf-8')
self.REVOKED_v3_TOKEN_HASH = utils.hash_signed_token(revoked_v3_token)
self.REVOKED_v3_TOKEN_LIST = (
{'revoked': [{'id': self.REVOKED_v3_TOKEN_HASH,
'expires': timeutils.utcnow()}]})