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

�Ke�/����ddlZddlZddlZddlZddlZddlmZmZ	ddlZn
#e	$rdZYnwxYwej
ZGd�dej��Z
d�Zedkre��dSdS)�N)�	os_helper�run_unittestc�2�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zdd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zejejdkd��eje dud��e!j"d�������Z#dS) �
NetrcTestCasec��tj|��}d}tjdkr|dz
}t	t
|d���5}|�|��ddd��n#1swxYwY	tjt
��}tj	t
��n#tj	t
��wxYw|S)N�w�cygwin�tzutf-8)�encoding)
�textwrap�dedent�sys�platform�open�
temp_filename�write�netrc�os�unlink)�self�	test_data�mode�fp�nrcs     �9/usr/local/apps/python3/lib/python3.11/test/test_netrc.py�make_nrczNetrcTestCase.make_nrc
s����O�I�.�.�	����<�8�#�#��C�K�D�
�-���
8�
8�
8�	 �B��H�H�Y����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	%��+�m�,�,�C��I�m�$�$�$�$��B�I�m�$�$�$�$�����
s�A%�%A)�,A)�1B$�$B?c��|�d��}|�|jdd��|�|jdd��dS)Nz�            machine host.domain.com password pass1 login log1 account acct1
            default login log2 password pass2 account acct2
            �host.domain.com��log1�acct1�pass1�default��log2�acct2�pass2�r�assertEqual�hosts�rrs  r� test_toplevel_non_ordered_tokensz.NetrcTestCase.test_toplevel_non_ordered_tokens�_���m�m�����	
�����#4�5�7Q�R�R�R������9�-�/I�J�J�J�J�J�c��|�d��}|�|jdd��|�|jdd��dS)Nz�            machine host.domain.com login log1 password pass1 account acct1
            default login log2 password pass2 account acct2
            rrr#r$r(r+s  r�test_toplevel_tokensz"NetrcTestCase.test_toplevel_tokens"r-r.c��d}|�|��}|�|jddgddgd���|�tj|j|�d��dd���dS)	Nz�            macdef macro1
            line1
            line2

            macdef macro2
            line3
            line4

        zline1
