shell bypass 403
o
`b% � @ s� d dl Z d dlZd dlZd dlmZmZmZ d dlmZ d dlm Z zd dl
Z
W n ey3 dZ
Y nw zd dlZW n eyE dZY nw e�
d�G dd� dej��ZG dd � d ej�Ze�e
d
�G dd� dej��Zed
krve�� dS dS )� N)�BytesIO�StringIO�
TextIOWrapper)�mock)�supportz
os.environc @ s$ e Zd Zdd� Zdd� Zdd� ZdS )�GetpassGetuserTestc C s d}||j _| �|t�� � d S )N� some_name)�get�return_value�assertEqual�getpass�getuser)�self�environ�
expected_name� r �:/usr/local/python-3.10/lib/python3.10/test/test_getpass.py�%test_username_takes_username_from_env s z8GetpassGetuserTest.test_username_takes_username_from_envc C sF d |j _zt�� W n ty Y nw | �|j jdd� dD �� d S )Nc S s g | ]}t �|��qS r )r �call)�.0�xr r r �
<listcomp>! s zMGetpassGetuserTest.test_username_priorities_of_env_values.<locals>.<listcomp>)ZLOGNAMEZUSERZLNAME�USERNAME)r r
r r
�ImportErrorr Zcall_args_list)r r r r r �&test_username_priorities_of_env_values s ��z9GetpassGetuserTest.test_username_priorities_of_env_valuesc C s� d}d |j _trQt�d��:}t�d��}d|_|g|_| �|t�� � |�d� W d � n1 s2w Y W d � d S W d � d S 1 sJw Y d S | � t
tj� d S )Nr z os.getuidzpwd.getpwuid�* )r r
�pwdr �patchr r r
�assert_called_once_with�assertRaisesr )r r r �uidZgetpwr r r �test_username_falls_back_to_pwd# s ��P�z2GetpassGetuserTest.test_username_falls_back_to_pwdN)�__name__�
__module__�__qualname__r r r! r r r r r s
r c @ sP e Zd Zdd� Zdd� Ze�d�dd� �Ze�d�dd � �Zd
d� Z dd
� Z
dS )�GetpassRawinputTestc C s2 t jtd�}td�}tjd||d� |j�� d S )N��spec�input_string�some_prompt��input)r �Mockr r �
_raw_input�flushr )r �streamr+ r r r � test_flushes_stream_after_prompt4 s z4GetpassRawinputTest.test_flushes_stream_after_promptc C sV t d�}d}t�d��}tj||d� |j�|� W d � d S 1 s$w Y d S )Nr( r) z
sys.stderrr* )r r r r r- �writer )r r+ �prompt�stderrr r r �test_uses_stderr_as_default; s "�z/GetpassRawinputTest.test_uses_stderr_as_default� sys.stdinc C s$ d|j _tjt� d� |j �� d S )Nr( �r/ )�readliner
r r- r r )r �
mock_inputr r r � test_uses_stdin_as_default_inputB s z4GetpassRawinputTest.test_uses_stdin_as_default_inputc C s2 t t� dd�}d|j_tjd|d� |j�� d S )N�ascii)�encodingu Hasło: )r2 r/ )r r r7 r
r r- r )r r8 r/ r r r �#test_uses_stdin_as_different_localeH s z7GetpassRawinputTest.test_uses_stdin_as_different_localec C s t d�}| jttj|d� d S )N� r* )r r �EOFErrorr r- �r r+ r r r �test_raises_on_empty_inputP s z.GetpassRawinputTest.test_raises_on_empty_inputc C s t d�}| �dtj|d�� d S )Nztest
�testr* )r r r r- r? r r r �test_trims_trailing_newlineT s z/GetpassRawinputTest.test_trims_trailing_newlineN)r"