Current File : //lib/python2.7/site-packages/passlib/tests/test_registry.pyc
�
�
5Xc@�sdZddlmZddlmZddlZddlZddlmZm	Z	m
Z
ddlmZm
Z
mZmZmZddljjZddlmZee�Zdejfd	��YZd
ejfd��YZdZd
efd��YZdS(s>tests for passlib.hash -- (c) Assurance Technologies 2003-2009i����(twith_statement(t	getLoggerN(thashtregistrytexc(tregister_crypt_handlertregister_crypt_handler_pathtget_crypt_handlertlist_crypt_handlerst_unload_handler_name(tTestCasetdummy_0cB�seZdZRS(R(t__name__t
__module__tname(((s?/usr/lib/python2.7/site-packages/passlib/tests/test_registry.pyRstalt_dummy_0cB�seZdZRS(R(RR
R(((s?/usr/lib/python2.7/site-packages/passlib/tests/test_registry.pyRsitRegistryTestcB�sMeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	RS(spasslib.registryc�sTtt|�j�ttj��ttj����fd�}|j|�dS(Nc�s>tjj�tjj��tjj�tjj��dS(N(Rt
_locationstcleartupdatet	_handlers((thandlerst	locations(s?/usr/lib/python2.7/site-packages/passlib/tests/test_registry.pytrestore0s

(tsuperRtsetUptdictRRRt
addCleanup(tselfR((RRs?/usr/lib/python2.7/site-packages/passlib/tests/test_registry.pyR*s
cC�s�tt�tt�|jtttd�ttdd�}t�}|t_|j	tj|�|dkr�t`|j
ttd��n|t_|j	tj|�dtj
fd��Y}|t_|j	td�|�|jtttd|�dS(stest passlib.hash proxy objecttfooeyt
__loader__tdummy_1cB�seZdZRS(R(RR
R(((s?/usr/lib/python2.7/site-packages/passlib/tests/test_registry.pyRPstdummy_1xN(tdirRtreprtassertRaisestAttributeErrortgetattrtNonetobjectRtassertIstassertFalsethasattrtuht
StaticHandlerRRt
ValueErrortsetattr(RtoldttestR((s?/usr/lib/python2.7/site-packages/passlib/tests/test_registry.pyttest_hash_proxy7s 

				cC�s�tj}|jd|k�|jttd��|jttdd�|jttdt	d�|jttdt	d�tdt	�|jdt
�k�|jdt
dt�k�|jtj
t
�|jdt
dt�k�td�tdt	d�|jtj
t�td�tdt	�|jttd�tdt	�|jttd�td�tjjd	d
�td
d	�tj��$tjddt�td
�}Wd
QXddlm}|j||j�d
S(s"test register_crypt_handler_path()Rs.test_registrys:dummy_0:xxxs:dummy_0.xxxtloaded_onlys:alt_dummy_0tdummy_xRs passlib.tests._test_bad_registert	dummy_badtignoret
xxxxxxxxxxNi����(t_test_bad_register(RRt
assertTrueR)R*RR#R-RRRtTrueR(Rtunload_handler_nameRt	TypeErrorRtsystmodulestpopR&twarningstcatch_warningstfilterwarningstDeprecationWarningt
passlib.testsR7t
alt_dummy_bad(Rtpathsthttbr((s?/usr/lib/python2.7/site-packages/passlib/tests/test_registry.pyt test_register_crypt_handler_pathXs<	








c	C�s�|jtti�|jtttdtjftdd���|jtttdtjftdd���|jtttdtjftdd���|jtttdtjftdd���|jtttdtjftdd���dtjfd��Y}d	tjfd
��Y}|j	dt
�k�t|�t|�|jtd�|�|jt
t|�|jtd�|�t|dt�|jtd�|�|j	dt
�k�dS(
stest register_crypt_handler()txRtAB_CDsab-cdtab__cdtdefaultRcB�seZdZRS(R(RR
R(((s?/usr/lib/python2.7/site-packages/passlib/tests/test_registry.pyR�stdummy_1bcB�seZdZRS(R(RR
R(((s?/usr/lib/python2.7/site-packages/passlib/tests/test_registry.pyRM�stforceN(R#R;RR-ttypeR+R,RR&R8RR(RtKeyErrorR9(RRRM((s?/usr/lib/python2.7/site-packages/passlib/tests/test_registry.pyttest_register_crypt_handler�s".....

cC�s'dtjfd��Y}|jttd�|jtdd�d�t|�|jtd�|�tj	��Qtj
ddt�|jtd�|�tdt
�|jtd�t�WdQXd	dl}d
|jjd<x@ddgD]2}|jtt|�|jt|d�d�q�WdS(
stest get_crypt_handler()RcB�seZdZRS(R(RR
R(((s?/usr/lib/python2.7/site-packages/passlib/tests/test_registry.pyR�sR5sMhandler names should be lower-case, and use underscores instead of hyphens:.*sDUMMY-1RsDUMMY-0Ni����tdummyt_faket__package__(R+R,R#RPRR(R&RR?R@RAtUserWarningRRRtpasslib.hashRt__dict__(RRtpasslibR((s?/usr/lib/python2.7/site-packages/passlib/tests/test_registry.pyttest_get_crypt_handler�s


cC�skddlm}ddl}d|jjd<x.|�D]#}|j|jd�d|�q6Wtd�dS(stest list_crypt_handlers()i����(RNRRRSt_s%r: (tpasslib.registryRRVRRWR)t
startswithR:(RRRXR((s?/usr/lib/python2.7/site-packages/passlib/tests/test_registry.pyttest_list_crypt_handlers�s!cC�s�ddlm}ddlm}m}x�|�D]�}|jd�r^|d|�kr^q0n|dkrpq0ny|j||��Wq0tjk
r�||kr�q0n�q0Xq0WdS(	s-verify we have tests for all builtin handlersi����(R(tget_handler_casetconditionally_available_hashestldap_itroundup_plaintextN(Ra(	R[Rtpasslib.tests.test_handlersR^R_R\R8RtMissingBackendError(RRR^R_R((s?/usr/lib/python2.7/site-packages/passlib/tests/test_registry.pyt
test_handlers�s"(
RR
tdescriptionPrefixRR1RHRQRYR]Rd(((s?/usr/lib/python2.7/site-packages/passlib/tests/test_registry.pyR&s	
	!	0			(t__doc__t
__future__RtloggingRR?R<RXRRRR[RRRRR	R:tpasslib.utils.handlerstutilsRR+tpasslib.tests.utilsR
RtlogR,RRR3R(((s?/usr/lib/python2.7/site-packages/passlib/tests/test_registry.pyt<module>s(