python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_secrets.cpython-312.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		[rc
d}|jd}t|tsJt|tsJ|j	t
tj|||j	t
tj||y)Nabcder
)r
isinstancestrbytesassertRaises	TypeErrorrr
)rrrs   rtest_bad_typesz#Compare_Digest_Tests.test_bad_types$sc
HHW!S!!!U##)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)r9 @
)r:rrchoice)ritemsr>s   rtest_choicezRandom_Tests.test_choice>s4(r	<AOOGNN51U:;	<rctddD]0}|jtj|t|2|j	t
tjd|j	t
tjdy)Nr9rHr)r:assertInr	randbelowr%
ValueError)rr>s  rtest_randbelowzRandom_Tests.test_randbelowDsdq"	:AMM'++A.a9	:*g&7&7;*g&7&7<rN)r-r.r/r0r@rKrQr1rrr3r33s4L<=rr3c(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 Noner9)rtoken_bytes	token_hex
token_urlsafesubTestr-r&failDEFAULT_ENTROPYassertEquallen)rrUnamesizes    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)rBrDr	r?)rYr*rrVr$r\r])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)rBr6Zrcr9c3@K|]}|tjvywN)string	hexdigits).0cs  r	<genexpr>z-Token_Tests.test_token_hex.<locals>.<genexpr>os#EaA)9)9$9#Es)	rYrrWr*r#r\r]rall)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-_)rBLrcc3&K|]}|v
ywrir1)rlrmlegals  rrnz1Token_Tests.test_token_urlsafe.<locals>.<genexpr>xs#:1AJ#:s)
rj
ascii_lettersdigitsrYrrXr*r#rro)rr?rrvs   @rtest_token_urlsafezToken_Tests.test_token_urlsafeqs$$v}}4t; 	<A"
<))!,%%a-#:#: :;
<
<	<
<
<sABB 	N)r-r.r/r0r`rdrpryr1rrrSrSLs?$AG<rrS__main__)
r0runittestrjTestCaserr3rSr-mainr1rr<module>r~si
!J8,,!JH=8$$=2,<(##,<^zHMMOr