ó ö 5Xc@€sqdZddlmZddlZejeƒZddlmZm Z ddl m Z de fd„ƒYZ dS(stest passlib.appsiÿÿÿÿ(twith_statementN(tappsthash(tTestCasetAppsTestcB€sqeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z RS( s0perform general tests to make sure contexts workcC€s)tj}|jt|jƒƒdƒdS(Ni2(Rtmaster_contextt assertGreatertlentschemes(tselftctx((s;/usr/lib/python2.7/site-packages/passlib/tests/test_apps.pyttest_master_contexts cC€sStj}|j|jƒdƒx-ddgD]}|j|jd|ƒƒq,WdS(Nt sha512_cryptt sha256_cryptsw$6$rounds=41128$VoQLvDjkaZ6L6BIE$4pt.1Ll1XdDYduEwEYPCMOBiR6W6znsyUEoNlcVXpv2gKKIbQolgmTGe6uEEVJ7azUxuc8Tf7zV9SD2z7Ij751sL$5$rounds=31817$iZGmlyBQ99JSB5n6$p4E.pdPBWx19OajgjLRiOW0itGnyxDGgMlDcOsfaI17ttest(R R (Rtcustom_app_contextt assertEqualRt assertTruetverify(R R R((s;/usr/lib/python2.7/site-packages/passlib/tests/test_apps.pyttest_custom_app_contexts   cC€sxtj}x6dddddgD]}|j|jd|ƒƒqW|j|jdƒdƒ|j|jddƒƒdS( NsMpbkdf2_sha256$29000$ZsgquwnCyBs2$fBxRQpfKd2PIeMxtkKPy0h7SrnrN+EU/cm67aitoZ2s=s3sha1$0d082$cdb462ae8b6be8784ef24b20778c4d0c82d5957fs*md5$b887a$37767f8a745af10612ad44c80ff52e92scrypt$95a6d$95x74hLDQKXI2t 098f6bcd4621d373cade4e832627b4f6Rt!tdjango_disabled(Rtdjango16_contextRRRtidentifyt assertFalse(R R R((s;/usr/lib/python2.7/site-packages/passlib/tests/test_apps.pyttest_django16_context)s  cC€sltj}x*dgD]}|j|jd|ƒƒqW|j|jdƒdƒ|j|jddƒƒdS(NsMpbkdf2_sha256$29000$ZsgquwnCyBs2$fBxRQpfKd2PIeMxtkKPy0h7SrnrN+EU/cm67aitoZ2s=RRR(Rtdjango_contextRRRRR(R R R((s;/usr/lib/python2.7/site-packages/passlib/tests/test_apps.pyttest_django_context7s   cC€sVtj}x-ddgD]}|j|jd|ƒƒqW|j|jdƒdƒdS(Ns&{SSHA}cPusOzd6d5n3OjSVK3R329ZGCNyFcC7FRsS{CRYPT}$5$rounds=31817$iZGmlyBQ99JSB5n6$p4E.pdPBWx19OajgjLRiOW0itGnyxDGgMlDcOsfaI17(Rtldap_nocrypt_contextRRtassertIsRtNone(R R R((s;/usr/lib/python2.7/site-packages/passlib/tests/test_apps.pyttest_ldap_nocrypt_contextAs  cC€s@tj}x0dddgD]}|j|jd|ƒƒqWdS(NsS{CRYPT}$5$rounds=31817$iZGmlyBQ99JSB5n6$p4E.pdPBWx19OajgjLRiOW0itGnyxDGgMlDcOsfaI17s&{SSHA}cPusOzd6d5n3OjSVK3R329ZGCNyFcC7FR(Rt ldap_contextRR(R R R((s;/usr/lib/python2.7/site-packages/passlib/tests/test_apps.pyttest_ldap_contextLs   cC€s=tj}x-ddgD]}|j|jd|ƒƒqWdS(Ns)*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29t378b243e220ca493R(Rt mysql_contextRR(R R R((s;/usr/lib/python2.7/site-packages/passlib/tests/test_apps.pyttest_ldap_mysql_contextVs   cC€s2tj}d}|j|jd|ddƒƒdS(Nt#md55d9c68c6c50ed3d02a2fcf54f63993b6Rtuser(Rtpostgres_contextRR(R R R((s;/usr/lib/python2.7/site-packages/passlib/tests/test_apps.pyttest_postgres_context^s cC€sètj}x0dddgD]}|j|jd|ƒƒqWd}tjjƒrœ|j|jd|ƒƒ|j|jƒdƒ|j|j ƒj dƒnH|j|j |ƒdƒ|j|jƒdƒ|j|j ƒj dƒdS(Ns"$P$8Ja1vJsKa5qyy/b3mCJGXM7GyBnt6..s"$H$8b95CoYQnQ9Y6fSTsACyphNh5yoM02.s_cD..aBxeRhYFJvtUvsIRs<$2a$04$yjDgE74RJkeqC0/1NheSSOrvKeu9IbKDpcQf/Ox3qsrRS/Kw42qIStbcrypttphpass( Rtphpass_contextRRthashmodR*t has_backendRtdefault_schemethandlertnameR(R R Rth1((s;/usr/lib/python2.7/site-packages/passlib/tests/test_apps.pyttest_phppass_contextcs  cC€s\tj}x-ddgD]}|j|jd|ƒƒqW|j|jdƒjdƒƒdS(Ns"$P$8Ja1vJsKa5qyy/b3mCJGXM7GyBnt6..s"$H$8b95CoYQnQ9Y6fSTsACyphNh5yoM02.Rs$H$(Rtphpbb3_contextRRRt startswith(R R R((s;/usr/lib/python2.7/site-packages/passlib/tests/test_apps.pyttest_phpbb3_contextvs   cC€sCtj}x3ddddgD]}|j|jd|ƒƒqWdS(Ns?{PBKDF2}9849$JMTYu3eOUSoFYExprVVqbQ$N5.gV.uR1.BTgLSvi0qyPiRlGZ0s-{SHA}a94a8fe5ccb19ba61c4c0873d391e987982fbbd3s{CRYPT}dptOmKDriOGfUs{plaintext}testR(Rtroundup_contextRR(R R R((s;/usr/lib/python2.7/site-packages/passlib/tests/test_apps.pyttest_roundup_contexts  (t__name__t __module__t__doc__R RRRR R"R%R)R3R6R8(((s;/usr/lib/python2.7/site-packages/passlib/tests/test_apps.pyRs      (R;t __future__Rtloggingt getLoggerR9tlogtpasslibRRR-tpasslib.tests.utilsRR(((s;/usr/lib/python2.7/site-packages/passlib/tests/test_apps.pyts