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

�Ke{���ddlZddlZddlZddlmZmZmZddlmZddlm	Z		ddl
Z
n
#e$rdZ
YnwxYw	ddlZn
#e$rdZYnwxYwej
d��Gd�dej����ZGd�d	ej��Zeje
d
��Gd�dej����Zed
krej��dSdS)�N)�BytesIO�StringIO�
TextIOWrapper)�mock)�supportz
os.environc� �eZdZd�Zd�Zd�ZdS)�GetpassGetuserTestc�p�d}||j_|�|tj����dS)N�	some_name)�get�return_value�assertEqual�getpass�getuser)�self�environ�
expected_names   �;/usr/local/apps/python3/lib/python3.11/test/test_getpass.py�%test_username_takes_username_from_envz8GetpassGetuserTest.test_username_takes_username_from_envs5��#�
�#0��� �������(9�(9�:�:�:�:�:�c���d|j_	tj��n#t$rYnt
$rYnwxYw|�|jjd�dD����dS)Nc�6�g|]}tj|����S�)r�call)�.0�xs  r�
<listcomp>zMGetpassGetuserTest.test_username_priorities_of_env_values.<locals>.<listcomp>$s ��L�L�L�a�T�Y�q�\�\�L�L�Lr)�LOGNAME�USER�LNAME�USERNAME)rr
rr�ImportError�KeyErrorr�call_args_list)rrs  r�&test_username_priorities_of_env_valuesz9GetpassGetuserTest.test_username_priorities_of_env_valuess���#'��� �	��O�������	�	�	��D��	�	�	��D�	����	
����K�&�L�L�#K�L�L�L�	N�	N�	N�	N�	Ns�"�
:�	:�:c���d}d|j_tr�tjd��5}tjd��5}d|_|g|_|�|t
j����|�d��ddd��n#1swxYwYddd��dS#1swxYwYdS|�	ttj��dS)Nrz	os.getuidzpwd.getpwuid�*)rr
�pwdr�patchrrr�assert_called_once_with�assertRaisesr")rrr�uid�getpws     r�test_username_falls_back_to_pwdz2GetpassGetuserTest.test_username_falls_back_to_pwd&sX��#�
�#'��� ��		<���K�(�(�
2�C��J�~�.�.�
2�27�#%�� �&3�_��"�� � ��!(��!2�!2�4�4�4��-�-�b�1�1�1�

