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

�Ke�6��4�ddlZddlZddlmZddlmZddlmZddlmZddlm	Z	ddl
Z
ddlZddlZ
ddlZ
ddlZejd��d�Zd	�Zee
jje
jj��ZGd
�de��Zeeej���Zeeej���Zeeej���ZGd
�dej ��Z!Gd�dej ��Z"Gd�dej ��Z#Gd�dej ��Z$e%dkrej&��dSdS)�N)�support)�	os_helper)�
socket_helper)�ResourceDenied)�sanepathname2url�networkc�f�td��D] }	||i|��cS#|$r}|}Yd}~�d}~wwxYw|�)N�)�range)�func�exc�args�kwargs�i�e�last_excs       �>/usr/local/apps/python3/lib/python3.11/test/test_urllib2net.py�
_retry_thricersm��
�1�X�X����	��4��(��(�(�(�(�(���	�	�	��H��H�H�H�H�����	�����Ns��.�)�.c������fd�}|S)Nc�&��t��g|�Ri|��S�N)r)rrr
rs  ��r�wrappedz(_wrap_with_retry_thrice.<locals>.wrappeds#����T�3�8��8�8�8��8�8�8��)rr
rs`` r�_wrap_with_retry_thricers'����9�9�9�9�9�9��Nrc�&�eZdZdZd�Zd�Zdd�ZdS)�TransientResourcez�Raise ResourceDenied if an exception is raised while the context manager
    is in effect that matches the specified exception and attributes.c�"�||_||_dSr)r
�attrs)�selfr
rs   r�__init__zTransientResource.__init__+s�������
�
�
rc��|Srr�r s r�	__enter__zTransientResource.__enter__/s���rNc���|�mt|j|��rZ|j���D]/\}}t	||��sdSt||��|krdS�0t
d���dSdS)z�If type_ is a subclass of self.exc and value has attributes matching
        self.attrs, raise ResourceDenied.  Otherwise let the exception
        propagate (if any).Nz%an optional resource is not available)�
issubclassr
r�items�hasattr�getattrr)r �type_�value�	traceback�attr�
attr_values      r�__exit__zTransientResource.__exit__2s������D�H�e�!<�!<��$(�J�$4�$4�$6�$6�
N�
N� ��j��u�d�+�+���E�E��5�$�'�'�:�5�5��E�E�6�%�%L�M�M�M����r)NNN)�__name__�
__module__�__qualname__�__doc__r!r$r/rrrrr&sX������I�I�������N�N�N�N�N�Nrr)�errnoc��eZdZdZdS)�	AuthTestsz&Tests urllib2 authentication features.N)r0r1r2r3rrrr6r6Gs������0�0�0�0rr6c��eZdZd�ZdS)�CloseSocketTestc�|�|�tjj��tj}t
j|��5t|��}|j	}|�
|j��|���|�
|j��ddd��dS#1swxYwYdSr)�
addCleanup�urllib�request�
urlcleanupr�
TEST_HTTP_URLr�transient_internet�_urlopen_with_retry�fp�assertFalse�closed�close�
assertTrue)r �url�response�socks    r�
test_closezCloseSocketTest.test_closeps��������1�2�2�2��#��
�
-�c�
2�
2�	)�	)�*�3�/�/�H��;�D����T�[�)�)�)��N�N�����O�O�D�K�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	)�	)s�AB1�1B5�8B5N)r0r1r2rIrrrr8r8ns#������)�)�)�)�)rr8c�r�eZdZd�Zd�Zd�Zd�Zd�Zd�Ze	j
d��d���Zd
d
�Zd�Z
dS)�OtherNetworkTestsc��dSr)�logging�	getLogger�
addHandler�
StreamHandler)r rM�loggers   r�setUpzOtherNetworkTests.setUps��	7�	7rc��dddtjjfg}|�||�����dS)Nzftp://www.pythontest.net/READMEz*ftp://www.pythontest.net/non-existent-file)r;�error�URLError�
_test_urls�_extra_handlers)r �urlss  r�test_ftpzOtherNetworkTests.test_ftp�sF��-�
9�
�6�<�(�
*���
	
����d�2�2�4�4�5�5�5�5�5rc��tj}t|d��}	|�d��|���dttj�|����zddtj
jfg}|�||�
��d���t
j|��n#t
j|��wxYw|�t tjjd��dS)N�wz	hi there
zfile:zfile:///nonsensename/etc/passwdT)�retryz./relative_path/to/file)r�TESTFN�open�writerDr�os�path�abspathr;rTrUrVrW�remove�assertRaises�
ValueErrorr<�urlopen)r r]�frXs    r�	test_filezOtherNetworkTests.test_file�s����!��������
	�
