shell bypass 403
o
ab � @ sj d Z ddlZddlZddlZG dd� dej�ZG dd� dej�ZG dd� dej�Zed kr3e� � dS dS )
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 @ �0 e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
S )�Compare_Digest_Testsz%Test secrets.compare_digest function.c C sN dD ]"}|d }|d }| � t�||�� | � t�|�d�|�d��� qd S )N)�aZbcdZxyz123�d �utf-8)�
assertTrue�secrets�compare_digest�encode��self�sr �b� r �:/usr/local/python-3.10/lib/python3.10/test/test_secrets.py�
test_equal s �zCompare_Digest_Tests.test_equalc C sz | � t�dd�� | � t�dd�� dD ]&}|d d }|d d }| � t�||�� | � t�|�d �|�d ��� qd S )
N�abcZabcds abcs abcd)�xZmnZa1b2c3r �q�kr )ZassertFalser r r
r r r r �test_unequal s �z!Compare_Digest_Tests.test_unequalc C sR d}|� d�}t|t�sJ �t|t�sJ �| �ttj||� | �ttj||� d S )NZabcder )r
�
isinstance�str�bytes�assertRaises� TypeErrorr r )r r r r r r �test_bad_types$ s
z#Compare_Digest_Tests.test_bad_typesc C s, | � t�dd�t� | � t�dd�t� d S )Nr Zxyz)�assertIsInstancer r �bool)r r r r � test_bool- s zCompare_Digest_Tests.test_boolN)�__name__�
__module__�__qualname__�__doc__r r r r r r r r r s
r c @ s( e Zd ZdZdd� Zdd� Zdd� ZdS ) �Random_Testsz*Test wrappers around SystemRandom methods.c C sV d}dD ]$}t d�D ]}t�|�}| �d| kod| k n |||f � q
qd S )Nzrandbits(%d) returned %d)� � � � r � )�ranger Zrandbitsr )r �errmsgZnumbits�i�nr r r �
test_randbits6 s
.��zRandom_Tests.test_randbitsc C s. g d�}t d�D ]}| �t�|�|v � qd S )N)� r) � � � � �@ �
)r* r r �choice)r �itemsr, r r r �test_choice>