2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2����
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2����
2�
2�
2�
2�
2�
2�
���k�7�?�;�;�;�;�;s5�B/�AB�B/�B	�B/�B	�B/�/B3�6B3N)�__name__�
__module__�__qualname__rr%r.rrrr	r	sD������;�;�;�
N�N�N�<�<�<�<�<rr	c��eZdZd�Zd�Zejd��d���Zejd��d���Zd�Z	d�Z
dS)	�GetpassRawinputTestc��tjt���}td��}tjd||���|j���dS)N��spec�input_string�some_prompt��input)r�Mockrr�
_raw_input�flushr*)r�streamr:s   r� test_flushes_stream_after_promptz4GetpassRawinputTest.test_flushes_stream_after_prompt7sS�����)�)�)����(�(����=�&��>�>�>�>���,�,�.�.�.�.�.rc���td��}d}tjd��5}tj||���|j�|��ddd��dS#1swxYwYdS)Nr7r8z
sys.stderrr9)rrr)rr<�writer*)rr:�prompt�stderrs    r�test_uses_stderr_as_defaultz/GetpassRawinputTest.test_uses_stderr_as_default>s�����(�(����
�Z��
%�
%�	9����v�U�3�3�3�3��L�0�0��8�8�8�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�	9�	9s�1A$�$A(�+A(�	sys.stdinc��d|j_tjt	�����|j���dS)Nr7�r>)�readliner
rr<rr*)r�
mock_inputs  r� test_uses_stdin_as_default_inputz4GetpassRawinputTest.test_uses_stdin_as_default_inputEs@��+9�
��(���(�*�*�-�-�-�-���3�3�5�5�5�5�5rc��tt��d���}d|j_t	jd|���|j���dS)N�ascii)�encodinguHasło: )rBr>)rrrHr
rr<r*)rrIr>s   r�#test_uses_stdin_as_different_localez7GetpassRawinputTest.test_uses_stdin_as_different_localeKsT���w�y�y�7�;�;�;��+8�
��(���-�v�>�>�>�>���3�3�5�5�5�5�5rc�r�td��}|�ttj|���dS)N�r9)rr+�EOFErrorrr<�rr:s  r�test_raises_on_empty_inputz.GetpassRawinputTest.test_raises_on_empty_inputSs1����������(�G�$6�e��D�D�D�D�Drc�v�td��}|�dtj|�����dS)Nztest
�testr9)rrrr<rRs  r�test_trims_trailing_newlinez/GetpassRawinputTest.test_trims_trailing_newlineWs9����"�"�������!3�%�!@�!@�!@�A�A�A�A�ArN)r/r0r1r?rDrr)rJrNrSrVrrrr3r35s�������/�/�/�9�9�9��T�Z����6�6���6�
�T�Z����6�6���6�E�E�E�B�B�B�B�Brr3z!tests require system with termiosc�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�UnixGetpassTestc��tjd��5}tjd��5}tjd��5}d|_tj��|�dtjtjz��|�|jd��|�|j��ddd��n#1swxYwYddd��n#1swxYwYddd��dS#1swxYwYdS)N�os.open�	io.FileIO�io.TextIOWrapperz/dev/ttyzw+)	rr)r
r�unix_getpassr*�os�O_RDWR�O_NOCTTY)r�open�fileio�textios    r�test_uses_tty_directlyz&UnixGetpassTest.test_uses_tty_directlyds���
�Z�	�
"�
"�	@�d��
�;�'�'�	@�+1��
�-�.�.�	@�28�!%�D��� �"�"�"��(�(��)+��R�[�)@�
B�
B�
B��*�*�4�+<�d�C�C�C��*�*�6�+>�?�?�?�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�	@�	@sX�C7�C�A=C�<C�C�C�C�C�C7�C#	�#C7�&C#	�'C7�7C;�>C;c
�f�tjd��5}tjd��5tjd��5tjd��5}tjd��5}d|_gd�}t|��|_t	j��|�dtj|��ddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwYddd��dS#1swxYwYdS)NrZr[r\�termios.tcgetattr�termios.tcsetattr�)�riririri)rr)r
�listrr]�assert_called_with�ANY)rra�	tcgetattr�	tcsetattr�
fake_attrss     r�test_resets_termiosz#UnixGetpassTest.test_resets_termiosrs���
�Z�	�
"�
"�		B�d��
�;�'�'�		B�		B��
�-�.�.�		B�		B��
�.�/�/�		B�4=��
�.�/�/�			B�4=� !�D��2�2�2�J�%)�*�%5�%5�I�"�� �"�"�"��(�(��D�H�j�A�A�A�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B����		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B����		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B����		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B����		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B�		B����		B�		B�		B�		B�		B�		Bs��D&�D�C7�C 	�)AC	�=C 	�	C
�
C 	�C
�C 	�C7� C$
�$C7�'C$
�(C7�+D�7C;�;D�>C;�?D�D&�D	�D&�D	�D&�&D*�-D*c���tjd��5}tjd��5}tjd��5}tjd��5tjd��5}tjd��5}d|_t��|_tj|_tj��|�	d|j��ddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwYddd��dS#1swxYwYdS)	NrZr[r\rfrgzgetpass.fallback_getpassrhz
Password: )
rr)r
r�termios�error�side_effectrr]r*)rrarbrcrn�fallbacks      r�-test_falls_back_to_fallback_if_termios_raisesz=UnixGetpassTest.test_falls_back_to_fallback_if_termios_raises~s#��
�Z�	�
"�
"�	B�d��
�;�'�'�	B�+1��
�-�.�.�	B�28��
�.�/�/�	B�	B��
�.�/�/�		B�4=��
�5�6�6�	B�
;C� !�D��")�)�)�F��$+�M�I�!�� �"�"�"��,�,�\�-3�-@�
B�
B�
B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	Bs��E�E�D)�D	�)C;�>AC$
�C;�$C(�(C;�+C(�,C;�/D	�;C?�?D	�C?�D	�D)�D
�D)�D
�D)�E�)D-�-E�0D-�1E�4E�E	�E�E	�E�E�Ec
�^�tjd��5}tjd��5tjd��5tjd��5tjd��5d|_tjt���}tj|���|j���ddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwYddd��dS#1swxYwYdS)	NrZr[r\rfrgrhr5rG)	rr)r
r;rrr]r=rk)rra�mock_streams   r�test_flushes_stream_after_inputz/UnixGetpassTest.test_flushes_stream_after_input�sS��
�Z�	�
"�
"�	3�d��
�;�'�'�	3�	3��
�-�.�.�	3�	3��
�.�/�/�	3�	3��
�.�/�/�		3�	3�
!"�D���)��2�2�2�K�� ��4�4�4�4���0�0�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3s��D"�D
�C3�C	�)AC�9C	�C	�	C	�C	�
C	�C3�C 
� C3�#C 
�$C3�'D
�3C7�7D
�:C7�;D
�>D"�
D	�D"�D	�D"�"D&�)D&c	��tjd��5}tjdt���5}t|_t
|j_tj��5}|�	tj��5tj��ddd��n#1swxYwYddd��n#1swxYwY|j
���|�d|�����|�d|�����ddd��n#1swxYwYddd��dS#1swxYwYdS)NrZrEr5�Warningz	Password:)rr)r�IOErrorrt�AttributeError�filenor�captured_stderr�assertWarnsr�GetPassWarningr]rHr*�assertIn�getvalue)r�os_open�stdinrCs    r�test_falls_back_to_stdinz(UnixGetpassTest.test_falls_back_to_stdin�s��
�Z�	�
"�
"�		:�g��
�;�X�6�6�6�		:�:?�")�G��'5�E�L�$��(�*�*�
+�f��%�%�g�&<�=�=�+�+��(�*�*�*�+�+�+�+�+�+�+�+�+�+�+����+�+�+�+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+����
+�
+�
+�
+�
�N�2�2�4�4�4��M�M�)�V�_�_�%6�%6�7�7�7��M�M�+�v���'8�'8�9�9�9�		:�		:�		:�		:�		:�		:�		:�		:�		:�		:�		:����		:�		:�		:�		:�		:�		:�		:�		:�		:�		:�		:�		:�		:�		:�		:�		:����		:�		:�		:�		:�		:�		:s}�E�1D9�" B9�B"	�B9�"B&
�&B9�)B&
�*B9�-D9�9B=�=D9�B=�A,D9�-E�9D=	�=E�D=	�E�E�EN)r/r0r1rdrprvryr�rrrrXrXash������@�@�@�
B�
B�
B�B�B�B�
3�
3�
3�
:�
:�
:�
:�
:rrX�__main__)rr^�unittest�iorrrrrUrrrr"r(r)�TestCaser	r3�
skipUnlessrXr/�mainrrr�<module>r�s�������	�	�	�	�����/�/�/�/�/�/�/�/�/�/���������������N�N�N�N�������G�G�G�������J�J�J�J������
�C�C�C��������L��� <� <� <� <� <��*� <� <��� <�F$B�$B�$B�$B�$B�(�+�$B�$B�$B�X���W�A�B�B�@:�@:�@:�@:�@:�h�'�@:�@:�C�B�@:�F�z����H�M�O�O�O�O�O��s�)�3�3�<�A�A