python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_secrets.cpython-312.opt-1.pyc

ΑedZddlZddlZddlZGddejZGddejZGddejZed	k(rejyy)
zTest the secrets module.

As most of the functions in secrets are thin wrappers around functions
defined elsewhere, we don't need to test them exhaustively.
Nc(eZdZdZdZdZdZdZy)Compare_Digest_Testsz%Test secrets.compare_digest function.c	dD]t}|dz}|dz}|jtj|||jtj|jd|jdvy)N)abcdxyz123dutf-8)
assertTruesecretscompare_digestencodeselfsrbs    E/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_secrets.py
test_equalzCompare_Digest_Tests.test_equalsi'	ZA#A#AOOG221a89OOG22188G3DahhwFWXY		Zc	|jtjdd|jtjdddD]z}|dzdz}|dzdz}|jtj|||jtj|jd	|jd	|y)
Nabcabcdsabcsabcd)xmna1b2c3r	qkr
)assertFalserr
rrs    rtest_unequalz!Compare_Digest_Tests.test_unequals//v>?//@A&	[A#A#AW33Aq9:W33AHHW4EqxxPWGXYZ		[rcd}|jd}|jttj|||jttj||y)Nabcder
)rassertRaises	TypeErrorrr
)rrrs   rtest_bad_typesz#Compare_Digest_Tests.test_bad_types$sK
HHW	
)W%;%;QB)W%;%;QBrc|jtjddt|jtjddty)Nrxyz)assertIsInstancerr
bool)rs r	test_boolzCompare_Digest_Tests.test_bool-s<g44UEBDIg44UEBDIrN)__name__
__module____qualname____doc__rrr$r)rrrrs/Z[CJrrc"eZdZdZdZdZdZy)Random_Testsz*Test wrappers around SystemRandom methods.cd}dD]O}tdD]?}tj|}|jd|cxkxrd|zknc|||fzAQy)Nzrandbits(%d) returned %d)r)rangerrandbitsr)rerrmsgnumbitsins     r
test_randbitszRandom_Tests.test_randbits6sb+"	LG1X
L$$W-Q 3G 3Vwl5JK
L	Lrcxgd}tdD](}|jtj||v*y)N)r6 @
)r7rrchoice)ritemsr;s   rtest_choicezRandom_Tests.test_choice>s4(r	<AOOGNN51U:;	<rctddD]0}|jtj|t|2|j	t
tjd|j	t
tjdy)Nr6rEr)r7assertInr	randbelowr"
ValueError)rr;s  rtest_randbelowzRandom_Tests.test_randbelowDsdq"	:AMM'++A.a9	:*g&7&7;*g&7&7<rN)r*r+r,r-r=rHrNr.rrr0r03s4L<=rr0c(eZdZdZdZdZdZdZy)Token_TestszTest token functions.c^tjtjtjfD]:}|j	|5|j
}	|	|dddd<tj}|jttjd||jttjdd|zy#t$r|jd|zYwxYw#t$r|jd|zYwxYw#1swYxYw)N)funcz$%s cannot be called with no argumentz%s cannot be called with Noner6)rtoken_bytes	token_hex
token_urlsafesubTestr*r#failDEFAULT_ENTROPYassertEquallen)rrRnamesizes    rtest_token_defaultszToken_Tests.test_token_defaultsOs(('*;*;**,	FD4(	
F}}MFFJ	
F	
F	F&&W0067>W..t45qv>!MIIDtKLM!FII=DEF	
F	
FsH
D#CDC=:D#<C==D#D D#D  D##D,	c	dD]t}|j|5|jtj|t|jt
tj||dddvy#1swYxYw)N)r?rAr	r<)rVr'rrSbytesrYrZ)rr<s  rtest_token_byteszToken_Tests.test_token_bytesas{ 	AA"
A%%g&9&9!&<eD  W%8%8%;!<a@
A
A	A
A
AsAA;;B	c4dD]}|j|5tj|}|j|t|jt
|d|z|jtd|Ddddy#1swYxYw)N)r?r3Zr`r6c3@K|]}|tjvywN)string	hexdigits).0cs  r	<genexpr>z-Token_Tests.test_token_hex.<locals>.<genexpr>os#EaA)9)9$9#Es)	rVrrTr'strrYrZrall)rr<rs   rtest_token_hexzToken_Tests.test_token_hexhs 	GA"
G%%a(%%a-  Q1-#E1#E EF	
G
G	G
G
GsA+BB	cFtjtjzdzdD]k}|j|5t	j
|}|j
|t|jtfd|Ddddmy#1swYxxYw)Nz-_)r?Lr`c3&K|]}|v
ywrgr.)rjrklegals  rrlz1Token_Tests.test_token_urlsafe.<locals>.<genexpr>xs#:1AJ#:s)
rh
ascii_lettersdigitsrVrrUr'rmrrn)rr<rrus   @rtest_token_urlsafezToken_Tests.test_token_urlsafeqs$$v}}4t; 	<A"
<))!,%%a-#:#: :;
<
<	<
<
<sABB 	N)r*r+r,r-r]rbrorxr.rrrPrPLs?$AG<rrP__main__)
r-runittestrhTestCaserr0rPr*mainr.rr<module>r}si
!J8,,!JH=8$$=2,<(##,<^zHMMOr