[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [bridgedb/master] Rewrite test_createChallenge_decryptedAnswerMatches() unittest.
commit 3c342d7d6e69ebc887cdbd4a7c3b991ef60fd409
Author: Isis Lovecruft <isis@xxxxxxxxxxxxxx>
Date: Wed May 14 23:03:51 2014 +0000
Rewrite test_createChallenge_decryptedAnswerMatches() unittest.
* CHANGE GimpCaptchaTests.test_createChallenge_decryptedAnswerMatches()
unittest to also check embedded timestamp.
---
lib/bridgedb/test/test_captcha.py | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/lib/bridgedb/test/test_captcha.py b/lib/bridgedb/test/test_captcha.py
index 536f29e..a5083d7 100644
--- a/lib/bridgedb/test/test_captcha.py
+++ b/lib/bridgedb/test/test_captcha.py
@@ -10,8 +10,9 @@
"""Unittests for the :mod:`bridgedb.captcha` module."""
-import shutil
import os
+import shutil
+import time
from base64 import urlsafe_b64decode
@@ -170,15 +171,18 @@ class GimpCaptchaTests(unittest.TestCase):
"""The HMAC in createChallenge() return value should be valid."""
c = captcha.GimpCaptcha(self.publik, self.sekrit, self.hmacKey,
self.cacheDir)
- answer = 'ThisAnswerShouldDecryptToThis'
- challenge = c.createChallenge(answer)
+ challenge = c.createChallenge('ThisAnswerShouldDecryptToThis')
decoded = urlsafe_b64decode(challenge)
hmac = decoded[:20]
orig = decoded[20:]
correctHMAC = crypto.getHMAC(self.hmacKey, orig)
self.assertEqual(hmac, correctHMAC)
+
decrypted = self.sekrit.decrypt(orig)
- self.assertEqual(answer, decrypted)
+ timestamp = int(decrypted[:12].lstrip('0'))
+ # The timestamp should be within 30 seconds of right now.
+ self.assertApproximates(timestamp, int(time.time()), 30)
+ self.assertEqual('ThisAnswerShouldDecryptToThis', decrypted[12:])
def test_get(self):
"""GimpCaptcha.get() should return image and challenge strings."""
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits