# HG changeset patch # User Filip de Waard # Date 1271541875 -7200 # Node ID efb32b74a279dca08b58db9262be3071ab6ded39 # Parent 20b653cf4e803f3bf3b4c0dc9285d0c7eadb86f6 added authorization token generation function diff -r 20b653cf4e803f3bf3b4c0dc9285d0c7eadb86f6 -r efb32b74a279dca08b58db9262be3071ab6ded39 vix/lib/auth.py --- a/vix/lib/auth.py Sat Apr 17 16:25:40 2010 +0200 +++ b/vix/lib/auth.py Sun Apr 18 00:04:35 2010 +0200 @@ -19,7 +19,12 @@ """ +import time +import random +import hashlib + import bcrypt + import vix.model as model def authenticate(user, password): @@ -87,3 +92,8 @@ else: return False +def create_token(): + """Creates a random token for an authorization session""" + + return hashlib.md5("%f%f%i" % ( + time.time(), random.random(), id([]))).hexdigest() diff -r 20b653cf4e803f3bf3b4c0dc9285d0c7eadb86f6 -r efb32b74a279dca08b58db9262be3071ab6ded39 vix/tests/test_auth.py --- a/vix/tests/test_auth.py Sat Apr 17 16:25:40 2010 +0200 +++ b/vix/tests/test_auth.py Sun Apr 18 00:04:35 2010 +0200 @@ -17,6 +17,10 @@ """ +import time +import random +import hashlib + from unittest import TestCase import bcrypt @@ -78,11 +82,26 @@ feed=u'blog', action=u'GET'), False) self.assertEquals(auth.authorize(user=u"fmw", database=u'vix_tests', feed=u'blog', action=u'GET'), False) + + def test_create_token(self): + """Test if authorization tokens are generated correctly.""" + + t = time.time() + r = random.random() - """ - def test_create_session(self): - pass + def _time(): + return t - def test_validate_session(self): - pass - """ + def _random(): + return r + + #monkey patch functions used by token creator + time.time = _time + random.random = _random + + self.assertEquals(auth.create_token(), + hashlib.md5("%f%f%i" % (t, r, id([]))).hexdigest()) + + #undo monkey patching + reload(time) + reload(random)