�G�G�L�!�!�!�
�G�G�I�I�I��*�2�7�?�?�6�+B�+B�C�C�C�2�D���&�(��D�

�O�O�D�$�"6�"6�"8�"8��O�E�E�E��I�f������B�I�f�����������*�f�n�&<�=V�W�W�W�W�Ws�BC	�	Cc�0�d}tj|��5tj�|��}tj�|��}|�|���d��ddd��dS#1swxYwYdS)Nz)http://www.pythontest.net/index.html#frag�rr?r;r<�Requestrf�assertEqual�geturl)r �urlwith_frag�req�ress    r�test_urlwithfragz"OtherNetworkTests.test_urlwithfrag�s���B��
�
-�l�
;�
;�	A�	A��.�(�(��6�6�C��.�(�(��-�-�C����S�Z�Z�\�\�?�
A�
A�
A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A����	A�	A�	A�	A�	A�	A��A'B�B�Bc�0�d}tj|��5tj�|��}tj�|��}|�|���d��ddd��dS#1swxYwYdS)Nz*http://www.pythontest.net/redir/with_frag/z)http://www.pythontest.net/elsewhere/#fragrj)r �redirect_url_with_fragrorps    r�test_redirect_url_withfragz,OtherNetworkTests.test_redirect_url_withfrag�s���!M��
�
-�.D�
E�
E�	A�	A��.�(�(�)?�@�@�C��.�(�(��-�-�C����S�Z�Z�\�\�?�
A�
A�
A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A����	A�	A�	A�	A�	A�	Arrc��tj}tj|��5tj���}tj�|��}|�|�	����|�
|��|�|�	����|�|�d����|�
dd��|�
|��|�|�d��d��ddd��dS#1swxYwYdS)Nz
User-agentz
User-Agentz
Test-Agent)rr>rr?r;r<�build_openerrkrB�header_itemsr^rE�
has_header�
add_headerrl�
get_header)r rF�openerr<s    r�test_custom_headersz%OtherNetworkTests.test_custom_headers�sw���#��
�
-�c�
2�
2�		L�		L��^�0�0�2�2�F��n�,�,�S�1�1�G����W�1�1�3�3�4�4�4��K�K�� � � ��O�O�G�0�0�2�2�3�3�3��O�O�G�.�.�|�<�<�=�=�=����|�L�9�9�9��K�K�� � � ����W�/�/��=�=�l�K�K�K�		L�		L�		L�		L�		L�		L�		L�		L�		L�		L�		L�		L����		L�		L�		L�		L�		L�		Ls�DE�E�Ez XXX: http://www.imdb.com is gonec���d}tj|��5	tj�|��5}	ddd��n#1swxYwY|�|��n%#t$r|�d��YnwxYwtj�|��}|���}|�|��ddd��dS#1swxYwYdS)Nzhttp://www.imdb.comzOurlopen failed for site not sending                            Connection:close)	rr?r;r<rfrEre�fail�read)r �URLrpros    r�test_sites_no_connection_closez0OtherNetworkTests.test_sites_no_connection_close�s}��
$��
�
-�c�
2�
2�	!�	!�
%��^�+�+�C�0�0��C������������������������$�$�$�$��	�
.�
.�
.��	�	�-�.�.�.�.�.�
.�����.�(�(��-�-�C��(�(�*�*�C��O�O�C� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!sW�C!�A'�A�A'�A
	�
A'�
A
	�A'�C!�'B	�C!�B	�	AC!�!C%�(C%Tc�Z�ddl}ddl}|�d��j}t	jj|�j}|rt|tj	j
��}|D�]�}|�|���5t|t��r|\}}	}
ndx}	}
tj|��5	|||	t j��}	t$5t&5t(5|���}|dt-|��z��ddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwYn.#t.$r!t1d|zt2j���YnwxYw|���nP#t8$rC}
|
r6d|
�d|�d	|	�d
t;|
���d|
��
}|�|
|
|��n�Yd}
~
nd}
~
wwxYwddd��n#1swxYwY|�d��ddd��n#1swxYwY���dS)
Nr�test_urllib2)rFz
read %d bytesz
<timeout: %s>)�filezDidn't get expected error(s) z for � z, got z: g�������?) �timerMrN�debugr;r<rwr^rrTrU�subTest�
isinstance�tuplerr?r�INTERNET_TIMEOUT�time_out�socket_peer_reset�ioerror_peer_resetr��len�TimeoutError�print�sys�stderrrD�OSError�type�assertIsInstance�sleep)r rX�handlersr\r�rMr�rfrFro�expected_errrg�buf�err�msgs               rrVzOtherNetworkTests._test_urls�s������������!�!�.�1�1�7���.�-�x�8�=���	N�-�g�v�|�7L�M�M�G��	 �	 �C����#��&�&�
 �
 ��c�5�)�)�.�-0�*�C��l�l�)-�-�C�,�"�5�c�:�:�"�"�"�#�G�C��g�.F�G�G��J�!)�B�B�!2�B�B�!3�B�B�'(�f�f�h�h�� %��o��C���&@� 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���
 ,�J�J�J�!�/�C�"7�c�j�I�I�I�I�I�I�J�������	�	�	�	��!#�"�"�"�'�"�"�$0�L�L�#�#�#�s�s�s�D��I�I�I�I�s�s�$L�C� �1�1�#�|�S�I�I�I�I�!�J�I�I�I�I�����	"����	"�"�"�"�"�"�"�"�"�"�"����"�"�"�"�*�
