Sindbad~EG File Manager
�
'Μgn/����ddlZddlZddlZddlZddlZddlmZ ddlZejZ
Gd�dej�Ze
dk(rej�yy#e$rdZY�BwxYw)�N)� os_helperc�8�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�Zd�Zdd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zej8ej<dk(d�ej>e dud�e!jDd����Z#y)�
NetrcTestCasec�v�tj|�}d}tjdk7r|dz
}t t
|d��5}|j
|�ddd� tjt
�}tjt
�|S#1swY�>xYw#tjt
�wxYw)N�w�cygwin�tzutf-8)�encoding)
�textwrap�dedent�sys�platform�open�
temp_filename�write�netrc�os�unlink)�self� test_data�mode�fp�nrcs �,/usr/local/lib/python3.12/test/test_netrc.py�make_nrczNetrcTestCase.make_nrc
s����O�O�I�.� ����<�<�8�#��C�K�D�
�-���
8�B��H�H�Y��9� %��+�+�m�,�C��I�I�m�$��
�
9�
8��
�I�I�m�$�s�B�B�B�B8c��|jd�}|j|jdd�|j|jdd�y)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�L���m�m����
������#4�5�7Q�R�������9�-�/I�J�c��|jd�}|j|jdd�|j|jdd�y)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}|j|�}|j|jddgddgd��|jtj
|j|j
d�dd�y) 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*st�� ���m�m�D�!���������I�0F�1:�I�0F�&H� I�
���%�/�/�����+�+�c�*�3�B�/� 1r-c���d}|D]2}|j|�}|j|jdd��4d}|D]2}|j|�}|j|jdd��4y)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')rr9�itemrs r�test_optional_tokensz"NetrcTestCase.test_optional_tokens<sw��
���D��-�-��%�C����S�Y�Y�'8�9�<�H��
���D��-�-��%�C����S�Y�Y�y�1�<�@�r-c�l�d}|D]-}|jtj|j|��/y)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)r6rr7r)rr9r=s r�test_invalid_tokensz!NetrcTestCase.test_invalid_tokensVs1��
���D����e�3�3�T�]�]�D�I�r-c��|j|�}|dk(r#|j|jd|ddf�y|dk(r#|j|jdd|df�y|dk(r#|j|jddd|f�yy)N�loginr�acct�pass�account�log�passwordr')rr�token�values r�
_test_token_xzNetrcTestCase._test_token_xas����m�m�C� ���G�����S�Y�Y�'8�9�E�6�6�;R�S�
�i�
����S�Y�Y�'8�9�E�5�&�;Q�R�
�j�
����S�Y�Y�'8�9�E�6�5�;Q�R�!r-c�v�|jddd�|jddd�|jddd �y)
NzW machine host.domain.com login "log" password pass account acct
rBrFzW machine host.domain.com login log password pass account "acct"
rErCzW machine host.domain.com login log password "pass" account acct
rGrD�rJ�rs r�test_token_value_quotesz%NetrcTestCase.test_token_value_quotesjsN�������%� !�
�����F� $�
�����V� %r-c���|jddd�|jddd�|jddd�|jddd�|jd d
d�|jdd
d�y)
NzW machine host.domain.com login \"log password pass account acct
rBz"logzY machine host.domain.com login "\"log" password pass account acct
zW machine host.domain.com login log password pass account \"acct
rEz"acctzY machine host.domain.com login log password pass account "\"acct"
zW machine host.domain.com login log password \"pass account acct
rGz"passzY machine host.domain.com login log password "\"pass" account acct
rLrMs r�test_token_value_escapez%NetrcTestCase.test_token_value_escapeus��������&� "�
�����&� "�
�����G� %�
�����G� %�
�����W� &�
�����W� &r-c�v�|jddd�|jddd�|jddd �y)
NzX machine host.domain.com login "lo g" password pass account acct
rBzlo gzX machine host.domain.com login log password "pas s" account acct
rGzpas szX machine host.domain.com login log password pass account "acc t"
rEzacc trLrMs r�test_token_value_whitespacez)NetrcTestCase.test_token_value_whitespace�sN�������&� "�
�����W� &�
�����G� %r-c�v�|jddd�|jddd�|jddd�y)NuV machine host.domain.com login ¡¢ password pass account acct
rBu¡¢uU machine host.domain.com login log password pass account ¡¢
rEuU machine host.domain.com login log password ¡¢ account acct
rGrLrMs r�test_token_value_non_asciiz(NetrcTestCase.test_token_value_non_ascii�sN�������*� &�
�����J� (�
�����Z� )r-c�v�|jddd�|jddd�|jddd �y)
NzV machine host.domain.com login #log password pass account acct
rBz#logzV machine host.domain.com login log password pass account #acct
rEz#acctzV machine host.domain.com login log password #pass account acct
rG�#passrLrMs r�test_token_value_leading_hashz+NetrcTestCase.test_token_value_leading_hash��N�������&� "�
�����G� %�
�����W� &r-c�v�|jddd�|jddd�|jddd �y)
NzV machine host.domain.com login log# password pass account acct
rBzlog#zV machine host.domain.com login log password pass account acct#
rEzacct#zV machine host.domain.com login log password pass# account acct
rGzpass#rLrMs r�test_token_value_trailing_hashz,NetrcTestCase.test_token_value_trailing_hash�rXr-c�v�|jddd�|jddd�|jddd �y)
NzV machine host.domain.com login lo#g password pass account acct
rBzlo#gzV machine host.domain.com login log password pass account ac#ct
rEzac#ctzV machine host.domain.com login log password pa#ss account acct
rGzpa#ssrLrMs r�test_token_value_internal_hashz,NetrcTestCase.test_token_value_internal_hash�rXr-c��|j|�}|j|jddd|f�|j|jdd�y)N�foo.domain.com�barr<zbar.domain.com)�foor<rDr')rr�passwds r�
_test_commentzNetrcTestCase._test_comment�sL���m�m�C� ��������#3�4�u�b�&�6I�J�������#3�4�6I�Jr-c�&�|jd�y)Nz� # comment
machine foo.domain.com login bar password pass
machine bar.domain.com login foo password pass
�rbrMs r� test_comment_before_machine_linez.NetrcTestCase.test_comment_before_machine_line�������� r-c�&�|jd�y)Nz� #comment
machine foo.domain.com login bar password pass
machine bar.domain.com login foo password pass
rdrMs r�)test_comment_before_machine_line_no_spacez7NetrcTestCase.test_comment_before_machine_line_no_space�rfr-c�&�|jd�y)Nz� #
machine foo.domain.com login bar password pass
machine bar.domain.com login foo password pass
rdrMs r�*test_comment_before_machine_line_hash_onlyz8NetrcTestCase.test_comment_before_machine_line_hash_only�rfr-c�H�|jd�|jd�y)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
rdrMs r�test_comment_after_machine_linez-NetrcTestCase.test_comment_after_machine_line��*������ �
���� r-c�H�|jd�|jd�y)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
rdrMs r�(test_comment_after_machine_line_no_spacez6NetrcTestCase.test_comment_after_machine_line_no_space�rmr-c�H�|jd�|jd�y)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
#
rdrMs r�)test_comment_after_machine_line_hash_onlyz7NetrcTestCase.test_comment_after_machine_line_hash_only�rmr-c�&�|jd�y)Nz� machine foo.domain.com login bar password pass # comment
machine bar.domain.com login foo password pass
rdrMs r�#test_comment_at_end_of_machine_linez1NetrcTestCase.test_comment_at_end_of_machine_line�������� r-c�&�|jd�y)Nz� machine foo.domain.com login bar password pass #comment
machine bar.domain.com login foo password pass
rdrMs r�,test_comment_at_end_of_machine_line_no_spacez:NetrcTestCase.test_comment_at_end_of_machine_line_no_spacertr-c�(�|jdd�y)Nz� machine foo.domain.com login bar password #pass #comment
machine bar.domain.com login foo password pass
rVrdrMs 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|�|j tj
|�tjj|d�}t|d�5}|jd�ddd�tj�5}|jd|�tj|d�tj�}|j|jdd�tj|d�|j!tj"tj�ddd�t|d�5}|jd �ddd�tj�5}|jd|�tj|d�tj�}|j|jdd
�tj|d�|j|jdd
�ddd�y#1swY���xYw#1swY��xYw#1swY��xYw#1swYyxYw)Nz.netrc�wtz machine foo.domain.com login bar password pass
default login foo password pass
�HOMEi�r^)r_r<rDi�z� machine foo.domain.com login anonymous password pass
default login foo password pass
)� anonymousr<rD)r�TESTFNr�mkdir�
addCleanup�rmtree�path�joinrr�EnvironmentVarGuard�set�chmodrr(r)r6r7)r�d�fn�f�environrs r�
test_securityzNetrcTestCase.test_securitys���
����
�������� �(�(�!�,�
�W�W�\�\�!�X�
&��
�"�d�^�q�
�G�G��
��
�
*�
*�
,���K�K���"��H�H�R����+�+�-�C����S�Y�Y�'7�8�0�
2��H�H�R������e�3�3�U�[�[�A�-��"�d�^�q�
�G�G��
��
�
*�
*�
,���K�K���"��H�H�R����+�+�-�C����S�Y�Y�'7�8�6�
8��H�H�R������S�Y�Y�'7�8�6�
8�-�
,�%�^��
-�
,���^��
-�
,�s2�2H� B H)�H5�BI�H&�)H2�5H>�I
)rD)$�__name__�
__module__�__qualname__rr+r/r:r>r@rJrNrPrRrTrWrZr\rbrerhrjrlrorqrsrvrx�unittest�
skipUnlessr�name�skipIf�pwdr�skip_unless_working_chmodr��r-rrrs����K�K�1�$A�4 J�S� %�&�( %� )� &� &� &�K�
���
�
�
�����X������G�+�->�?��X�_�_�S�D�[�"F�G��(�(�!8�)�H�@�!8r-r�__main__)rrr�r
r�test.supportrr��ImportErrorr~r�TestCaserr��mainr�r-r�<module>r�sl��)�)�)�"���� � �
�j8�H�%�%�j8�Z �z���H�M�M�O���e ��
�C��s�A�A#�"A#
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists