test_security.py
25 lines
| 834 B
| text/x-python
|
PythonLexer
Thomas Kluyver
|
r13557 | # coding: utf-8 | |
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(':') | |||
Bradley M. Froehle
|
r7875 | nt.assert_equal(algorithm, 'sha1') | |
nt.assert_equal(len(salt), salt_len) | |||
nt.assert_equal(len(hashed), 40) | |||
Stefan van der Walt
|
r5320 | ||
def test_roundtrip(): | |||
p = passwd('passphrase') | |||
Bradley M. Froehle
|
r7875 | nt.assert_equal(passwd_check(p, 'passphrase'), True) | |
Stefan van der Walt
|
r5320 | ||
def test_bad(): | |||
p = passwd('passphrase') | |||
Bradley M. Froehle
|
r7875 | nt.assert_equal(passwd_check(p, p), False) | |
nt.assert_equal(passwd_check(p, 'a:b:c:d'), False) | |||
nt.assert_equal(passwd_check(p, 'a:b'), False) | |||
Stefan van der Walt
|
r5320 | ||
Thomas Kluyver
|
r13557 | def test_passwd_check_unicode(): | |
# GH issue #4524 | |||
Thomas Kluyver
|
r13559 | phash = u'sha1:23862bc21dd3:7a415a95ae4580582e314072143d9c382c491e4f' | |
assert passwd_check(phash, u"łe¶ŧ←↓→") |