Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_secrets.cpython-311.opt-1.pyc
�

�Ke����dZddlZddlZddlZGd�dej��ZGd�dej��ZGd�dej��Zed	krej	��dSdS)
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�ZdS)�Compare_Digest_Testsz%Test secrets.compare_digest function.c	��dD]�}|dz}|dz}|�tj||����|�tj|�d��|�d��������dS)N)�a�bcd�xyz123�d�utf-8)�
assertTrue�secrets�compare_digest�encode��self�sr�bs    �;/usr/local/apps/python3/lib/python3.11/test/test_secrets.py�
test_equalzCompare_Digest_Tests.test_equals���'�	Z�	Z�A��#��A��#��A��O�O�G�2�1�a�8�8�9�9�9��O�O�G�2�1�8�8�G�3D�3D�a�h�h�w�FW�FW�X�X�Y�Y�Y�Y�		Z�	Z�c	��|�tjdd����|�tjdd����dD]�}|dzdz}|dzdz}|�tj||����|�tj|�d	��|�d	��������dS)
N�abc�abcdsabcsabcd)�x�mn�a1b2c3r	�q�kr
)�assertFalserr
rrs    r�test_unequalz!Compare_Digest_Tests.test_unequals�������/��v�>�>�?�?�?�����/���@�@�A�A�A�&�	[�	[�A��#����A��#����A����W�3�A�q�9�9�:�:�:����W�3�A�H�H�W�4E�4E�q�x�x�PW�GX�GX�Y�Y�Z�Z�Z�Z�		[�	[rc���d}|�d��}|�ttj||��|�ttj||��dS)N�abcder
)r�assertRaises�	TypeErrorrr
)rrrs   r�test_bad_typesz#Compare_Digest_Tests.test_bad_types$sZ����
�H�H�W����	
���)�W�%;�Q��B�B�B����)�W�%;�Q��B�B�B�B�Brc��|�tjdd��t��|�tjdd��t��dS)Nr�xyz)�assertIsInstancerr
�bool)rs r�	test_boolzCompare_Digest_Tests.test_bool-sN�����g�4�U�E�B�B�D�I�I�I����g�4�U�E�B�B�D�I�I�I�I�IrN)�__name__�
__module__�__qualname__�__doc__rrr$r)�rrrrsd������/�/�Z�Z�Z�[�[�[�C�C�C�J�J�J�J�Jrrc�$�eZdZdZd�Zd�Zd�ZdS)�Random_Testsz*Test wrappers around SystemRandom methods.c��d}dD]T}td��D]B}tj|��}|�d|cxkod|zknc|||fz���C�UdS)Nzrandbits(%d) returned %d)����r�)�ranger�randbitsr)r�errmsg�numbits�i�ns     r�
test_randbitszRandom_Tests.test_randbits6s���+��"�	L�	L�G��1�X�X�
L�
L���$�W�-�-������Q� 3� 3� 3� 3��G�� 3� 3� 3� 3�V�w��l�5J�K�K�K�K�
L�	L�	Lrc��gd�}td��D]+}|�tj|��|v���,dS)N)�r6���� �@�
)r7rr�choice)r�itemsr;s   r�test_choicezRandom_Tests.test_choice>sP��(�(�(���r���	<�	<�A��O�O�G�N�5�1�1�U�:�;�;�;�;�	<�	<rc�.�tdd��D]7}|�tj|��t|�����8|�t
tjd��|�t
tjd��dS)Nr6rEr���)r7�assertInr�	randbelowr"�
ValueError)rr;s  r�test_randbelowzRandom_Tests.test_randbelowDs}���q�"���	:�	:�A��M�M�'�+�A�.�.��a���9�9�9�9����*�g�&7��;�;�;����*�g�&7��<�<�<�<�<rN)r*r+r,r-r=rHrNr.rrr0r03sJ������4�4�L�L�L�<�<�<�=�=�=�=�=rr0c�*�eZdZdZd�Zd�Zd�Zd�ZdS)�Token_TestszTest token functions.c��tjtjtjfD]�}|�|���5|j}	|��n(#t$r|�d|z��YnwxYw	|d��n(#t$r|�d|z��YnwxYwddd��n#1swxYwY��tj}|�	ttjd����|��|�	ttjd����d|z��dS)N)�funcz$%s cannot be called with no argumentz%s cannot be called with Noner6)r�token_bytes�	token_hex�
token_urlsafe�subTestr*r#�fail�DEFAULT_ENTROPY�assertEqual�len)rrR�name�sizes    r�test_token_defaultszToken_Tests.test_token_defaultsOs����(�'�*;��*�,�	F�	F�D����4��(�(�	
F�	
F��}��M��D�F�F�F�F�� �M�M�M��I�I�D�t�K�L�L�L�L�L�M����F��D��J�J�J�J�� �F�F�F��I�I�=��D�E�E�E�E�E�F����	
F�	
F�	
F�	
F�	
F�	
F�	
F�	
F�	
F�	
F�	
F����	
F�	
F�	
F�	
F���&������W�0��6�6�7�7��>�>�>�����W�.�t�4�4�5�5�q��v�>�>�>�>�>sY�B9�
A�B9�"A5�2B9�4A5�5B9�9B�B9�"B*�'B9�)B*�*B9�9B=	�B=	c	�0�dD]�}|�|���5|�tj|��t��|�t
tj|����|��ddd��n#1swxYwY��dS)N)r?rA�r	�r<)rVr'rrS�bytesrYrZ)rr<s  r�test_token_byteszToken_Tests.test_token_bytesas��� �	A�	A�A������"�"�
A�
A��%�%�g�&9�!�&<�&<�e�D�D�D�� � ��W�%8��%;�%;�!<�!<�a�@�@�@�
A�
A�
A�
A�
A�
A�
A�
A�
A�
A�
A����
A�
A�
A�
A��	A�	As�A#B
�
B	�B	c�n�dD]�}|�|���5tj|��}|�|t��|�t
|��d|z��|�td�|D������ddd��n#1swxYwY��dS)N)r?r3��Zr`r6c3�2K�|]}|tjvV��dS�N)�string�	hexdigits)�.0�cs  r�	<genexpr>z-Token_Tests.test_token_hex.<locals>.<genexpr>os*����#E�#E�a�A��)9�$9�#E�#E�#E�#E�#E�#Er)	rVrrTr'�strrYrZr�all)rr<rs   r�test_token_hexzToken_Tests.test_token_hexhs	�� �	G�	G�A������"�"�
G�
G��%�a�(�(���%�%�a��-�-�-�� � ��Q����1��-�-�-�����#E�#E�1�#E�#E�#E� E� E�F�F�F�	
G�
G�
G�
G�
G�
G�
G�
G�
G�
G�
G����
G�
G�
G�
G��	G�	Gs�BB)�)B-	�0B-	c�`��tjtjzdz�dD]�}|�|���5t	j|��}|�|t��|�t�fd�|D������ddd��n#1swxYwY��dS)Nz-_)r?���Lr`c3� �K�|]}|�vV��	dSrgr.)rjrk�legals  �rrlz1Token_Tests.test_token_urlsafe.<locals>.<genexpr>xs'�����#:�#:�1�A��J�#:�#:�#:�#:�#:�#:r)
rh�
ascii_letters�digitsrVrrUr'rmrrn)rr<rrus   @r�test_token_urlsafezToken_Tests.test_token_urlsafeqs�����$�v�}�4�t�;�� �	<�	<�A������"�"�
<�
<��)�!�,�,���%�%�a��-�-�-�����#:�#:�#:�#:��#:�#:�#:� :� :�;�;�;�
<�
<�
<�
<�
<�
<�
<�
<�
<�
<�
<����
<�
<�
<�
<��	<�	<s�AB"�"B&	�)B&	N)r*r+r,r-r]rbrorxr.rrrPrPLs\��������?�?�?�$A�A�A�G�G�G�<�<�<�<�<rrP�__main__)
r-r�unittestrh�TestCaserr0rPr*�mainr.rr�<module>r}s�������������
�
�
�
�
!J�!J�!J�!J�!J�8�,�!J�!J�!J�H=�=�=�=�=�8�$�=�=�=�2,<�,<�,<�,<�,<�(�#�,<�,<�,<�^�z����H�M�O�O�O�O�O��r