Viewing File: /usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyo

ó
ö
5Xc@€sìdZddlmZddlmZddlZddlmZddlm	Z	ddl
mZddlm
Z
mZmZmZdd	l
mZdd
lmZeeƒZdd„Zd
e
fd„ƒYZde
fd„ƒYZdS(s@tests for passlib.apache -- (c) Assurance Technologies 2008-2011iÿÿÿÿ(twith_statement(t	getLoggerN(tapache(tMissingBackendError(tirange(tTestCasetget_filetset_filetensure_mtime_changed(tu(tto_bytesi
cC€sBtjj|ƒ}tjj|ƒ|}tj|||fƒdS(s)backdate file's mtime by specified amountN(tostpathtgetatimetgetmtimetutime(Rtoffsettatimetmtime((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pytbackdate_file_mtimestHtpasswdFileTestcB€sàeZdZdZdZdZdZdZdZdZ	dZ
d	„Zd
„Zd„Z
d„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(stest HtpasswdFile classtHtpasswdFilestuser2:2CHkkwa2AtqGs
user3:{SHA}3ipNV1GrBtxPmHFC21fCbVCSXIo=
user4:pass4
user1:$apr1$t4tc7jTh$GPIWVUo8sQKJlUdV8V5vu0
s4user3:{SHA}3ipNV1GrBtxPmHFC21fCbVCSXIo=
user4:pass4
syuser2:pass2x
user3:{SHA}3ipNV1GrBtxPmHFC21fCbVCSXIo=
user4:pass4
user1:$apr1$t4tc7jTh$GPIWVUo8sQKJlUdV8V5vu0
user5:pass5
suseræ:2CHkkwa2AtqGs
suseræ:2CHkkwa2AtqGs
suser1:pass1
user1:pass2
suser2:2CHkkwa2AtqGs
user3:{SHA}3ipNV1GrBtxPmHFC21fCbVCSXIo=
user4:pass4
user1:$apr1$t4tc7jTh$GPIWVUo8sQKJlUdV8V5vu0
user5:$2a$12$yktDxraxijBZ360orOyCOePFGhuis/umyPNJoL5EbsLk.s6SWdrRO
user6:$5$rounds=110000$cCRp/xUUGVgwR4aP$p0.QKFS5qLNRqw1/47lXYiAcgIjJK.WjCO8nrEKuUK.
cC€st|jƒ}t||jƒtj|ƒ}|j|jƒ|jƒ|j|j|ƒ|j|j	ƒ|d|_|j|j|dƒ|j
|j	ƒtj|dtƒ}|j|jƒdƒ|j|j|ƒ|j
|j	ƒ|jdƒtj|dt
ƒ}WdQX|j|jƒdƒ|j|j|ƒ|j
|j	ƒtj|ƒ|jttj|ƒdS(stest constructor autoloadtxtnewts ``autoload=False`` is deprecatedtautoloadN(tmktempRt	sample_01RRtassertEqualt	to_stringRt
assertTrueRtassertFalsetTruetassertWarningListtFalseRtremovetassertRaisestIOError(tselfRtht((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_00_constructor_autoloadBs(

cC€sn|jƒ}t||jƒtjj|ƒ}|j|jƒ|jƒ|j|jdƒ|j
|jƒdS(N(RRRRRt	from_pathRRRtNoneRR(R&RR'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_00_from_pathdscC€sŠtjj|jƒ}|j|jdƒƒ|j|jdƒƒ|j|jdƒƒ|j|jƒ|j	ƒ|j
t|jdƒdS(s
test delete()tuser1tuser2tuser5suser:N(RRtfrom_stringRRtdeleteRRRt	sample_02R$t
ValueError(R&R'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_01_deletelscC€s|jƒ}d}t||ƒtj|ƒ}|jdƒ|jt|ƒ|ƒtj|dtƒ}|jdƒ|jt|ƒdƒdS(Nsuser1:pass1
user2:pass2
R,tautosavesuser2:pass2
(RRRRR0RRR (R&RtsampleR'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_01_delete_autosavews


cC€s>tjj|jddƒ}|j|jddƒƒ|j|jddƒƒ|j|jƒ|j	ƒ|j
dƒ tjj|jddƒ}Wd	QX|j|jddƒƒ|j|jddƒƒ|j|jƒ|j	ƒ|jt|jd
dƒ|j
dƒ|j
dd
ƒWd	QX|j|jdd
ƒƒd	S(stest set_password()tdefault_schemet	plaintextR-tpass2xR.tpass5s``default`` is deprecatedtdefaultNsuser:tpasssupdate\(\) is deprecatedttest(RRR/RRtset_passwordRRRt	sample_03R!R$R2tupdatetcheck_password(R&R'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_02_set_password„s	!cC€s™|jƒ}d}t||ƒtj|ƒ}|jddƒ|jt|ƒ|ƒtj|dddtƒ}|jddƒ|jt|ƒdƒdS(Nsuser1:pass1
R,tpass2R7R8R4suser1:pass2
(RRRRR>RRR (R&RR5R'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_02_set_password_autosave›s
cC€sÀd„}|j|dƒdƒ|j|dƒdƒ|jt|dƒ|j|dƒtjdƒ|j|dƒtjdƒ|j|dƒtjdƒ|j|dƒtjdƒdS(	s%test set_password() -- default_schemecS€s;tjd|ƒ}|jddƒ|jj|jdƒƒS(NR7R,tpass1(RRR>tcontexttidentifytget_hash(tschemeR'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pytcheck«stsha256_cryptt	des_crypttxxxtportabletportable_apache_22thost_apache_22N(RR$tKeyErrorRthtpasswd_defaultsR*(R&RJ((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyt#test_02_set_password_default_scheme¨s	cC€sqtjj|jƒ}|jddƒ|jdƒ|jddƒ|jt|jƒƒdddddgƒdS(	stest users()R.R:tuser3tpass3R,R-tuser4N(	RRR/RR>R0Rtsortedtusers(R&R'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyt
test_03_users¿s

cC€sPtjj|jƒ}|jt|jddƒ|j|jddƒdkƒx”t	ddƒD]ƒ}t
|ƒ}yH|j|jd|d|ƒƒ|j|jd|dƒtkƒWq]tk
rß|dkrÙq]n‚q]Xq]W|jt
|jddƒ|jd	gd
ƒ7|j|jddƒƒ|j|jdd
ƒƒWdQXdS(stest check_password()itpass9tuser9ituserR<t5suser:sverify\(\) is deprecatediR,RERCN(RRR/t	sample_05R$t	TypeErrorRARR*RtstrR"RR2R!tverifyR(R&R'ti((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_04_check_passwordÇs !'
cC€s_|jƒ}t|dƒt|dƒtj|ddƒ}|j|jƒdƒ|jddƒ|jƒ|j|jƒdƒt||j	ƒ|jƒ|j|jƒ|j	ƒ|jdd	ƒ|j
ƒ|j|jƒ|j	ƒtjƒ}|jt|j
ƒ|jt|jƒt||j
ƒtjƒ}|j
|ƒ|j|jddƒƒd
S(stest load()RiR7R8R,REsuser1:pass1
R.R:N(RRRRRRRR>tload_if_changedRtloadR$tRuntimeErrort
sample_dupRRA(R&Rthathbthc((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_05_loadás*





cC€sÄ|jƒ}t||jƒtj|ƒ}|jdƒ|jdƒ|jƒ|jt|ƒ|j	ƒtjddƒ}|j
ddƒ|jt|jƒ|j|ƒ|jt|ƒdƒdS(stest save()R,R-R7R8REsuser1:pass1
N(
RRRRRR0tsaveRRR1R>R$Rf(R&RR'Ri((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_06_saves



cC€sç|jttjddƒtjj|jdddtƒ}|j|jƒt	dƒgƒ|j
dƒ tjj|jddƒ}WdQX|j|jƒdgƒtjj|jdd	dtƒ}|j|jƒt	dƒgƒdS(
stest 'encoding' kwdtencodingsutf-16sutf-8treturn_unicodes
user\u00e6s``encoding=None`` is deprecatedNsuseræslatin-1(
R$R2RRR/tsample_04_utf8R RRXR	R!R*tsample_04_latin1(R&R'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_07_encodingss	!cC€s“tjj|jƒ}|j|jdƒdƒ|j|jdƒdƒ|j|jdƒdƒ|jdƒ|j|jdƒdƒWdQXdS(stest get_hash()RTs!{SHA}3ipNV1GrBtxPmHFC21fCbVCSXIo=RVtpass4R.sfind\(\) is deprecatedN(	RRR/RRRHR*R!tfind(R&R'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_08_get_hash0scC€sTtjj|jƒ}|j|jƒ|jƒtjƒ}|j|jƒdƒdS(stest to_stringRN(RRR/RRR(R&R'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_09_to_string:scC€s/tjddtdtddƒ}t|ƒdS(NtfakepathR4RRnslatin-1(RRR trepr(R&R'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_10_reprEs!cC€s6|jttjjdƒ|jttjjdƒdS(Nsrealm:user1:pass1
spass1
(R$R2RRR/(R&((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_11_malformedIscC€s#|jttjjdddƒdS(NRR(R$R_RRR/R*(R&((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_12_from_stringOscC€s tdƒ}tjj|ƒ}|jt|jƒƒdddddgƒ|jddƒ|jt|jƒƒdddddgƒ|jdd	ƒ|jt|jƒƒddddddgƒ|jdƒ|jt|jƒƒdddddgƒtd
ƒ}|j|j	ƒ|ƒdS(swhitespace & comment handlings`
user2:pass2
user4:pass4
user7:pass7
 	 
user1:pass1
 # legacy users
#user6:pass6
user5:pass5

R,R-RVR.tuser7talthash4tuser6talthash6sd
user2:pass2
user4:althash4
 	 
user1:pass1
 # legacy users
#user6:pass6
user5:pass5
user6:althash6
N(
R
RRR/RRWRXtset_hashR0R(R&tsourceR'ttarget((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_13_whitespaceTs	++.
+	
(t__name__t
__module__t__doc__tdescriptionPrefixRR1R?RpRqRgR^R(R+R3R6RBRDRSRYRcRkRmRrRuRvRyRzR{Rƒ(((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyRs6	"			
		
				%			
				tHtdigestFileTestcB€s§eZdZdZdZdZdZdZdZd„Z	d„Z
d	„Zd
„Zd„Z
d„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(stest HtdigestFile classtHtdigestFiles´user2:realm:549d2a5f4659ab39a80dac99e159ab19
user3:realm:a500bb8c02f6a9170ae46af10c898744
user4:realm:ab7b5d5f28ccc7666315f508c7358519
user1:realm:2a6cf53e7d8f8cf39d946dc880b14128
sZuser3:realm:a500bb8c02f6a9170ae46af10c898744
user4:realm:ab7b5d5f28ccc7666315f508c7358519
sáuser2:realm:5ba6d8328943c23c64b50f8b29566059
user3:realm:a500bb8c02f6a9170ae46af10c898744
user4:realm:ab7b5d5f28ccc7666315f508c7358519
user1:realm:2a6cf53e7d8f8cf39d946dc880b14128
user5:realm:03c55fdc6bf71552356ad401bdb9af19
s0useræ:realmæ:549d2a5f4659ab39a80dac99e159ab19
s.useræ:realmæ:549d2a5f4659ab39a80dac99e159ab19
cC€s–|jƒ}t||jƒtj|ƒ}|j|jƒ|jƒtj|dtƒ}|j|jƒdƒtj	|ƒ|j
ttj|ƒdS(stest constructor autoloadRRN(RRRRR‰RRR RR#R$R%(R&RR'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyR(£s
cC€sÈtjj|jƒ}|j|jddƒƒ|j|jddƒƒ|j|jddƒƒ|j|jddƒƒ|j|jƒ|j	ƒ|j
t|jddƒ|j
t|jdd	ƒd
S(s
test delete()R,trealmR-R.RTtrealm5suser:R\srealm:N(RR‰R/RRR0RRRR1R$R2(R&R'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyR3µscC€sÎ|jƒ}t||jƒtj|ƒ}|j|jddƒƒ|j|jddƒƒ|j|jddƒƒ|jt	|ƒ|jƒt
|_|j|jddƒƒ|jt	|ƒ|jƒdS(NR,RŠRTR‹R.R-(
RRRRR‰RR0RRRR R4R1(R&RR'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyR6Äs	cC€sitjj|jƒ}|j|jdddƒƒ|j|jdddƒƒ|j|jƒ|j	ƒ|j
t|jddƒd|_|jddƒ|j
dddƒ|j
t|jddd	ƒ|j
t|jd
ddd	ƒ|j
t|jdd
d	ƒ|j
t|jdddd	ƒ|jdƒ|jdddƒWdQX|j|j
ddƒƒdS(s
test update()R-RŠR9R.R:RUtrealm2suser:R<R	iR\srealm:trsupdate\(\) is deprecatedR=N(RR‰R/RRR>RRRR?R$R_t
default_realmRAR2R!R@(R&R'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyRBÒs	  cC€s“tjj|jƒ}|jdddƒ|jddƒ|jdddƒ|jt|jdƒƒdddddgƒ|j	t
|jd	ƒd
S(stest users()R.RŠR:RTRUR,R-RViN(RR‰R/RR>R0RRWRXR$R_(R&R'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyRYîs.c	C€s¥tjj|jƒ}|jt|jdddƒ|jt|jdddƒ|j|jdddƒd
ƒxjt	ddƒD]Y}t
|ƒ}|j|jd|dd|ƒƒ|j|jd|ddƒtƒq|W|jt|jddƒd|_
|j|jdd	ƒƒ|j|jddƒd
ƒ|jd
gdƒ=|j|jddd	ƒƒ|j|jdddƒƒWd
QX|jt|jdddƒd
S(stest check_password()iRŠR:R\R.iR<R,REsverify\(\) is deprecatediRCNsuser:(RR‰R/RR$R_RAtassertIsR*RR`RR"RŽR!RaRR2(R&R'Rb((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyRcøs $'	"cC€s¢|jƒ}t|dƒt|dƒtj|ƒ}|j|jƒdƒ|jdddƒ|jƒ|j|jƒdƒt||j	ƒ|jƒ|j|jƒ|j	ƒ|jdddƒ|j
ƒ|j|jƒ|j	ƒtjƒ}|jt|j
ƒ|jt|jƒtjƒ}|j
|ƒ|j|jƒ|j	ƒt
|ƒt|dƒ|jd	ƒ|j
d
tƒWdQX|j|jƒdƒdS(stest load()RiR,RŠREs-user1:realm:2a6cf53e7d8f8cf39d946dc880b14128
R.R:s!load\(force=False\) is deprecatedtforceN(RRRRR‰RRR>RdRReR$RfRR!R"(R&RRhRiRj((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyRks2







cC€sÍ|jƒ}t||jƒtj|ƒ}|jddƒ|jddƒ|jƒ|jt|ƒ|j	ƒtjƒ}|j
dddƒ|jt|jƒ|j|ƒ|jt|ƒ|j
ƒƒdS(stest save()R,RŠR-REN(RRRRR‰R0RlRRR1R>R$RfR(R&RR'Ri((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyRm:s

cC€stjj|jƒ}|j|jdƒdƒ|j|jƒdgƒ|j|jdƒdƒ|j|jƒgƒ|j|jƒdƒdS(stest realms() & delete_realm()RiRŠiRN(RR‰R/RRtdelete_realmtrealmsR(R&R'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_07_realmsPscC€sŸtjj|jƒ}|j|jddƒdƒ|j|jddƒdƒ|j|jddƒdƒ|jdƒ!|j|jddƒdƒWdQXdS(	stest get_hash()RTRŠt a500bb8c02f6a9170ae46af10c898744RVt ab7b5d5f28ccc7666315f508c7358519R.sfind\(\) is deprecatedN(	RR‰R/RRRHR*R!Rt(R&R'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyRu[scC€sí|jttjddƒtjj|jdddtƒ}|j|jƒt	dƒgƒ|j|j
t	dƒƒt	dƒgƒtjj|jdddtƒ}|j|jƒt	dƒgƒ|j|j
t	dƒƒt	dƒgƒdS(	stest encoding parameterRnsutf-16sutf-8Rosrealm\u00e6s
user\u00e6slatin-1N(R$R2RR‰R/RpR RR’R	RXRq(R&R'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_09_encodingses!(!cC€sTtjj|jƒ}|j|jƒ|jƒtjƒ}|j|jƒdƒdS(stest to_string()RN(RR‰R/RRR(R&R'((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyttest_10_to_stringtscC€s6|jttjjdƒ|jttjjdƒdS(Nsrealm:user1:pass1:other
suser1:pass1
(R$R2RR‰R/(R&((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyRzs(R„R…R†R‡RR1R?RpRqR(R3R6RBRYRcRkRmR“RuR–R—Rz(((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyRˆŠs(					
		)			
		(R†t
__future__RtloggingRRtpasslibRtpasslib.excRtpasslib.utils.compatRtpasslib.tests.utilsRRRRR	t
passlib.utilsR
R„tlogRRRˆ(((s=/usr/lib/python2.7/site-packages/passlib/tests/test_apache.pyt<module>s"ÿl
Back to Directory File Manager