a 5êdgã@sbddlZddlZddlZGdd„dejƒZGdd„dejƒZGdd„dejƒZedkr^e ¡dS) éNc@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ÚCompare_Digest_Testsc CsNdD]D}|d}|d}| t ||¡¡| t | d¡| d¡¡¡qdS)N)ÚaZbcdZxyz123édúutf-8)Ú assertTrueÚsecretsÚcompare_digestÚencode©ÚselfÚsrÚb©rú-/usr/local/lib/python3.9/test/test_secrets.pyÚ test_equals zCompare_Digest_Tests.test_equalc Csz| t dd¡¡| t dd¡¡dD]L}|dd}|dd}| t ||¡¡| t | d ¡| d ¡¡¡q(dS) NÚabcZabcdsabcsabcd)ÚxZmnZa1b2c3rÚqÚkr)Z assertFalserrr r rrrÚ test_unequals  z!Compare_Digest_Tests.test_unequalcCs6d}| d¡}| ttj||¡| ttj||¡dS)NZabcder)r Ú assertRaisesÚ TypeErrorrr)r rr rrrÚtest_bad_types$s z#Compare_Digest_Tests.test_bad_typescCs,| t dd¡t¡| t dd¡t¡dS)NrZxyz)ÚassertIsInstancerrÚbool)r rrrÚ test_bool-szCompare_Digest_Tests.test_boolN)Ú__name__Ú __module__Ú __qualname__rrrrrrrrrs  rc@s$eZdZdd„Zdd„Zdd„ZdS)Ú Random_TestscCsVd}dD]H}tdƒD]:}t |¡}| d|kos zRandom_Tests.test_choicecCsJtddƒD]}| t |¡t|ƒ¡q | ttjd¡| ttjd¡dS)Nr$r0réÿÿÿÿ)r%ZassertInrÚ randbelowrÚ ValueError)r r'rrrÚtest_randbelowDszRandom_Tests.test_randbelowN)rrrr)r3r7rrrrr3src@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) Ú Token_Testsc CsÜtjtjtjfD]}|j|dp|j}z |ƒWn tyR| d|¡Yn0z |dƒWn ty€| d|¡Yn0Wdƒq1s–0Yqtj}|  t t d¡ƒ|¡|  t t d¡ƒd|¡dS)N)Úfuncz$%s cannot be called with no argumentz%s cannot be called with Noner$) rÚ token_bytesÚ token_hexÚ token_urlsafeÚsubTestrrZfailZDEFAULT_ENTROPYÚ assertEqualÚlen)r r9ÚnameÚsizerrrÚtest_token_defaultsOs ÿ    4zToken_Tests.test_token_defaultsc CsbdD]X}|j|d8| t |¡t¡| tt |¡ƒ|¡Wdƒq1sR0YqdS)N)r*r,ér©r()r=rrr:Úbytesr>r?)r r(rrrÚtest_token_bytesaszToken_Tests.test_token_bytesc Cs|dD]r}|j|dRt |¡}| |t¡| t|ƒd|¡| tdd„|Dƒƒ¡Wdƒq1sl0YqdS)N)r*r!ééZrDr$css|]}|tjvVqdS©N)ÚstringÚ hexdigits©Ú.0ÚcrrrÚ oóz-Token_Tests.test_token_hex..) r=rr;rÚstrr>r?rÚall©r r(r rrrÚtest_token_hexhs   zToken_Tests.test_token_hexc s|tjtjd‰dD]b}|j|dBt |¡}| |t¡| t ‡fdd„|Dƒƒ¡Wdƒq1sl0YqdS)Nz-_)r*é ééLrDc3s|]}|ˆvVqdSrIrrL©ZlegalrrrOxrPz1Token_Tests.test_token_urlsafe..) rJÚ ascii_lettersÚdigitsr=rr<rrQrrRrSrrXrÚtest_token_urlsafeqs   zToken_Tests.test_token_urlsafeN)rrrrBrFrTr[rrrrr8Ls r8Ú__main__) rZunittestrJZTestCaserrr8rÚmainrrrrÚs$/