test_security.py
21 lines
| 646 B
| text/x-python
|
PythonLexer
Stefan van der Walt
|
r5320 | from IPython.lib import passwd | ||
Stefan van der Walt
|
r5332 | from IPython.lib.security import passwd_check, salt_len | ||
Stefan van der Walt
|
r5320 | import nose.tools as nt | ||
def test_passwd_structure(): | ||||
p = passwd('passphrase') | ||||
algorithm, salt, hashed = p.split(':') | ||||
nt.assert_equals(algorithm, 'sha1') | ||||
Stefan van der Walt
|
r5332 | nt.assert_equals(len(salt), salt_len) | ||
Stefan van der Walt
|
r5320 | nt.assert_equals(len(hashed), 40) | ||
def test_roundtrip(): | ||||
p = passwd('passphrase') | ||||
nt.assert_equals(passwd_check(p, 'passphrase'), True) | ||||
def test_bad(): | ||||
p = passwd('passphrase') | ||||
nt.assert_equals(passwd_check(p, p), False) | ||||
nt.assert_equals(passwd_check(p, 'a:b:c:d'), False) | ||||
nt.assert_equals(passwd_check(p, 'a:b'), False) | ||||