�
�3����7
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 ����
 �
 �
 �
 ��	 �	 s��75H�,G2�.F�E�
E	�D0�0D
�
D0�D�D0� D�!D0�$E	�0D4�4E	�7D4�8E	�;E�E
�E�E
�E�G2�(E>	�;G2�=E>	�>G2�
G#	� 9G	�G2�G#	�#G2�&H�2G6�6H�9G6�:H�H"	�%H"	c���g}tj���}|�|j��|�d��|�|��|S)N�)r;r<�CacheFTPHandlerr:�clear_cache�
setTimeout�append)r r��cfhs   rrWz!OtherNetworkTests._extra_handlerssW�����n�,�,�.�.�������(�(�(����q������������rN)T)r0r1r2rRrYrhrqrur}�unittest�skipr�rVrWrrrrKrK~s�������7�7�7�6�6�6�X�X�X�ZA�A�A�A�A�A�L�L�L��X�]�5�6�6�!�!�7�6�!�(% �% �% �% �N����rrKc�H�eZdZd�Zd�Zd�Zd�Zd�ZdZd�Z	d�Z
d	�Zd
�ZdS)�TimeoutTestc�N�|�tjj��dSr)r:r;r<r=r#s rrRzTimeoutTest.setUp"s�������1�2�2�2�2�2rc��|�tj����tj}tj|d���5t|��}|�|j	��|�|j
jj�
����ddd��dS#1swxYwYdS�N��timeout)�assertIsNone�socket�getdefaulttimeoutrr>rr?r@r:rDrA�raw�_sock�
gettimeout�r rF�us   r�test_http_basiczTimeoutTest.test_http_basic&s������&�2�4�4�5�5�5��#��
�
-�c�4�
@�
@�
@�	;�	;�#�C�(�(�A��O�O�A�G�$�$�$����a�d�h�n�7�7�9�9�:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�	;�	;s�	A B6�6B:�=B:c�
�|�tj����tj}tj|��5tjd��	t|��}|�	|j
��tjd��n#tjd��wxYw|�|jj
j���d��ddd��dS#1swxYwYdS�N�<)r�r�r�rr>rr?�setdefaulttimeoutr@r:rDrlrAr�r�r�r�s   r�test_http_default_timeoutz%TimeoutTest.test_http_default_timeout.s&�����&�2�4�4�5�5�5��#��
�
-�c�
2�
2�	>�	>��$�R�(�(�(�
/�'��,�,�������(�(�(��(��.�.�.�.���(��.�.�.�.�������Q�T�X�^�6�6�8�8�"�=�=�=�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�	>�	>s*�C8�)B�C8�B1�1:C8�8C<�?C<c��|�tj����tj}tj|��5tjd��	t|d���}|�	|j
��tjd��n#tjd��wxYw|�|jjj
�����ddd��dS#1swxYwYdS�Nr�r�)r�r�r�rr>rr?r�r@r:rDrAr�r�r�r�s   r�test_http_no_timeoutz TimeoutTest.test_http_no_timeout:s)�����&�2�4�4�5�5�5��#��
�
-�c�
2�
2�	;�	;��$�R�(�(�(�
/�'��T�:�:�:�������(�(�(��(��.�.�.�.���(��.�.�.�.�������a�d�h�n�7�7�9�9�:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�	;�	;s*�C9�+B�C9�B3�39C9�9C=�C=c�<�tj}tj|��5t	|d���}|�|j��|�|jj	j
���d��ddd��dS#1swxYwYdS)N�xr�)rr>rr?r@r:rDrlrAr�r�r�r�s   r�test_http_timeoutzTimeoutTest.test_http_timeoutFs����#��
�
-�c�
2�
2�	?�	?�#�C��5�5�5�A��O�O�A�G�$�$�$����Q�T�X�^�6�6�8�8�#�>�>�>�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�	?�	?s�A#B�B�Bzftp://www.pythontest.net/c��|�tj����tj|jd���5t
|j��}|�|j��|�|j	j	j
j�����ddd��dS#1swxYwYdSr�)
r�r�r�rr?�FTP_HOSTr@r:rDrAr�r�r��r r�s  r�test_ftp_basiczTimeoutTest.test_ftp_basicOs������&�2�4�4�5�5�5�
�
-�d�m�T�
J�
J�
J�	>�	>�#�D�M�2�2�A��O�O�A�G�$�$�$����a�d�g�k�/�:�:�<�<�=�=�=�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�	>�	>s�A*B9�9B=�B=c��|�tj����tj|j��5tjd��	t|j��}|�|j	��tjd��n#tjd��wxYw|�
|jjjj
���d��ddd��dS#1swxYwYdSr�)r�r�r�rr?r�r�r@r:rDrlrAr�r�r�r�s  r�test_ftp_default_timeoutz$TimeoutTest.test_ftp_default_timeoutVs9�����&�2�4�4�5�5�5�
�
-�d�m�
<�
<�	A�	A��$�R�(�(�(�
/�'��
�6�6�������(�(�(��(��.�.�.�.���(��.�.�.�.�������Q�T�W�[�.�9�9�;�;�R�@�@�@�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A����	A�	A�	A�	A�	A�	As*�C;�.B�C;�B/�/?C;�;C?�C?c��|�tj����tj|j��5tjd��	t|jd���}|�|j	��tjd��n#tjd��wxYw|�|j
j
jj�
����ddd��dS#1swxYwYdSr�)r�r�r�rr?r�r�r@r:rDrAr�r�r�r�s  r�test_ftp_no_timeoutzTimeoutTest.test_ftp_no_timeoutas(�����&�2�4�4�5�5�5�
�
-�d�m�
<�
<�	>�	>��$�R�(�(�(�
/�'��
�t�D�D�D�������(�(�(��(��.�.�.�.���(��.�.�.�.�������a�d�g�k�/�:�:�<�<�=�=�=�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�	>�	>s*�C<�0B�C<�B1�1>C<�<D�Dc�B�tj|j��5t|jd���}|�|j��|�|jjjj	�
��d��ddd��dS#1swxYwYdSr�)rr?r�r@r:rDrlrAr�r�r�r�s  r�test_ftp_timeoutzTimeoutTest.test_ftp_timeoutls���
�
-�d�m�
<�
<�	A�	A�#�D�M�2�>�>�>�A��O�O�A�G�$�$�$����Q�T�W�[�.�9�9�;�;�R�@�@�@�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A����	A�	A�	A�	A�	A�	As�A-B�B�BN)
r0r1r2rRr�r�r�r�r�r�r�r�r�rrrr�r�!s�������3�3�3�;�;�;�
>�
>�
>�
;�
;�
;�?�?�?�+�H�>�>�>�	A�	A�	A�	>�	>�	>�A�A�A�A�Arr��__main__)'r4r��testr�test.supportrrr�test.test_urllib2rr`r��urllib.errorr;�urllib.requestr��requiresrrr<rfrTrUr@�objectrr��	ETIMEDOUTr��
ECONNRESETr�r��TestCaser6r8rKr�r0�mainrrr�<module>r�sm����������������"�"�"�"�"�"�&�&�&�&�&�&�'�'�'�'�'�'�.�.�.�.�.�.�	�	�	�	�
�
�
�
���������
�
�
�
��������������.�-�f�n�.D�.4�l�.C�E�E��N�N�N�N�N��N�N�N�8��W�E�O�<�<�<��%�%�g�U�5E�F�F�F��&�&�w�e�6F�G�G�G��1�1�1�1�1��!�1�1�1�N)�)�)�)�)�h�'�)�)�)� `�`�`�`�`��)�`�`�`�FOA�OA�OA�OA�OA�(�#�OA�OA�OA�d�z����H�M�O�O�O�O�O��r