zline2
zline3
zline4
)�macro1�macro2� ���)rr)�macros�assertRaisesr�NetrcParseError�rstrip)r�datars   r�test_macroszNetrcTestCase.test_macros*s���	���m�m�D�!�!��������I�0F�1:�I�0F�&H�&H�	I�	I�	I�	
���%�/����+�+�c�*�*�3�B�3�/�	1�	1�	1�	1�	1r.c��d}|D]8}|�|��}|�|jdd���9d}|D]8}|�|��}|�|jdd���9dS)N)zmachine host.domain.comzmachine host.domain.com loginzmachine host.domain.com accountz machine host.domain.com passwordz(machine host.domain.com login "" accountz)machine host.domain.com login "" passwordz+machine host.domain.com account "" passwordr)�r=r=)r#z
default loginzdefault accountzdefault passwordzdefault login "" accountzdefault login "" passwordzdefault account "" passwordr#r()rr:�itemrs    r�test_optional_tokensz"NetrcTestCase.test_optional_tokens<s���
���	I�	I�D��-�-��%�%�C����S�Y�'8�9�<�H�H�H�H�
���	A�	A�D��-�-��%�%�C����S�Y�y�1�<�@�@�@�@�	A�	Ar.c�`�d}|D](}|�tj|j|���)dS)N)zinvalid host.domain.comzmachine host.domain.com invalidzDmachine host.domain.com login log password pass account acct invalidzdefault host.domain.com invalidzDdefault host.domain.com login log password pass account acct invalid)r7rr8r)rr:r>s   r�test_invalid_tokensz!NetrcTestCase.test_invalid_tokensVsH��
���	J�	J�D����e�3�T�]�D�I�I�I�I�	J�	Jr.c�8�|�|��}|dkr&|�|jd|ddf��dS|dkr&|�|jdd|df��dS|dkr&|�|jddd|f��dSdS)N�loginr�acct�pass�account�log�passwordr()rr�token�values    r�
_test_token_xzNetrcTestCase._test_token_xas����m�m�C� � ���G������S�Y�'8�9�E�6�6�;R�S�S�S�S�S�
�i�
�
����S�Y�'8�9�E�5�&�;Q�R�R�R�R�R�
�j�
 �
 ����S�Y�'8�9�E�6�5�;Q�R�R�R�R�R�!�
 r.c��|�ddd��|�ddd��|�ddd	��dS)
NzW            machine host.domain.com login "log" password pass account acct
            rCrGzW            machine host.domain.com login log password pass account "acct"
            rFrDzW            machine host.domain.com login log password "pass" account acct
            rHrE�rK�rs r�test_token_value_quotesz%NetrcTestCase.test_token_value_quotesjsv�������%�	!�	!�	!�	
�����F�	$�	$�	$�	
�����V�	%�	%�	%�	%�	%r.c��|�ddd��|�ddd��|�ddd��|�ddd��|�d	d
d��|�dd
d��dS)
NzW            machine host.domain.com login \"log password pass account acct
            rCz"logzY            machine host.domain.com login "\"log" password pass account acct
            zW            machine host.domain.com login log password pass account \"acct
            rFz"acctzY            machine host.domain.com login log password pass account "\"acct"
            zW            machine host.domain.com login log password \"pass account acct
            rHz"passzY            machine host.domain.com login log password "\"pass" account acct
            rMrNs r�test_token_value_escapez%NetrcTestCase.test_token_value_escapeus��������&�	"�	"�	"�	
�����&�	"�	"�	"�	
�����G�	%�	%�	%�	
�����G�	%�	%�	%�	
�����W�	&�	&�	&�	
�����W�	&�	&�	&�	&�	&r.c��|�ddd��|�ddd��|�ddd	��dS)
NzX            machine host.domain.com login "lo g" password pass account acct
            rCzlo gzX            machine host.domain.com login log password "pas s" account acct
            rHzpas szX            machine host.domain.com login log password pass account "acc t"
            rFzacc trMrNs r�test_token_value_whitespacez)NetrcTestCase.test_token_value_whitespace�sv�������&�	"�	"�	"�	
�����W�	&�	&�	&�	
�����G�	%�	%�	%�	%�	%r.c��|�ddd��|�ddd��|�ddd��dS)NuV            machine host.domain.com login ¡¢ password pass account acct
            rCu¡¢uU            machine host.domain.com login log password pass account ¡¢
            rFuU            machine host.domain.com login log password ¡¢ account acct
            rHrMrNs r�test_token_value_non_asciiz(NetrcTestCase.test_token_value_non_ascii�sv�������*�	&�	&�	&�	
�����J�	(�	(�	(�	
�����Z�	)�	)�	)�	)�	)r.c��|�ddd��|�ddd��|�ddd	��dS)
NzV            machine host.domain.com login #log password pass account acct
            rCz#logzV            machine host.domain.com login log password pass account #acct
            rFz#acctzV            machine host.domain.com login log password #pass account acct
            rH�#passrMrNs r�test_token_value_leading_hashz+NetrcTestCase.test_token_value_leading_hash��v�������&�	"�	"�	"�	
�����G�	%�	%�	%�	
�����W�	&�	&�	&�	&�	&r.c��|�ddd��|�ddd��|�ddd	��dS)
NzV            machine host.domain.com login log# password pass account acct
            rCzlog#zV            machine host.domain.com login log password pass account acct#
            rFzacct#zV            machine host.domain.com login log password pass# account acct
            rHzpass#rMrNs r�test_token_value_trailing_hashz,NetrcTestCase.test_token_value_trailing_hash�rYr.c��|�ddd��|�ddd��|�ddd	��dS)
NzV            machine host.domain.com login lo#g password pass account acct
            rCzlo#gzV            machine host.domain.com login log password pass account ac#ct
            rFzac#ctzV            machine host.domain.com login log password pa#ss account acct
            rHzpa#ssrMrNs r�test_token_value_internal_hashz,NetrcTestCase.test_token_value_internal_hash�rYr.rEc��|�|��}|�|jddd|f��|�|jdd��dS)N�foo.domain.com�barr=zbar.domain.com)�foor=rEr()rr�passwds   r�
_test_commentzNetrcTestCase._test_comment�s]���m�m�C� � �������#3�4�u�b�&�6I�J�J�J������#3�4�6I�J�J�J�J�Jr.c�0�|�d��dS)Nz�            # comment
            machine foo.domain.com login bar password pass
            machine bar.domain.com login foo password pass
            �rcrNs r� test_comment_before_machine_linez.NetrcTestCase.test_comment_before_machine_line��)������	�	�	�	�	r.c�0�|�d��dS)Nz�            #comment
            machine foo.domain.com login bar password pass
            machine bar.domain.com login foo password pass
            rerNs r�)test_comment_before_machine_line_no_spacez7NetrcTestCase.test_comment_before_machine_line_no_space�rgr.c�0�|�d��dS)Nz�            #
            machine foo.domain.com login bar password pass
            machine bar.domain.com login foo password pass
            rerNs r�*test_comment_before_machine_line_hash_onlyz8NetrcTestCase.test_comment_before_machine_line_hash_only�rgr.c�Z�|�d��|�d��dS)Nz�            machine foo.domain.com login bar password pass
            # comment
            machine bar.domain.com login foo password pass
            z�            machine foo.domain.com login bar password pass
            machine bar.domain.com login foo password pass
            # comment
            rerNs r�test_comment_after_machine_linez-NetrcTestCase.test_comment_after_machine_line��H������	�	�	�
	
����	�	�	�	�	r.c�Z�|�d��|�d��dS)Nz�            machine foo.domain.com login bar password pass
            #comment
            machine bar.domain.com login foo password pass
            z�            machine foo.domain.com login bar password pass
            machine bar.domain.com login foo password pass
            #comment
            rerNs r�(test_comment_after_machine_line_no_spacez6NetrcTestCase.test_comment_after_machine_line_no_space�rnr.c�Z�|�d��|�d��dS)Nz�            machine foo.domain.com login bar password pass
            #
            machine bar.domain.com login foo password pass
            z�            machine foo.domain.com login bar password pass
            machine bar.domain.com login foo password pass
            #
            rerNs r�)test_comment_after_machine_line_hash_onlyz7NetrcTestCase.test_comment_after_machine_line_hash_only�rnr.c�0�|�d��dS)Nz�            machine foo.domain.com login bar password pass # comment
            machine bar.domain.com login foo password pass
            rerNs r�#test_comment_at_end_of_machine_linez1NetrcTestCase.test_comment_at_end_of_machine_line��)������	�	�	�	�	r.c�0�|�d��dS)Nz�            machine foo.domain.com login bar password pass #comment
            machine bar.domain.com login foo password pass
            rerNs r�,test_comment_at_end_of_machine_line_no_spacez:NetrcTestCase.test_comment_at_end_of_machine_line_no_spacerur.c�2�|�dd��dS)Nz�            machine foo.domain.com login bar password #pass #comment
            machine bar.domain.com login foo password pass
            rWrerNs r�1test_comment_at_end_of_machine_line_pass_has_hashz?NetrcTestCase.test_comment_at_end_of_machine_line_pass_has_hash
s.�������	�	�	�	�	r.�posixzPOSIX only testNz"security check requires pwd modulec���tj}tj|��|�tj|��tj�|d��}t|d��5}|�	d��ddd��n#1swxYwYtj
��5}|�d|��tj|d��tj
��}|�|jdd��tj|d��|�tjtj
��ddd��n#1swxYwYt|d��5}|�	d	��ddd��n#1swxYwYtj
��5}|�d|��tj|d��tj
��}|�|jdd
��tj|d��|�|jdd
��ddd��dS#1swxYwYdS)Nz.netrc�wtz                machine foo.domain.com login bar password pass
                default login foo password pass
                �HOMEi�r_)r`r=rEi�z�                machine foo.domain.com login anonymous password pass
                default login foo password pass
                )�	anonymousr=rE)r�TESTFNr�mkdir�
