HEX
Server: Apache
System: Linux bd12.noc223.com 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: handcraf (1693)
PHP: 8.1.28
Disabled: NONE
Upload Files
File: //proc/self/root/opt/alt/python312/lib64/python3.12/test/__pycache__/test_secrets.cpython-312.pyc
�

h�e����dZddlZddlZddlZGd�dej�ZGd�dej�ZGd�dej�Zed	k(rej�yy)
z�Test 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�(�eZdZdZd�Zd�Zd�Zd�Zy)�Compare_Digest_Testsz%Test secrets.compare_digest function.c	��dD]t}|dz}|dz}|jtj||��|jtj|jd�|jd����vy)N)�a�bcd�xyz123�d�utf-8)�
assertTrue�secrets�compare_digest�encode��self�sr�bs    �8/opt/alt/python312/lib64/python3.12/test/test_secrets.py�
test_equalzCompare_Digest_Tests.test_equalsi��'�	Z�A��#��A��#��A��O�O�G�2�2�1�a�8�9��O�O�G�2�2�1�8�8�G�3D�a�h�h�w�FW�X�Y�		Z�c	��|jtjdd��|jtjdd��dD]z}|dzdz}|dzdz}|jtj||��|jtj|jd	�|jd	����|y)
N�abc�abcdsabcsabcd)�x�mn�a1b2c3r	�q�kr
)�assertFalserr
rrs    r�test_unequalz!Compare_Digest_Tests.test_unequals�������/�/��v�>�?�����/�/���@�A�&�	[�A��#����A��#����A����W�3�3�A�q�9�:����W�3�3�A�H�H�W�4E�q�x�x�PW�GX�Y�Z�		[rc�
�d}|jd�}t|t�sJ�t|t�sJ�|j	t
tj||�|j	t
tj||�y)N�abcder
)r�
isinstance�str�bytes�assertRaises�	TypeErrorrr
)rrrs   r�test_bad_typesz#Compare_Digest_Tests.test_bad_types$sc����
�H�H�W����!�S�!�!��!�U�#�#����)�W�%;�%;�Q��B����)�W�%;�%;�Q��Brc��|jtjdd�t�|jtjdd�t�y)Nr�xyz)�assertIsInstancerr
�bool)rs r�	test_boolzCompare_Digest_Tests.test_bool-s<�����g�4�4�U�E�B�D�I����g�4�4�U�E�B�D�IrN)�__name__�
__module__�__qualname__�__doc__rrr'r,�rrrrs��/�Z�[�C�Jrrc�"�eZdZdZd�Zd�Zd�Zy)�Random_Testsz*Test wrappers around SystemRandom methods.c��d}dD]O}td�D]?}tj|�}|jd|cxkxrd|zknc|||fz��A�Qy)Nzrandbits(%d) returned %d)����r�)�ranger�randbitsr)r�errmsg�numbits�i�ns     r�
test_randbitszRandom_Tests.test_randbits6sb��+��"�	L�G��1�X�
L���$�$�W�-������Q� 3��G�� 3�V�w��l�5J�K�
L�	Lrc�x�gd�}td�D](}|jtj|�|v��*y)N)�r9���� �@�
)r:rr�choice)r�itemsr>s   r�test_choicezRandom_Tests.test_choice>s4��(���r��	<�A��O�O�G�N�N�5�1�U�:�;�	<rc��tdd�D]0}|jtj|�t|���2|j	t
tjd�|j	t
tjd�y)Nr9rHr���)r:�assertInr�	randbelowr%�
ValueError)rr>s  r�test_randbelowzRandom_Tests.test_randbelowDsd���q�"��	:�A��M�M�'�+�+�A�.��a��9�	:����*�g�&7�&7��;����*�g�&7�&7��<rN)r-r.r/r0r@rKrQr1rrr3r33s��4�L�<�=rr3c�(�eZdZdZd�Zd�Zd�Zd�Zy)�Token_TestszTest token functions.c�^�tjtjtjfD]:}|j	|��5|j
}	|�	|d�ddd��<tj}|jttjd��|�|jttjd��d|z�y#t$r|jd|z�Y��wxYw#t$r|jd|z�Y��wxYw#1swY��xYw)N)�funcz$%s cannot be called with no argumentz%s cannot be called with Noner9)r�token_bytes�	token_hex�
token_urlsafe�subTestr-r&�fail�DEFAULT_ENTROPY�assertEqual�len)rrU�name�sizes    r�test_token_defaultszToken_Tests.test_token_defaultsOs���(�(�'�*;�*;��*�*�,�	F�D����4��(�	
F��}�}��M��F�F���J�	
F�	
F�	F��&�&������W�0�0��6�7��>�����W�.�.�t�4�5�q��v�>��!�M��I�I�D�t�K�L�M��!�F��I�I�=��D�E�F��	
F�	
F�sH�
D#�C�D�C=�:D#�<C=�=D#�D �D#�D � D#�#D,	c	��dD]t}|j|��5|jtj|�t�|jt
tj|��|�ddd��vy#1swY��xYw)N)rBrD�r	�r?)rYr*rrVr$r\r])rr?s  r�test_token_byteszToken_Tests.test_token_bytesas{�� �	A�A������"�
A��%�%�g�&9�&9�!�&<�e�D�� � ��W�%8�%8��%;�!<�a�@�
A�
A�	A�
A�
A�s�AA;�;B	c�4�dD]�}|j|��5tj|�}|j|t�|jt
|�d|z�|jtd�|D���ddd���y#1swY��xYw)N)rBr6��Zrcr9c3�@K�|]}|tjv���y�w�N)�string�	hexdigits)�.0�cs  r�	<genexpr>z-Token_Tests.test_token_hex.<locals>.<genexpr>os����#E�a�A��)9�)9�$9�#E�s�)	rYrrWr*r#r\r]r�all)rr?rs   r�test_token_hexzToken_Tests.test_token_hexhs��� �	G�A������"�
G��%�%�a�(���%�%�a��-�� � ��Q���1��-�����#E�1�#E� E�F�	
G�
G�	G�
G�
G�s�A+B�B	c�F��tjtjzdz�dD]k}|j|��5t	j
|�}|j
|t�|jt�fd�|D���ddd��my#1swY�xxYw)Nz-_)rB���Lrcc3�&�K�|]}|�v���
y�wrir1)rlrm�legals  �rrnz1Token_Tests.test_token_urlsafe.<locals>.<genexpr>xs�����#:�1�A��J�#:�s�)
rj�
ascii_letters�digitsrYrrXr*r#rro)rr?rrvs   @r�test_token_urlsafezToken_Tests.test_token_urlsafeqs�����$�$�v�}�}�4�t�;�� �	<�A������"�
<��)�)�!�,���%�%�a��-�����#:��#:� :�;�
<�
<�	<�
<�
<�s�AB�B 	N)r-r.r/r0r`rdrpryr1rrrSrSLs���?�$A�G�<rrS�__main__)
r0r�unittestrj�TestCaserr3rSr-�mainr1rr�<module>r~si�����
�
!J�8�,�,�!J�H=�8�$�$�=�2,<�(�#�#�,<�^�z���H�M�M�O�r