changeset 4683:2f66d44616ad

windows: Fix failing password tests due to missing crypt module
author anatoly techtonik <techtonik@gmail.com>
date Wed, 28 Nov 2012 02:56:33 +0300
parents 0c2cad65ebba
children 8453c0d4acbe
files roundup/password.py test/test_cgi.py
diffstat 2 files changed, 10 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/roundup/password.py	Wed Nov 28 00:12:23 2012 +0300
+++ b/roundup/password.py	Wed Nov 28 02:56:33 2012 +0300
@@ -45,7 +45,7 @@
     if off == 0:
         return b64decode(data, "./")
     elif off == 1:
-        raise ValueError("invalid bas64 input")
+        raise ValueError("Invalid base64 input")
     elif off == 2:
         return b64decode(data + "==", "./")
     else:
@@ -162,7 +162,7 @@
     elif scheme == 'plaintext':
         s = plaintext
     else:
-        raise PasswordValueError, 'unknown encryption scheme %r'%scheme
+        raise PasswordValueError, 'Unknown encryption scheme %r'%scheme
     return s
 
 def generatePassword(length=8):
@@ -275,7 +275,7 @@
             # currently plaintext - encrypt
             self.setPassword(encrypted, scheme, config=config)
         if strict and self.scheme not in self.known_schemes:
-            raise PasswordValueError, "unknown encryption scheme: %r" % (self.scheme,)
+            raise PasswordValueError, "Unknown encryption scheme: %r" % (self.scheme,)
 
     def setPassword(self, plaintext, scheme=None, config=None):
         """Sets encrypts plaintext."""
@@ -307,11 +307,12 @@
     assert 'not sekrit' != p
 
     # crypt
-    p = Password('sekrit', 'crypt')
-    assert p == 'sekrit'
-    assert p != 'not sekrit'
-    assert 'sekrit' == p
-    assert 'not sekrit' != p
+    if crypt:  # not available on Windows
+        p = Password('sekrit', 'crypt')
+        assert p == 'sekrit'
+        assert p != 'not sekrit'
+        assert 'sekrit' == p
+        assert 'not sekrit' != p
 
     # PBKDF2 - low level function
     from binascii import unhexlify
--- a/test/test_cgi.py	Wed Nov 28 00:12:23 2012 +0300
+++ b/test/test_cgi.py	Wed Nov 28 02:56:33 2012 +0300
@@ -459,7 +459,7 @@
         form = dict(__login_name='Chef', __login_password='foo')
         cl = self._make_client(form)
         self.db.config.PASSWORD_PBKDF2_DEFAULT_ROUNDS = 1000
-        pw1 = password.Password('foo', scheme='crypt')
+        pw1 = password.Password('foo', scheme='MD5')
         self.assertEqual(pw1.needs_migration(), True)
         self.db.user.set(chef, password=pw1)
         self.db.commit()

Roundup Issue Tracker: http://roundup-tracker.org/