addCleanup�rmtree�path�joinrr�EnvironmentVarGuard�set�chmodrr)r*r7r8)r�d�fn�f�environrs      r�
test_securityzNetrcTestCase.test_securitys2��
���
���������	�(�!�,�,�,�
�W�\�\�!�X�
&�
&��
�"�d�^�^�	�q�
�G�G��
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
*�
,�
,�	B���K�K���"�"�"��H�R������+�-�-�C����S�Y�'7�8�0�
2�
2�
2��H�R��������e�3�U�[�A�A�A�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B��"�d�^�^�	�q�
�G�G��
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
*�
,�
,�	8���K�K���"�"�"��H�R������+�-�-�C����S�Y�'7�8�6�
8�
8�
8��H�R��������S�Y�'7�8�6�
8�
8�
8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�	8�	8sJ�1B�B�B�1BE�E �#E �7F�F� F�7BI�I�!I)rE)$�__name__�
__module__�__qualname__rr,r0r;r?rArKrOrQrSrUrXr[r]rcrfrirkrmrprrrtrwry�unittest�
skipUnlessr�name�skipIf�pwdr�skip_unless_working_chmodr��r.rrrs����������K�K�K�K�K�K�1�1�1�$A�A�A�4	J�	J�	J�S�S�S�	%�	%�	%�&�&�&�(	%�	%�	%�	)�	)�	)�	&�	&�	&�	&�	&�	&�	&�	&�	&�K�K�K�K�
���������
�
�
�
�
�
�
�
�
�����������X����G�+�->�?�?��X�_�S�D�[�"F�G�G��(�!8�!8�)�(�H�G�@�?�!8�!8�!8r.rc�.�tt��dS)N)rrr�r.r�	test_mainr�7s��������r.�__main__)rrr�rr�test.supportrrr��ImportErrorrr�TestCaserr�r�r�r.r�<module>r�s��)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�0�0�0�0�0�0�0�0���J�J�J�J������
�C�C�C������ �
�j8�j8�j8�j8�j8�H�%�j8�j8�j8�X	 � � ��z���
�I�K�K�K�K�K��s�#�-�-