memory: fixes encoding issues during encryption

This commit is contained in:
souliane 2014-07-06 21:13:47 +02:00
commit 8281c77c60

View file

@ -23,10 +23,16 @@
from sat.test import helpers
from sat.memory.crypto import BlockCipher, PasswordHasher
from os import urandom
import random
import string
from twisted.internet import defer
def getRandomUnicode(len):
"""Return a random unicode string"""
return u''.join(random.choice(string.letters + u"éáúóâêûôßüöä") for i in xrange(len))
class CryptoTest(helpers.SatTestCase):
def setUp(self):
@ -42,9 +48,9 @@ class CryptoTest(helpers.SatTestCase):
d_list.append(d)
for key_len in (0, 2, 8, 10, 16, 24, 30, 32, 40):
key = urandom(key_len)
key = getRandomUnicode(key_len)
for message_len in (0, 2, 16, 24, 32, 100):
message = urandom(message_len)
message = getRandomUnicode(message_len)
test(key, message)
return defer.DeferredList(d_list)
@ -57,7 +63,7 @@ class CryptoTest(helpers.SatTestCase):
d1 = PasswordHasher.verify(password, hashed)
d1.addCallback(lambda result: self.assertTrue(result))
d_list.append(d1)
attempt = urandom(10)
attempt = getRandomUnicode(10)
d2 = PasswordHasher.verify(attempt, hashed)
d2.addCallback(lambda result: self.assertFalse(result))
d_list.append(d2)