Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_getpass.cpython-35.pyc



��Yf%�@s<ddlZddlZddlZddlmZmZmZddlmZddlm	Z	yddl
Z
Wnek
r�dZ
YnXyddlZWnek
r�dZYnXej
d�Gdd�dej��ZGdd	�d	ej�Zeje
d
�Gdd�dej��Zed
kr8ej�dS)�N)�BytesIO�StringIO�
TextIOWrapper)�mock)�supportz
os.environc@s4eZdZdd�Zdd�Zdd�ZdS)�GetpassGetuserTestcCs,d}||j_|j|tj��dS)N�	some_name)�get�return_value�assertEqual�getpass�getuser)�self�environ�
expected_name�r�6/opt/alt/python35/lib64/python3.5/test/test_getpass.py�%test_username_takes_username_from_envsz8GetpassGetuserTest.test_username_takes_username_from_envcCsVd|j_ytj�Wntk
r.YnX|j|jjdd�dD��dS)NcSsg|]}tj|��qSr)rZcall)�.0�xrrr�
<listcomp>!s	zMGetpassGetuserTest.test_username_priorities_of_env_values.<locals>.<listcomp>�LOGNAME�USER�LNAME�USERNAME)rrrr)r	r
rr
�ImportErrorrZcall_args_list)rrrrr�&test_username_priorities_of_env_valuess
	z9GetpassGetuserTest.test_username_priorities_of_env_valuescCs�d}d|j_tr�tjd��X}tjd��?}d|_|g|_|j|tj��|jd�WdQRXWdQRXn|j	t
tj�dS)Nrz	os.getuidzpwd.getpwuid�*)r	r
�pwdr�patchrrr
�assert_called_once_with�assertRaisesr)rrrZuidZgetpwrrr�test_username_falls_back_to_pwd#s		
z2GetpassGetuserTest.test_username_falls_back_to_pwdN)�__name__�
__module__�__qualname__rrr"rrrrrs
rc@sveZdZdd�Zdd�Zejd�dd��Zejd�dd	��Zd
d�Z	dd
�Z
dS)�GetpassRawinputTestcCsEtjdt�}td�}tjd|d|�|jj�dS)N�spec�input_string�some_prompt�input)r�Mockrr�
_raw_input�flushr )r�streamr*rrr� test_flushes_stream_after_prompt4sz4GetpassRawinputTest.test_flushes_stream_after_promptcCsRtd�}d}tjd��*}tj|d|�|jj|�WdQRXdS)Nr(r)z
sys.stderrr*)rrrrr,�writer )rr*�prompt�stderrrrr�test_uses_stderr_as_default;s
z/GetpassRawinputTest.test_uses_stderr_as_defaultz	sys.stdincCs0d|j_tjdt��|jj�dS)Nr(r.)�readliner
rr,rr )r�
mock_inputrrr� test_uses_stdin_as_default_inputBsz4GetpassRawinputTest.test_uses_stdin_as_default_inputcCsHtt�dd�}d|j_tjddd|�|jj�dS)N�encoding�asciiuHasło: r1r.)rrr4r
rr,r )rr5r.rrr�#test_uses_stdin_as_different_localeHsz7GetpassRawinputTest.test_uses_stdin_as_different_localecCs)td�}|jttjd|�dS)N�r*)rr!�EOFErrorrr,)rr*rrr�test_raises_on_empty_inputPsz.GetpassRawinputTest.test_raises_on_empty_inputcCs,td�}|jdtjd|��dS)Nztest
�testr*)rrrr,)rr*rrr�test_trims_trailing_newlineTsz/GetpassRawinputTest.test_trims_trailing_newlineN)r#r$r%r/r3rrr6r9r<r>rrrrr&2sr&z!tests require system with termiosc@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�UnixGetpassTestcCs�tjd���}tjd��p}tjd��W}d|_tj�|jdtjtjB�|j|jd�|j|j�WdQRXWdQRXWdQRXdS)Nzos.openz	io.FileIOzio.TextIOWrapperz/dev/ttyzw+)	rrr
r�unix_getpassr �os�O_RDWR�O_NOCTTY)r�open�fileio�textiorrr�test_uses_tty_directlyas	
	z&UnixGetpassTest.test_uses_tty_directlyc(Cs�tjd���}tjd���tjd���tjd��m}tjd��T}d|_dddddg}t|�|_tj�|jdtj|�WdQRXWdQRXWdQRXWdQRXWdQRXdS)Nzos.openz	io.FileIOzio.TextIOWrapperztermios.tcgetattrztermios.tcsetattr��)rrr
�listrr@�assert_called_with�ANY)rrDZ	tcgetattr�	tcsetattrZ
fake_attrsrrr�test_resets_termiosos	
z#UnixGetpassTest.test_resets_termiosc-Cs�tjd���}tjd���}tjd���}tjd��utjd��^}tjd��E}d|_t�|_tj|_tj�|j	d|j�WdQRXWdQRXWdQRXWdQRXWdQRXWdQRXdS)	Nzos.openz	io.FileIOzio.TextIOWrapperztermios.tcgetattrztermios.tcsetattrzgetpass.fallback_getpassrHz
Password: )
rrr
r�termios�error�side_effectrr@r )rrDrErFrMZfallbackrrr�-test_falls_back_to_fallback_if_termios_raises{s	
	z=UnixGetpassTest.test_falls_back_to_fallback_if_termios_raisesc&Cs�tjd���}tjd���tjd��ktjd��Ttjd��=d|_tjdt�}tjd|�|jj�WdQRXWdQRXWdQRXWdQRXWdQRXdS)	Nzos.openz	io.FileIOzio.TextIOWrapperztermios.tcgetattrztermios.tcsetattrrHr'r.)	rrr
r+rrr@r-rK)rrDZmock_streamrrr�test_flushes_stream_after_input�s	z/UnixGetpassTest.test_flushes_stream_after_inputcCs�tjd���}tjddt���}t|_t|j_tj��+}|j	t
j��t
j�WdQRXWdQRX|j
j�|jd|j��|jd|j��WdQRXWdQRXdS)Nzos.openz	sys.stdinr'�Warningz	Password:)rrr�IOErrorrQ�AttributeError�filenorZcaptured_stderrZassertWarnsrZGetPassWarningr@r4r ZassertIn�getvalue)rZos_open�stdinr2rrr�test_falls_back_to_stdin�s	
z(UnixGetpassTest.test_falls_back_to_stdinN)r#r$r%rGrNrRrSrZrrrrr?^s
r?�__main__)rrAZunittest�iorrrrr=rrOrrrZTestCaserr&Z
skipUnlessr?r#�mainrrrr�<module>s(

 ,C