summaryrefslogtreecommitdiff
path: root/passlib/tests/utils.py
diff options
context:
space:
mode:
authorEli Collins <elic@assurancetechnologies.com>2012-03-10 12:18:00 -0500
committerEli Collins <elic@assurancetechnologies.com>2012-03-10 12:18:00 -0500
commit557d17ba4e0123bce7e1659002270aa8dedb2f24 (patch)
tree3289f0a408220aec701d33102294d03fa75cc084 /passlib/tests/utils.py
parentb9de1a4221ef709b7ad39aba49b1ee43c318bebd (diff)
downloadpasslib-557d17ba4e0123bce7e1659002270aa8dedb2f24.tar.gz
added mssql 2000/2005 hashes; enhanced HandlerCase's password case sensitive test
Diffstat (limited to 'passlib/tests/utils.py')
-rw-r--r--passlib/tests/utils.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/passlib/tests/utils.py b/passlib/tests/utils.py
index 8c10918..4b9ca99 100644
--- a/passlib/tests/utils.py
+++ b/passlib/tests/utils.py
@@ -517,6 +517,8 @@ class HandlerCase(TestCase):
secret_size = None
# whether hash is case insensitive
+ # True, False, or special value "verify-only" (which indicates
+ # hash contains case-sensitive portion, but verifies is case-insensitive)
secret_case_insensitive = False
# flag if scheme accepts ALL hash strings (e.g. plaintext)
@@ -1132,15 +1134,27 @@ class HandlerCase(TestCase):
def test_61_case_sensitive(self):
"test password case sensitivity"
+ hash_insensitive = self.secret_case_insensitive is True
+ verify_insensitive = self.secret_case_insensitive in [True,
+ "verify-only"]
+
lower = 'test'
upper = 'TEST'
h1 = self.do_encrypt(lower)
- if self.secret_case_insensitive:
+ if verify_insensitive:
self.assertTrue(self.do_verify(upper, h1),
- "hash should not be case sensitive")
+ "verify() should not be case sensitive")
else:
self.assertFalse(self.do_verify(upper, h1),
- "hash should be case sensitive")
+ "verify() should be case sensitive")
+
+ h2 = self.do_genhash(upper, h1)
+ if hash_insensitive:
+ self.assertEqual(h2, h1,
+ "genhash() should not be case sensitive")
+ else:
+ self.assertNotEqual(h2, h1,
+ "genhash() should be case sensitive")
def test_62_null(self):
"test password=None"