Current File : //usr/local/apps/python3/lib/python3.11/distutils/tests/__pycache__/test_upload.cpython-311.pyc
�

�Ke���
�dZddlZddlZddlmZddlmZddlmZddl	m
Zddlm
Z
ddl
mZddlmZddlmZmZdd	lmZmZd
ZdZGd�d
e��ZGd�de��Zd�Zedkree����dSdS)z#Tests for distutils.command.upload.�N)�	HTTPError)�run_unittest)�upload)�Distribution)�DistutilsError)�ERROR�INFO)�PYPIRC�BasePyPIRCCommandTestCasez�[distutils]

index-servers =
    server1
    server2

[server1]
username:me
password:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

[server2]
username:meagain
password: secret
realm:acme
repository:http://another.pypi/
z@[distutils]

index-servers =
    server1

[server1]
username:me
c�*�eZdZdd�Zdd�Zd�Zd�ZdS)�FakeOpenNc��||_t|t��s||_nd|_|pd|_|pd|_dS)N�OK��)�url�
isinstance�str�req�msg�code)�selfrrrs    �E/usr/local/apps/python3/lib/python3.11/distutils/tests/test_upload.py�__init__zFakeOpen.__init__0sE������#�s�#�#�	��D�H�H��D�H��;�$����K�C��	�	�	�c�V�ddi�|���|��S)Nzcontent-typeztext/plain; charset=utf-8)�get�lower)r�name�defaults   r�	getheaderzFakeOpen.getheader9s)���7���c�$�*�*�,�,��(�(�	)rc��dS)Nsxyzzy��rs r�readz
FakeOpen.read>s���xrc��|jS�N)rr#s r�getcodezFakeOpen.getcodeAs
���y�r)NNr&)�__name__�
__module__�__qualname__rr r$r'r"rrr
r
.sZ������ � � � �)�)�)�)�
�������rr
c�R��eZdZ�fd�Z�fd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Z�xZS)
�uploadTestCasec����tt|�����tj|_|jt_d|_d|_d|_	dSr&)
�superr,�setUp�
upload_mod�urlopen�old_open�_urlopen�	last_open�next_msg�	next_code�r�	__class__s �rr/zuploadTestCase.setUpGsL���
�n�d�#�#�)�)�+�+�+�"�*��
�!�]�
�������
�����rc�x��|jt_tt|�����dSr&)r2r0r1r.r,�tearDownr7s �rr:zuploadTestCase.tearDownOs/���!�]�
��
�n�d�#�#�,�,�.�.�.�.�.rc�R�t||j|j���|_|jS)N)rr)r
r5r6r4)rrs  rr3zuploadTestCase._urlopenSs$��!�#�4�=�t�~�N�N�N����~�rc��|�|jt��t��}t	|��}|���dD])\}}|�t||��|���*dS)N))�username�me)�password�secret)�realm�pypi)�
repository�https://upload.pypi.org/legacy/)�
write_file�rcr
rr�finalize_options�assertEqual�getattr)r�dist�cmd�attr�waiteds     r�test_finalize_optionsz$uploadTestCase.test_finalize_optionsWs���	
������(�(�(��~�~���T�l�l��������P�	9�	9�L�D�&�
���W�S�$�/�/��8�8�8�8�	9�	9rc�h�|�|jt��t��}t	|��}|���|�|jd��d|_t	|��}|���|�|jd��dS)N�xxx)rErF�PYPIRC_NOPASSWORDrrrGrHr?)rrJrKs   r�test_saved_passwordz"uploadTestCase.test_saved_passwordcs��������!2�3�3�3��~�~���T�l�l�������������t�,�,�,���
��T�l�l�������������u�-�-�-�-�-rc��|���}tj�|d��}|�|��dd|}}}|||fg}|�|jt��|�|���\}}t|��}	d|	_	|	�
��|	���t|j
jj��}
|�t#|
d��d��|
d}|�|�d����|�|j
j���d	��d
}|�|j
j���|��|j
jj}
|�d|
��|�d|
��|�d
|
��|�d|
��d|
vr|�d|
��d|
vr|�d|
��|�t4��}|�|dd��dS)NrP�2.6��
dist_files��Content-lengthirzContent-typezmultipart/form-data�POSTrDsxxxsprotocol_versions
sha256_digests@cd2eb0837c9b4c962c22d2ff8b5441b7b45805887f051d39bf133b583baf6860s
md5_digests f561aaf6ef0bf14d4208bb46a4ccb3adsblake2_256_digests�b6f289a27d4fe90da63c503bfe0a9b761a8f76bb86148565065f040be6d1c3044cf7ded78ef800509bccb4b648e507d88dc6383d67642aadccce443f1534330a���z�---------------------------------------------------------------------------
xyzzy
---------------------------------------------------------------------------)�mkdtemp�os�path�joinrErF�PYPIRC_LONG_PASSWORD�create_distr�
show_response�ensure_finalized�run�dictr4r�headers�assertGreaterEqual�int�
assertTrue�
startswithrH�
get_method�get_full_url�data�assertIn�get_logsr	)r�tmpr]�command�	pyversion�filenamerV�pkg_dirrJrKre�content_type�expected_urlrl�resultss               r�test_uploadzuploadTestCase.test_uploadtsZ���l�l�n�n���w�|�|�C��'�'���������',�e�T�H����	�8�4�5�
������!5�6�6�6��(�(�J�(�?�?�
����T�l�l��������������	�	�	��t�~�)�1�2�2������G�,<�$=� >� >��E�E�E��~�.������/�/�0E�F�F�G�G�G������+�6�6�8�8�&�A�A�A�8�������+�8�8�:�:�L�I�I�I��~�!�&���
�
�f�T�"�"�"��
�
�)�4�0�0�0��
�
�&��-�-�-��
�
�
��	
�	
�	
�
�D� � ��M�M�=�t�D�D�D��4�'�'��M�M�"��	
�
�
��-�-��%�%��������&G�H�H�H�H�Hrc�|�|���}tj�|d��}|�|d���dd|}}}|||fg}|�|jt��|�|d���\}}t|��}	d|	_	|	�
��|	���t|j
jj��}
|�t#|
d��d	��|�d
|j
jj��dS)NrPzyy
)�contentrTzlong description
)rV�descriptionrWrXi|slong description
)r[r\r]r^rErFr_r`rrarbrcrdr4rrerfrgrmrl)rror]rprqrrrVrsrJrKres           r�test_upload_correct_crz%uploadTestCase.test_upload_correct_cr�s#���l�l�n�n���w�|�|�C��'�'������f��-�-�-�',�e�T�H����	�8�4�5�
������!5�6�6�6��(�(�!�,�)�
�
�
����T�l�l��������������	�	�	��t�~�)�1�2�2������G�,<�$=� >� >��E�E�E��
�
�+�T�^�-?�-D�E�E�E�E�Erc�b�d|_d|_|�t|j��dS)Nz	Not Foundi�)r5r6�assertRaisesrrwr#s r�test_upload_failsz uploadTestCase.test_upload_fails�s/��#��
�������.�$�*:�;�;�;�;�;rc	���|���}tj�|d��}|�|��dd|fg}|�|jt��|�|���\}}td��dtftdddid��dtfg}|D�]6\}}}	|�t|��j
�	��5tjd
tj|������5|�|	��5t%|��}
|
���|
���ddd��n#1swxYwY|�t,��}|�||d
��|���ddd��n#1swxYwYddd��n#1swxYwY��8dS)NrPrTrU�oserrorri��	httperrorzUpload failed (400): httperror)�	exceptionz distutils.command.upload.urlopen)�side_effect)�newrZ)r[r\r]r^rErFr_r`�OSErrorrr�subTest�typer(�mock�patch�Mockr}rrbrcrnrrm�
clear_logs)rror]rVrsrJ�testsr��expected�raised_exceptionrKrvs            r�test_wrong_exception_orderz)uploadTestCase.test_wrong_exception_order�s����l�l�n�n���w�|�|�C��'�'����������e�T�*�+�
������!5�6�6�6��(�(�J�(�?�?�
���
�Y�
�
��G�4�
�u�c�;��D�
9�
9�
-�~�
?�
��
6;�
	&�
	&�1�I�x�!1�����Y���(@��A�A�	
&�	
&��Z� B�$(�I�)�$D�$D�$D�F�F�F�&�&��*�*�+;�<�<�"�"�$�T�l�l���,�,�.�.�.����	�	�	�"�"�"�"�"�"�"�"�"�"�"����"�"�"�"�#�m�m�E�2�2�G��M�M�(�G�B�K�8�8�8��O�O�%�%�%�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&�	
&�	
&�	
&�	
&�	
&�	
&�	
&�	
&�	
&�	
&�	
&����	
&�	
&�	
&�	
&��
	&�
	&s[�,*G(�G�,8E0	�$G�0E4
�4G�7E4
�8A
G�G(�G�G(�G�G(�(G,	�/G,	)
r(r)r*r/r:r3rNrRrwr{r~r��
__classcell__)r8s@rr,r,Es�������������/�/�/�/�/����
9�
9�
9�.�.�.�",I�,I�,I�`F�F�F�0<�<�<�
&�&�&�&�&�&�&rr,c�X�tj���t��Sr&)�unittest�
TestLoader�loadTestsFromTestCaser,r"rr�
test_suiter��s���� � �6�6�~�F�F�Fr�__main__)�__doc__r\r��
unittest.mockr��urllib.errorr�test.supportr�distutils.commandrr0�distutils.command.upload�distutils.corer�distutils.errorsr�
distutils.logrr	�distutils.tests.test_configr
rr_rQ�objectr
r,r�r(r"rr�<module>r�s|��)�)�	�	�	�	�����������"�"�"�"�"�"�%�%�%�%�%�%�2�2�2�2�2�2�+�+�+�+�+�+�'�'�'�'�'�'�+�+�+�+�+�+�%�%�%�%�%�%�%�%�I�I�I�I�I�I�I�I���&�������v����.S&�S&�S&�S&�S&�.�S&�S&�S&�lG�G�G��z����L�����������r