Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_imaplib.cpython-312.pyc

�

'ΜgB�����ddlmZddlmZddlmZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlmZmZmZmZmZddlmZddlmZddlZddlmZdd	lmZmZmZ	ddlZej:d
��ej<j?ej<jAe!�xsejDdd
�Z#ej<j?ej<jAe!�xsejDdd�Z$Gd�dejJ�Z&er"Gd�de	jN�Z(ejRZ)nGd�d�Z(dZ)Gd�de	jT�Z+Gd�d�Z,Gd�de,ejJ�Z-ej\ed�Gd�de,ejJ��Z/Gd�dejJ�Z0ej\ed�Gd�d e0��Z1ej\ejdd!�d"�ejfd#�Gd$�d%ejJ���Z4ej\ed�ej\ejdd!�d"�ejfd#�Gd&�d'e4����Z5ej\ed�ejfd#�Gd(�d)e4���Z6e7d*k(rejp�yy#e$rdZY��{wxYw)+�)�support)�
socket_helper)�contextmanagerN)�verbose�run_with_tz�run_with_locale�cpython_only�requires_resource)�hashlib_helper)�threading_helper)�mock)�datetime�timezone�	timedeltaT)�module�certdatazkeycert3.pemzpycacert.pemc��eZdZd�Zed�d��Zd�Zeddd�ed�d	���Zd
�Z	e
jd��Zy)
�TestImaplibc��tjd�}tjd�}|j	tj|�|�tjd�}|j	tj|�|�tjd�}|j	tj|�|�y)N)	i��rrrr���rrs.25 (INTERNALDATE "01-Jan-2000 00:00:00 +0000")s.25 (INTERNALDATE "01-Jan-2000 11:30:00 +1130")s.25 (INTERNALDATE "31-Dec-1999 12:30:00 -1130"))�calendar�timegm�imaplib�Internaldate2tuple�assertEqual�time�mktime)�self�t0�tts   �./usr/local/lib/python3.12/test/test_imaplib.py�test_Internaldate2tuplez#TestImaplib.test_Internaldate2tuple!s���
�_�_�>�
?��
�
'�
'�=�?��������R��"�-�
�
'�
'�=�?��������R��"�-�
�
'�
'�=�?��������R��"�-�zMST+07MDT,M4.1.0,M10.5.0c�t�|jtjd�tjd��y)Ns.25 (INTERNALDATE "02-Apr-2000 02:30:00 +0000")s.25 (INTERNALDATE "02-Apr-2000 03:30:00 +0000"))�assertNotEqualrr�rs r"�"test_Internaldate2tuple_issue10941z.TestImaplib.test_Internaldate2tuple_issue10941-s3�����G�6�6�=�?��&�&�A�
C�	Dr$c��ddtjd�ddtjdt	tdd���dgS)Ni�5wge��A)	����r+�!�rrr)	r*r+r,r+r-r.rrrri �"18-May-2033 05:33:20 +0200")r�	localtimer�
fromtimestamprrr's r"�
timevalueszTestImaplib.timevalues4sE���L�$�.�.��*D�4�3��&�&�z�'/�	�!�[�0I�'J�L�.�0�	0r$�LC_ALL�de_DE�fr_FRzSTD-1DST,M3.2.0,M11.1.0c��d}|j�D])}tj|�}|j||��+y)Nr/)r2r�Time2Internaldater)r�expected�t�internals    r"�test_Time2Internaldatez"TestImaplib.test_Time2Internaldate<s:��
2�����"�A��0�0��3�H����X�x�0�#r$c�X�|j�D]}tj|��y�N)r2rr7)rr9s  r"�,test_that_Time2Internaldate_returns_a_resultz8TestImaplib.test_that_Time2Internaldate_returns_a_resultGs#�����"�A��%�%�a�(�#r$c���tj�5}	|jdtjf�|j	d�ddd�t
j�}|jt�5}tj�ddd�|jjj|�y#tj
$rY��wxYw#1swY��xYw#1swY�UxYw)N�z3Cannot run the test with local IMAP server running.)�socket�connectr�
IMAP4_PORT�skipTest�errorr�get_socket_conn_refused_errs�assertRaises�OSError�IMAP4�assertIn�	exception�errno)r�s�expected_errnos�cms    r"�test_imap4_host_default_valuez)TestImaplib.test_imap4_host_default_valueNs����]�]�_��
��	�	�2�w�1�1�2�3��
�
�I�K��(�D�D�F��
�
�
�w�
'�2��M�M�O�(��
�
�b�l�l�(�(�/�:���<�<�
��
���_��(�
'�s4�C�2B>�:C#�>C�C�C�C�C �#C,N)
�__name__�
__module__�__qualname__r#rr(r2rr;r>r�skip_if_tcp_blackholerP�r$r"rrst��
.��+�,�D�-�D�0��X�w��0��*�+�1�,�1�1�)��(�(�;�)�;r$rc��eZdZd�Zy)�SecureTCPServerc���|jj�\}}tjtj�}|jt�|j|d��}||fS)NT)�server_side)rA�accept�ssl�
SSLContext�PROTOCOL_TLS_SERVER�load_cert_chain�CERTFILE�wrap_socket)r�	newsocket�fromaddr�context�
connstreams     r"�get_requestzSecureTCPServer.get_requestcs[��"&�+�+�"4�"4�"6��I�x��n�n�S�%<�%<�=�G��#�#�H�-� �,�,�Y�D�,�I�J��x�'�'r$N)rQrRrSrerUr$r"rWrWas��	(r$rWc��eZdZy)rWN�rQrRrSrUr$r"rWrWns��r$c�z��eZdZejZdZdZ�fd�Zd�Z	d�Z
d�Zd�Zd�Z
d	�Zd
�Zd�Zd�Zd
�Z�xZS)�SimpleIMAPHandlerNr@c�f��t�|��d|j_d|j_y�NF)�super�setup�server�is_selected�logged�r�	__class__s �r"rmzSimpleIMAPHandler.setupys$���
��
��"'�����!����r$c�~�trtd|j�z�|jj	|�y)NzSENT: %r)r�print�strip�wfile�write�r�messages  r"�_sendzSimpleIMAPHandler._send~s*����*�w�}�}��.�/��
�
����!r$c�,�|j|dz�y)N�
)rzrxs  r"�
_send_linezSimpleIMAPHandler._send_line�s���
�
�7�W�$�%r$c�D�|j|jd��y)N�ASCII)r}�encoderxs  r"�_send_textlinez SimpleIMAPHandler._send_textline�s��������w�/�0r$c�J�|jdj|||f��y)N� )r��join)r�tag�coderys    r"�_send_taggedzSimpleIMAPHandler._send_tagged�s �����C�H�H�c�4��%9�:�;r$c��|jd�	d}		|jjd�}|dk(ry||z
}|j	d�rn�:t
rt
d|j�z�|jr	|jj|���|jd�j�}|d}|d}|dd}t|d	|z�r+t|d	|z�||�}|r)||_t|�n|j!|d
|dz���#t$rYywxYw#t$r
d|_Y��wxYw)Nz* OK IMAP4rev1rr$r|zGOT: %rrr��cmd_�BADz unknown)r��rfile�readrH�endswithrrtru�continuation�send�
StopIteration�decode�split�hasattr�getattr�nextr�)r�line�part�	splitliner��cmd�argsr�s        r"�handlezSimpleIMAPHandler.handle�sT�����,�-���D����:�:�?�?�1�-�D��s�{���D�L�D��=�=��)�����i�$�*�*�,�.�/�� � �-��%�%�*�*�4�0�����G�,�2�2�4�I��A�,�C��A�,�C��Q�R�=�D��t�V�c�\�*�:�w�t�V�c�\�:�3��E���(4�D�%���&��!�!�#�u�c�J�.>�?�K�������%�-�(,�D�%�-�s(� D�D�?D*�	D'�&D'�*D=�<D=c��|jrd|jznd}|jd|z�|j|dd�y)Nz
IMAP4rev1 �	IMAP4rev1z
* CAPABILITY �OK�CAPABILITY completed)�capabilitiesr�r�)rr�r��capss    r"�cmd_CAPABILITYz SimpleIMAPHandler.cmd_CAPABILITY�sK���$�$��t�0�0�0� �	
�	
���O�d�2�3����#�t�%;�<r$c�n�d|j_|jd�|j|dd�y)Nz"* BYE IMAP4ref1 Server logging outr�zLOGOUT completed)rnrpr�r��rr�r�s   r"�
cmd_LOGOUTzSimpleIMAPHandler.cmd_LOGOUT�s0��!��������@�A����#�t�%7�8r$c�R�|d|j_|j|dd�y)Nrr�zLOGIN completed)rnrpr�r�s   r"�	cmd_LOGINzSimpleIMAPHandler.cmd_LOGIN�s%��!�!�W��������#�t�%6�7r$c�n�d|j_|jd�|j|dd�y)NT�
* 2 EXISTSr��[READ-WRITE] SELECT completed.)rnror}r�r�s   r"�
cmd_SELECTzSimpleIMAPHandler.cmd_SELECT�s-��"&��������
�&����#�t�%E�Fr$c��|jjr%d|j_|j|dd�y|j|dd�y)NFr�z*Returned to authenticated state. (Success)r�zNo mailbox selected)rnror�r�s   r"�cmd_UNSELECTzSimpleIMAPHandler.cmd_UNSELECT�sA���;�;�"�"�&+�D�K�K�#����c�4�)U�V����c�5�*?�@r$)rQrRrSr�LOOPBACK_TIMEOUT�timeoutr�r�rmrzr}r�r�r�r�r�r�r�r��
__classcell__�rrs@r"riritsS����&�&�G��L��L�"�
"�
&�1�<�(@�T=�9�
8�G�
Ar$ric�6�eZdZdZd!d�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Zd�Zd�Zej$dd��d��Zej$dd��d��Zd�Zej.dd�d��Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d �Z!y)"�NewIMAPTestsMixinNTc�
�Gd�d|j�}|j|j�|jtjdf|�|_t
j|jdz|j
jddi��|_
d|j_|jj�|r(|j|j
j�|_|j|j
fS)	a
        Sets up imap_handler for tests. imap_handler should inherit from either:
        - SimpleIMAPHandler - for testing IMAP commands,
        - socketserver.StreamRequestHandler - if raw access to stream is needed.
        Returns (client, server).
        c��eZdZd�Zy)�/NewIMAPTestsMixin._setup.<locals>.TestTCPServerc�F�|j|�|j��)zP
                End request and raise the error if one occurs.
                ��
close_request�server_close�r�request�client_addresss   r"�handle_errorz<NewIMAPTestsMixin._setup.<locals>.TestTCPServer.handle_error�s!���"�"�7�+��!�!�#�r$N�rQrRrSr�rUr$r"�
TestTCPServerr��s��
r$r�rz-server�
poll_interval�{�G�z�?��name�target�kwargsT)�server_class�
addCleanup�_cleanupr�HOSTrn�	threading�Thread�_testMethodName�
serve_forever�thread�daemon�start�
imap_class�server_address�client)r�imap_handlerrBr�s    r"�_setupzNewIMAPTestsMixin._setup�s���	�D�-�-�	�	
����
�
�&��'�'��);�);�Q�(?��N����&�&��%�%�i�/��;�;�,�,�$�T�*�
,���"������������)�$�/�/�4�;�;�+E�+E�F�D�K��{�{�D�K�K�'�'r$c�6�|j�3|jjdk7r|jj�|jj�|jj	�tj|j�d|_y)z�
        Cleans up the test server. This method should not be called manually,
        it is added to the cleanup queue in the _setup method already.
        N�LOGOUT)r��state�shutdownrnr�r�join_threadr�r's r"r�zNewIMAPTestsMixin._cleanup�sh���;�;�"�t�{�{�'8�'8�H�'D��K�K� � �"���������� � �"��$�$�T�[�[�1���r$c���Gd�dtj�}|j|d��\}}|jtj
j|jg|j���y)Nc��eZdZd�Zy)�ONewIMAPTestsMixin.test_EOF_without_complete_welcome_message.<locals>.EOFHandlerc�:�|jjd�y�Ns* OK�rvrwr's r"r�zVNewIMAPTestsMixin.test_EOF_without_complete_welcome_message.<locals>.EOFHandler.handle
s���
�
� � ��)r$N�rQrRrSr�rUr$r"�
EOFHandlerr�	s��
*r$r�F�rB)	�socketserver�StreamRequestHandlerr�rGrrI�abortr�r�)rr��_rns    r"�)test_EOF_without_complete_welcome_messagez;NewIMAPTestsMixin.test_EOF_without_complete_welcome_messages\��	*��:�:�	*��K�K�
�E�K�:�	��6�����'�-�-�-�-�t���	2�!�0�0�	2r$c���Gd�dt�}|j|d��\}}|jtjj
|jg|j���y)Nc��eZdZd�Zy)�BNewIMAPTestsMixin.test_line_termination.<locals>.BadNewlineHandlerc�L�|jd�|j|dd�y�Ns* CAPABILITY IMAP4rev1 AUTH
r�r��rzr�r�s   r"r�zQNewIMAPTestsMixin.test_line_termination.<locals>.BadNewlineHandler.cmd_CAPABILITY�"���
�
�;�<��!�!�#�t�-C�Dr$N�rQrRrSr�rUr$r"�BadNewlineHandlerr�s��
Er$r�Fr�)rir�rGrrIr�r�r�)rr�r�rns    r"�test_line_terminationz'NewIMAPTestsMixin.test_line_terminationsZ��	E� 1�	E��K�K� 1�5�K�A�	��6�����'�-�-�-�-�t���	2�!�0�0�	2r$c�V�Gd�dt�}|j|�\}}|j|j�|j	t
jjd�5|jd�ddd�|j|j�y#1swY�%xYw)Nc��eZdZdZy)�MNewIMAPTestsMixin.test_enable_raises_error_if_not_AUTH.<locals>.EnableHandler�AUTH ENABLE UTF8=ACCEPTN�rQrRrSr�rUr$r"�
EnableHandlerr�s��4�Lr$r�zENABLE.*NONAUTH�foo)	rir��assertFalse�utf8_enabled�assertRaisesRegexrrIrE�enable)rr�r�r�s    r"�$test_enable_raises_error_if_not_AUTHz6NewIMAPTestsMixin.test_enable_raises_error_if_not_AUTHs���	5�-�	5��K�K�
�.�	�������,�,�-�
�
#�
#�G�M�M�$7�$7�9J�
K��M�M�%� �L�����,�,�-�L�
K�s�)B�B(c���|jt�\}}|jtjj
d�5|j
d�ddd�y#1swYyxYw)N�does not support ENABLEr�)r�rir�rrIrEr�)rr�r�s   r"�)test_enable_raises_error_if_no_capabilityz;NewIMAPTestsMixin.test_enable_raises_error_if_no_capability"sN���K�K� 1�2�	���
�
#�
#�G�M�M�$7�$7�)�+��M�M�%� �+�+�+�s�A�A'c�"�|jt�\}}|jdd�\}}|j|d�|j	t
jjd�5|jd�ddd�y#1swYyxYw)N�user�passr�r�UTF8=ACCEPT)	r�ri�loginrr�rrIrEr��rr�r��typ�datas     r"�.test_enable_UTF8_raises_error_if_not_supportedz@NewIMAPTestsMixin.test_enable_UTF8_raises_error_if_not_supported(sr���K�K� 1�2�	����L�L���0�	��T�����d�#�
�
#�
#�G�M�M�$7�$7�)�+��M�M�-�(�+�+�+�s�*B�Bc�^�Gd�dt�}|j|�\}}|j|jd�|j	dd��\}}|j|d�|j|j
d�|j
d�\}}|j|d�|j|jd	�d
}|jddd|jd	��\}}|j|d�|j|j
d|zjd	��y)Nc�"�eZdZdZd�Zd�Zd�Zy)�HNewIMAPTestsMixin.test_enable_UTF8_True_append.<locals>.UTF8AppendServerzENABLE UTF8=ACCEPTc�*�|j|dd�y�Nr�zENABLE successful�r�r�s   r"�
cmd_ENABLEzSNewIMAPTestsMixin.test_enable_UTF8_True_append.<locals>.UTF8AppendServer.cmd_ENABLE3����!�!�#�t�-@�Ar$c3�zK�|jd�d��|j_|j|dd�y�w�N�+r�zFAKEAUTH successful�r�rn�responser�r�s   r"�cmd_AUTHENTICATEzYNewIMAPTestsMixin.test_enable_UTF8_True_append.<locals>.UTF8AppendServer.cmd_AUTHENTICATE5�3�����#�#�C�(�',����$��!�!�#�t�-B�C���9;c3�zK�|jd�d��|j_|j|dd�y�w�Nrr��okayrr�s   r"�
cmd_APPENDzSNewIMAPTestsMixin.test_enable_UTF8_True_append.<locals>.UTF8AppendServer.cmd_APPEND9�2�����#�#�C�(�',����$��!�!�#�t�V�4�rN)rQrRrSr�rrr rUr$r"�UTF8AppendServerr1s��/�L�
B�
D�
5r$r"�ascii�MYAUTHc��y�NsfakerU��xs r"�<lambda>z@NewIMAPTestsMixin.test_enable_UTF8_True_append.<locals>.<lambda>?���'r$r��
ZmFrZQ==
r�utf-8�Subject: üñí©öðé�UTF8 (%s)
)	rir�r�	_encoding�authenticaterr��appendr�)	rr"r�rnr�r��
msg_stringr
rs	         r"�test_enable_UTF8_True_appendz.NewIMAPTestsMixin.test_enable_UTF8_True_append0s��	5�0�	5����%5�6��������)�)�7�3��%�%�h�0A�B���a�����t�$�������/�:��-�-�
�.���a�����t�$�����)�)�7�3�.�
��M�M�$��d�J�4E�4E�g�4N�O�	��T�����d�#�������
�z�
)�1�1�'�:�	<r$c��Gd�dt�}|j|�\}}|jdd��\}}|j|d�|j	d�\}}|j|d�|j|j�|jtjjd�5|jdd	�ddd�y#1swYyxYw)
Nc��eZdZdZd�Zd�Zy)�PNewIMAPTestsMixin.test_search_disallows_charset_in_utf8_mode.<locals>.UTF8Serverr�c�*�|j|dd�yrrr�s   r"rz[NewIMAPTestsMixin.test_search_disallows_charset_in_utf8_mode.<locals>.UTF8Server.cmd_ENABLENrr$c3�zK�|jd�d��|j_|j|dd�y�wrrr�s   r"rzaNewIMAPTestsMixin.test_search_disallows_charset_in_utf8_mode.<locals>.UTF8Server.cmd_AUTHENTICATEPrrN�rQrRrSr�rrrUr$r"�
UTF8Serverr6Ls��4�L�
B�
Dr$r:r$c��yr&rUr's r"r)zNNewIMAPTestsMixin.test_search_disallows_charset_in_utf8_mode.<locals>.<lambda>Us��r$r�rz
charset.*UTF8r��bar)rir�r0rr��
assertTruer�r�rrIrE�search)rr:r�r�r
s     r"�*test_search_disallows_charset_in_utf8_modez<NewIMAPTestsMixin.test_search_disallows_charset_in_utf8_modeKs���	D�*�	D��K�K�
�+�	����$�$�X�/@�A���Q�����d�#����}�-���Q�����d�#�����+�+�,�
�
#�
#�G�M�M�$7�$7��
I��M�M�%��'�J�
I�
I�s�7C�Cc���Gd�dt�}|j|�\}}|jtjj
d�5|j
dd��ddd�y#1swYyxYw)Nc��eZdZd�Zy)�6NewIMAPTestsMixin.test_bad_auth_name.<locals>.MyServerc�N�|j|ddj|d��y�N�NOz#unrecognized authentication type {}r�r��formatr�s   r"rzGNewIMAPTestsMixin.test_bad_auth_name.<locals>.MyServer.cmd_AUTHENTICATE_s'���!�!�#�t�9�@�@��a��I�Kr$N�rQrRrSrrUr$r"�MyServerrB^s��
Kr$rIz'unrecognized authentication type METHOD�METHODc��y�NrrUrUr$r"r)z6NewIMAPTestsMixin.test_bad_auth_name.<locals>.<lambda>es��!r$�rir�r�rrIrEr0�rrIr�r�s    r"�test_bad_auth_namez$NewIMAPTestsMixin.test_bad_auth_name]sb��	K�(�	K��K�K��)�	���
�
#�
#�G�M�M�$7�$7�9�;�����)�4�;�;�;���A+�+A4c���Gd�dt�}|j|�\}}|jtjj
d�5|j
dd��ddd�y#1swYyxYw)Nc��eZdZd�Zy)�?NewIMAPTestsMixin.test_invalid_authentication.<locals>.MyServerc3�fK�|jd�d��|_|j|dd�y�w�NrrEz[AUTHENTICATIONFAILED] invalid�r�rr�r�s   r"rzPNewIMAPTestsMixin.test_invalid_authentication.<locals>.MyServer.cmd_AUTHENTICATEi�.�����#�#�C�(� %��
��!�!�#�t�-M�N���/1NrHrUr$r"rIrShs��
Or$rIz \[AUTHENTICATIONFAILED\] invalidr$c��yr&rUr's r"r)z?NewIMAPTestsMixin.test_invalid_authentication.<locals>.<lambda>ps��Gr$rMrNs    r"�test_invalid_authenticationz-NewIMAPTestsMixin.test_invalid_authenticationgsc��	O�(�	O�
�K�K��)�	���
�
#�
#�G�M�M�$7�$7�3�5�����*;�<�5�5�5�rPc���Gd�dt�}|j|�\}}|jdd��\}}|j|d�|j|jd�y)Nc��eZdZd�Zy)�CNewIMAPTestsMixin.test_valid_authentication_bytes.<locals>.MyServerc3�zK�|jd�d��|j_|j|dd�y�wrrr�s   r"rzTNewIMAPTestsMixin.test_valid_authentication_bytes.<locals>.MyServer.cmd_AUTHENTICATEtrrNrHrUr$r"rIr]s���
Dr$rIr$c��yr&rUr's r"r)zCNewIMAPTestsMixin.test_valid_authentication_bytes.<locals>.<lambda>yr*r$r�r+�rir�r0rr�rrIr�rnr�r�s      r"�test_valid_authentication_bytesz1NewIMAPTestsMixin.test_valid_authentication_bytesrs`��	D�(�	D�
���X�.�����%�%�h�0A�B���a�����t�$�������/�:r$c���Gd�dt�}|j|�\}}|jdd��\}}|j|d�|j|jd�y)Nc��eZdZd�Zy)�HNewIMAPTestsMixin.test_valid_authentication_plain_text.<locals>.MyServerc3�zK�|jd�d��|j_|j|dd�y�wrrr�s   r"rzYNewIMAPTestsMixin.test_valid_authentication_plain_text.<locals>.MyServer.cmd_AUTHENTICATErrNrHrUr$r"rIrf~r_r$rIr$c��y�N�fakerUr's r"r)zHNewIMAPTestsMixin.test_valid_authentication_plain_text.<locals>.<lambda>�s��&r$r�r+rarbs      r"�$test_valid_authentication_plain_textz6NewIMAPTestsMixin.test_valid_authentication_plain_text}s`��	D�(�	D�
���X�.�����%�%�h�0@�A���a�����t�$�������/�:r$�md5��opensslc���Gd�dt�}|j|�\}}|jd|jv�|j	dd�\}}|j|d�y)Nc��eZdZdZd�Zy)�@NewIMAPTestsMixin.test_login_cram_md5_bytes.<locals>.AuthHandler�LOGINDISABLED AUTH=CRAM-MD5c3�K�|jd�d��}|dk(r|j|dd�y|j|dd�y�w�Nz:+ PDE4OTYuNjk3MTcwOTUyQHBvc3RvZmZpY2UucmVzdG9uLm1jaS5uZXQ=s2dGltIGYxY2E2YmU0NjRiOWVmYTFjY2E2ZmZkNmNmMmQ5ZjMy
r�zCRAM-MD5 successfulrEz	No access�r�r��rr�r��rs    r"rzQNewIMAPTestsMixin.test_login_cram_md5_bytes.<locals>.AuthHandler.cmd_AUTHENTICATE��P�����#�#�%9�:����7�7��%�%�c�4�1F�G��%�%�c�4��=���AAN�rQrRrSr�rrUr$r"�AuthHandlerrq����8�L�
>r$r{�
AUTH=CRAM-MD5�tim�tanstaaftanstaafr��rir�r=r��login_cram_md5r�rr{r�r��rets     r"�test_login_cram_md5_bytesz+NewIMAPTestsMixin.test_login_cram_md5_bytes�sa��
	>�+�
	>��K�K��,�	�������6�+>�+>�>�?��&�&�u�.A�B���Q�����d�#r$c���Gd�dt�}|j|�\}}|jd|jv�|j	dd�\}}|j|d�y)Nc��eZdZdZd�Zy)�ENewIMAPTestsMixin.test_login_cram_md5_plain_text.<locals>.AuthHandlerrrc3�K�|jd�d��}|dk(r|j|dd�y|j|dd�y�wrtrurvs    r"rzVNewIMAPTestsMixin.test_login_cram_md5_plain_text.<locals>.AuthHandler.cmd_AUTHENTICATE�rxryNrzrUr$r"r{r��r|r$r{r}r~�tanstaaftanstaafr�r�r�s     r"�test_login_cram_md5_plain_textz0NewIMAPTestsMixin.test_login_cram_md5_plain_text�sa��
	>�+�
	>��K�K��,�	�������6�+>�+>�>�?��&�&�u�.@�A���Q�����d�#r$c���Gd�dt�}|j|�\}}|jtjj
d�5|j
dd��ddd�y#1swYyxYw)Nc��eZdZd�Zy)�?NewIMAPTestsMixin.test_aborted_authentication.<locals>.MyServerc3�K�|jd�d��|_|jdk(r|j|dd�y|j|dd�y�w�Nrs*
rEz[AUTHENTICATIONFAILED] abortedr�zMYAUTH successfulrVr�s   r"rzPNewIMAPTestsMixin.test_aborted_authentication.<locals>.MyServer.cmd_AUTHENTICATE�sS�����#�#�C�(� %��
��=�=�H�,��%�%���8�:�
�%�%�c�4�1D�E���AANrHrUr$r"rIr��s��	
Fr$rIz \[AUTHENTICATIONFAILED\] abortedr$c��yr=rUr's r"r)z?NewIMAPTestsMixin.test_aborted_authentication.<locals>.<lambda>�s��Dr$rMrNs    r"�test_aborted_authenticationz-NewIMAPTestsMixin.test_aborted_authentication�sb��
	F�(�
	F��K�K��)�	���
�
#�
#�G�M�M�$7�$7�3�5�����.�9�5�5�5�rPzimaplib._MAXLINE�
c��Gd�dt�}|j|d��\}}|jtjj
d�5|j|j�ddd�y#1swYyxYw)Nc��eZdZd�Zy)�:NewIMAPTestsMixin.test_linetoolong.<locals>.TooLongHandlerc�:�|jjd�y)Ns* OK xxxxxxxxxxx
r�r's r"r�zANewIMAPTestsMixin.test_linetoolong.<locals>.TooLongHandler.handle�s���
�
� � �!?�@r$Nr�rUr$r"�TooLongHandlerr��s��
Ar$r�Fr�zgot more than 10 bytes)rir�r�rrIrEr�r�)rr�r�rns    r"�test_linetoolongz"NewIMAPTestsMixin.test_linetoolong�sj��	A�.�	A��K�K���K�>�	��6�
�
#�
#�G�M�M�$7�$7�(�*��D�O�O�V�2�2�3�*�*�*�s�A3�3A<c��|jtd��\}}|j|j�5	ddd�y#1swYyxYw)NFr�)r�rir�r�)rr�rns   r"�test_simple_with_statementz,NewIMAPTestsMixin.test_simple_with_statement�s<���K�K� 1�5�K�A�	��6�
�T�_�_�f�3�3�
4��5�
4�
4�s	�?�Ac�X�|jtd��\}}|j|jddi�5}|j	|j
jd�ddd�|j|jdtji�5}|j	|j
jtj�ddd�|jt�5|j|jddi�ddd�y#1swY��xYw#1swY�PxYw#1swYyxYw)NFr�r�r)r�rir�r�r�sockr�rr�rG�
ValueError)rr�rnr�s    r"�test_imaplib_timeout_testz+NewIMAPTestsMixin.test_imaplib_timeout_test�s����K�K� 1�5�K�A�	��6�
�T�_�_�f�3�3�
B�T�
B�f����V�[�[�0�0�$�7�C�
�T�_�_�f�3�3�
V�W�=U�=U�
V�Z`����V�[�[�0�0�'�2J�2J�K�W�
�
�
�z�
*��D�O�O�V�2�2�>�A�>�+�
*�	C�
B��
V�
V��
*�
*�s#�'D�5D�"D �D�D� D)c���Gd�dt�}|j|�\}}|jd}|jt�5|jd|d��}ddd�y#1swYyxYw)Nc��eZdZd�Zy)�QNewIMAPTestsMixin.test_imaplib_timeout_functionality_test.<locals>.TimeoutHandlerc�X�tjd�tj|�yrL)r�sleeprir�r's r"r�zXNewIMAPTestsMixin.test_imaplib_timeout_functionality_test.<locals>.TimeoutHandler.handle�s���
�
�1�
�!�(�(��.r$Nr�rUr$r"�TimeoutHandlerr��s��
/r$r�r�	localhostg����MbP?)r�)rir�r�rG�TimeoutErrorr�)rr�r�rn�addrr�s      r"�'test_imaplib_timeout_functionality_testz9NewIMAPTestsMixin.test_imaplib_timeout_functionality_test�sa��	/�.�	/�
�K�K��/�	��6��$�$�Q�'��
�
�
�|�
,��_�_�[�$��_�F�F�-�
,�
,�s�A&�&A/c�&�|jtd��\}}|j|j�5}|j	dd�|j|jd�ddd�|j|j�y#1swY�%xYw�NFr�rr)r�rir�r�rrrp�assertIsNone�rr�rn�imaps    r"�test_with_statementz%NewIMAPTestsMixin.test_with_statement�ss���K�K� 1�5�K�A�	��6�
�T�_�_�f�3�3�
4���J�J�v�v�&����V�]�]�F�3�5�	
���&�-�-�(�5�
4�s�/B�Bc�|�|jtd��\}}|j|j�5}|j	dd�|j|jd�|j�|j|j�ddd�|j|j�y#1swY�%xYwr�)	r�rir�r�rrrp�logoutr�r�s    r"�test_with_statement_logoutz,NewIMAPTestsMixin.test_with_statement_logout�s����K�K� 1�5�K�A�	��6�
�T�_�_�f�3�3�
4���J�J�v�v�&����V�]�]�F�3��K�K�M����f�m�m�,�	5�
	
���&�-�-�(�5�
4�s�AB2�2B;c���|jt�\}}|jdd�\}}|j|d�|j|dd�|j|jd�y)Nrrr�r�LOGIN completed�AUTH)r�rirrr�r	s     r"�
test_loginzNewIMAPTestsMixin.test_login�sb���K�K� 1�2�	����L�L���0�	��T�����d�#�����a��"4�5�������v�.r$c�d�|jt�\}}|jdd�\}}|j|d�|j|dd�|j	�\}}|j|d||f�|j|dd||f�|j|j
d�y)	Nrrr�rr��BYEsIMAP4ref1 Server logging outr�)r�rirrr�r�r	s     r"�test_logoutzNewIMAPTestsMixin.test_logout�s����K�K� 1�2�	����L�L���0�	��T�����d�#�����a��"4�5��M�M�O�	��T�����e�c�4�[�1�����a��"A�C��;�O�������x�0r$c���Gd�dt�}|j|�\}}|jdd�|j�\}}|j	|d�|j	|dd�y)Nc��eZdZd�Zy)�,NewIMAPTestsMixin.test_lsub.<locals>.LsubCmdc�J�|jd�|j|dd�S)Nz* LSUB () "." directoryAr�zLSUB completedrur�s   r"�cmd_LSUBz5NewIMAPTestsMixin.test_lsub.<locals>.LsubCmd.cmd_LSUBs'���#�#�$>�?��(�(��d�4D�E�Er$N)rQrRrSr�rUr$r"�LsubCmdr�s��
Fr$r�rrr�rs() "." directoryA)rir�r�lsubr)rr�r�r�r
rs      r"�	test_lsubzNewIMAPTestsMixin.test_lsubsg��	F�'�	F��K�K��(�	������V�V�$��K�K�M�	��T�����d�#�����a��"6�7r$c�x�|jt�\}}|jdd�|j�\}}|j	|d�|j	|dd�|j�\}}|j	|d�|j	|dd�|j	|jd�y)Nrrr�r�2s*Returned to authenticated state. (Success)r�)r�rir�selectr�unselectr�r	s     r"�
test_unselectzNewIMAPTestsMixin.test_unselects����K�K� 1�2�	������V�V�$��M�M�O�	��T�����d�#�����a��$�'��O�O�%�	��T�����d�#�����a��"O�P�������v�.r$)T)"rQrRrSr�r�r�r�r�rrrr3r?rOrZrcrkr�requires_hashdigestr�r�r�r
�patchr�r�r�r�r�r�r�r�r�r�rUr$r"r�r��s���
�F�(�B� 2�2�.�!�)�<�6(�$5�	=�	;�	;�(�^�'�'��t�<�$�=�$�"(�^�'�'��t�<�$�=�$�":�"�T�Z�Z�"�B�'�4�(�4��
?�	G�)�)�/�1�	8�
/r$r�c�<�eZdZejZejZy)�NewIMAPTestsN)	rQrRrSrrIr�r��	TCPServerr�rUr$r"r�r�s�����J��)�)�Lr$r�zSSL not availablec� �eZdZeZeZd�Zd�Zy)�NewIMAPSSLTestsc�>�tjtj�}|j|jtj
�|j|jd�|jt�tjdtj�}|jtj|�5|jtd��\}}|j |j"d|i�}|j%�ddd�y#1swYyxYw)NT��(
            IP address mismatch, certificate is not valid for '127.0.0.1'   # OpenSSL
            |
            CERTIFICATE_VERIFY_FAILED                                       # AWS-LC
        )Fr��ssl_context)r[r\�PROTOCOL_TLS_CLIENTr�verify_mode�
CERT_REQUIRED�check_hostname�load_verify_locations�CAFILE�re�compile�Xr��CertificateErrorr�rir�r�r�)rr��regexr�rnr�s      r"�test_ssl_raiseszNewIMAPSSLTests.test_ssl_raises's����n�n�S�%<�%<�=������0�0�#�2C�2C�D�����3�3�T�:��)�)�&�1��
�
�
��d�d�	��
�
#�
#�C�$8�$8�%�
@����$5�u��E�I�A�v�$�T�_�_�f�&;�&;�>�1<�>�F��O�O��	A�
@�
@�s
�AD�Dc�
�tjtj�}|jt�|jtd��\}}|jd|jd|��}|j�y)NFr�r�r�r�)
r[r\r�r�r�r�rir�r�r�)rr�r�rnr�s     r"�test_ssl_verifiedz!NewIMAPSSLTests.test_ssl_verified9sj���n�n�S�%<�%<�=���)�)�&�1��K�K� 1�5�K�A�	��6�����f�.C�.C�A�.F�-8�!�:�����r$N)	rQrRrS�	IMAP4_SSLr�rWr�r�r�rUr$r"r�r�"s���J�"�L��$r$r�c�p�eZdZejZejZd�Z	d�Z
ed��Zed��Z
ejd��Zejd��Zejd��Zejd��ZGd	�d
e�Zejd��Zejd��Zejd
��Zejd��Zejd��Zejd��Zejd��Zejd��Zejej>dd��d���Z ejd��Z!d�Z"ejd��Z#ejd��Z$ejd��Z%eje&e'jPdd�d����Z)y)�ThreadedNetworkedTestsc��Gd�d|j�}trtd�|||�}|j|j|j
j
��trCtd�td|�td|j�td|j�tjd|jz|jd	d
i��}d|_|j�trtd
�||fS)Nc��eZdZd�Zy)�4ThreadedNetworkedTests.make_server.<locals>.MyServerc�F�|j|�|j��r=r�r�s   r"r�zAThreadedNetworkedTests.make_server.<locals>.MyServer.handle_errorIs���"�"�7�+��!�!�#�r$Nr�rUr$r"rIr�Hs��
r$rIzcreating serverzserver createdzADDR =zCLASS =zHDLR =z
%s servingr�r�r�Tzserver running)
r�rrtrr�rA�getsockname�RequestHandlerClassr�r�r�r�r�)rr��hdlrrIrnr9s      r"�make_serverz"ThreadedNetworkedTests.make_serverFs���	�t�(�(�	���#�$��$��%������.�.��
�
�0I�0I�0K�L���"�#��(�D�!��)�T�.�.�/��(�F�6�6�7������ 1� 1�1��'�'�$�T�*�

,�����	���	���"�#��q�y�r$c��trtd�|j�|j�|j	�trtd�yy)Nzwaiting for server�done)rrtr�r�r�)rrnr�s   r"�reap_serverz"ThreadedNetworkedTests.reap_serverfs<����&�'������������
���&�M�r$c#�K�|jtjdf|�\}}	|��|j||�y#|j||�wxYw�w)Nr)r�rr�r�)rr�rnr�s    r"�
reaped_serverz$ThreadedNetworkedTests.reaped_serverosQ�����)�)�=�+=�+=�q�*A�4�H����	-��L����V�V�,��D���V�V�,�s�&A�A�A�A�Ac#��K�|j|�5}|j|j�}	||f��|j�	ddd�y#|j�wxYw#1swYyxYw�wr=)r�r�r�r�)rr�rnr�s    r"�reaped_pairz"ThreadedNetworkedTests.reaped_pairwsa����
�
�
��
%��$�T�_�_�f�&;�&;�<�F�
 ��f�n�$��
�
��&�
%��
�
�
���&�
%�s2�A0�A$�A�A$�	A0�A!�!A$�$A-�)A0c��|jt�5}|j|j�}|j	�ddd�y#1swYyxYwr=)r�rir�r�r��rrnr�s   r"�test_connectz#ThreadedNetworkedTests.test_connect�s?��
�
�
� 1�
2�f�$�T�_�_�f�&;�&;�<�F��O�O��3�
2�
2�s�*A	�	Ac���Gd�dt�}|j|�5\}}|jdd��\}}|j|d�|j|jd�|jd�|j
dd	d
�\}\}|jd|�|jd�|j	d�\}\}|jd|�ddd�y#1swYyxYw)
Nc�0��eZdZ�fd�Zd�Zd�Zd�Z�xZS)�EThreadedNetworkedTests.test_bracket_flags.<locals>.BracketFlagHandlerc�4��gd�|_t�|�	�y)N)�Answered�Flagged�Deleted�Seen�Draft)�flagsrlr�rqs �r"r�zLThreadedNetworkedTests.test_bracket_flags.<locals>.BracketFlagHandler.handle�s���P��
���� r$c3�zK�|jd�d��|j_|j|dd�y�wrrr�s   r"rzVThreadedNetworkedTests.test_bracket_flags.<locals>.BracketFlagHandler.cmd_AUTHENTICATE�rrc�4�dj|j�}|jd|zjd��|jd�|jd�d|z}|j|jd��|j	|dd�y)	N� \z* FLAGS (%s)r#r�s
* 0 RECENTz-* OK [PERMANENTFLAGS %s \*)] Flags permitted.r�r�)r�r�r}r�r�)rr�r��flag_msg�msgs     r"r�zPThreadedNetworkedTests.test_bracket_flags.<locals>.BracketFlagHandler.cmd_SELECT�s}�� �:�:�d�j�j�1������(�!:� B� B�7� K�L����
�.����
�.�G�"�#������
�
�7� 3�4��!�!�#�t�-M�Nr$c�T�|djd�jd�j�}|jj|�ddj	|j�z}d|d�d|��}|j|j
d	��|j|d
d�y)Nr��(�)z(FLAGS (%s))rz* rz FETCH r#r�zSTORE completed.)rur�r��extendr�r}r�r�)rr�r��	new_flags�	flags_msgrs      r"�	cmd_STOREzOThreadedNetworkedTests.test_bracket_flags.<locals>.BracketFlagHandler.cmd_STORE�s��� ��G�M�M�#�.�4�4�S�9�?�?�A�	��
�
�!�!�)�,�*�U�Z�Z��
�
�-C�C�	�)-�a��)�<������
�
�7� 3�4��!�!�#�t�-?�@r$)rQrRrSr�rr�r
r�r�s@r"�BracketFlagHandlerr��s���
!�
D�

O�
Ar$rr$c��yr&rUr's r"r)z;ThreadedNetworkedTests.test_bracket_flags.<locals>.<lambda>����r$r�r+�test�1z+FLAGSz[test]s[test]�PERMANENTFLAGS)rir�r0rrr��storerJ)rrrnr�r�rr
s       r"�test_bracket_flagsz)ThreadedNetworkedTests.test_bracket_flags�s���	A�!2�	A�:�
�
�0�
1�5E�f�f��,�,�X�7H�I�J�D�$����T�4�(����V�_�_�o�>��M�M�&�!� �,�,�t�X�x�@�K�C��$��M�M�)�T�*��M�M�&�!� �/�/�*:�;�K�C��$��M�M�)�T�*�2�
1�
1�s�B<C&�&C/c��Gd�dtj�}|j|�5}|jtj
j|jg|j���ddd�y#1swYyxYw)Nc��eZdZd�Zy)�9ThreadedNetworkedTests.test_issue5949.<locals>.EOFHandlerc�:�|jjd�yr�r�r's r"r�z@ThreadedNetworkedTests.test_issue5949.<locals>.EOFHandler.handle�s���
�
� � ��)r$Nr�rUr$r"r�r�s��
*r$r�)	r�r�r�rGrrIr�r�r�)rr�rns   r"�test_issue5949z%ThreadedNetworkedTests.test_issue5949�se��	*��:�:�	*�
�
�
�
�
+�v��D���g�m�m�1�1�"�o�o�
G�06�0E�0E�
G�,�
+�
+�s�AA5�5A>c���Gd�dt�}|j|�5}|jtjj
|jg|j���ddd�y#1swYyxYw)Nc��eZdZd�Zy)�GThreadedNetworkedTests.test_line_termination.<locals>.BadNewlineHandlerc�L�|jd�|j|dd�yr�r�r�s   r"r�zVThreadedNetworkedTests.test_line_termination.<locals>.BadNewlineHandler.cmd_CAPABILITY�r�r$Nr�rUr$r"r�r�s��
Er$r�)rir�rGrrIr�r�r�)rr�rns   r"r�z,ThreadedNetworkedTests.test_line_termination�sc��	E� 1�	E��
�
� 1�
2�f��D���g�m�m�1�1�"�o�o�
G�06�0E�0E�
G�3�
2�
2���AA+�+A4c��eZdZdZd�Zd�Zy)�!ThreadedNetworkedTests.UTF8Serverr�c�*�|j|dd�yrrr�s   r"rz,ThreadedNetworkedTests.UTF8Server.cmd_ENABLE�s�����c�4�)<�=r$c#�zK�|jd�d��|j_|j|dd�y�wrrr�s   r"rz2ThreadedNetworkedTests.UTF8Server.cmd_AUTHENTICATE�s3��������$�#(�D�K�K� ����c�4�)>�?�rNr9rUr$r"r:r�s��0��	>�	@r$r:c�@�|j|j�5\}}|j|j�|j	t
jj|jd�|j|j�ddd�y#1swYyxYw)Nr�)	r�r:r�r�rGrrIrEr�r�s   r"rz;ThreadedNetworkedTests.test_enable_raises_error_if_not_AUTH�so��
�
�
�d�o�o�
.�2B�6�6����V�0�0�1����g�m�m�1�1�6�=�=�%�H����V�0�0�1�/�
.�
.�s�A/B�Bc���Gd�d|j�}|j|�5\}}|jtjj
|jd�ddd�y#1swYyxYw)Nc��eZdZdZy)�XThreadedNetworkedTests.test_enable_raises_error_if_no_capability.<locals>.NoEnableServerr�Nr�rUr$r"�NoEnableServerr$�s��!�Lr$r%r�)r:r�rGrrIrEr�)rr%rnr�s    r"rz@ThreadedNetworkedTests.test_enable_raises_error_if_no_capability�sS��	"�T�_�_�	"�
�
�
�n�
-�1A�&�&����g�m�m�1�1�6�=�=�%�H�.�
-�
-�s�9A)�)A2c�`�Gd�dt�}|jtjj�5|j|�5\}}|j
dd�\}}|j|d�|jd�ddd�ddd�y#1swY�xYw#1swYyxYw)Nc��eZdZy)�\ThreadedNetworkedTests.test_enable_UTF8_raises_error_if_not_supported.<locals>.NonUTF8ServerNrgrUr$r"�
NonUTF8Serverr(�s��r$r)rrr�r)	rirGrrIrEr�rrr�)rr)rnr�r
rs      r"rzEThreadedNetworkedTests.test_enable_UTF8_raises_error_if_not_supported�s���	�-�	�
�
�
�w�}�}�2�2�
3��!�!�-�0�4D�V�V�"�L�L���8�	��T�� � ��d�+��
�
�m�,�1�4�
3�0�0��4�
3�s#�B$�<B�B$�B!	�B$�$B-c	��Gd�d|j�}|j|�5\}}|j|jd�|j	dd��\}}|j|d�|j|j
d�|j
d�\}}|j|d�|j|jd	�d
}|jddd|jd	��\}}|j|d�|j|j
d|zjd	��ddd�y#1swYyxYw)Nc��eZdZd�Zy)�MThreadedNetworkedTests.test_enable_UTF8_True_append.<locals>.UTF8AppendServerc3�zK�|jd�d��|j_|j|dd�y�wrrr�s   r"r zXThreadedNetworkedTests.test_enable_UTF8_True_append.<locals>.UTF8AppendServer.cmd_APPEND�r!rN)rQrRrSr rUr$r"r"r,�s��
5r$r"r#r$c��yr&rUr's r"r)zEThreadedNetworkedTests.test_enable_UTF8_True_append.<locals>.<lambda>s��gr$r�r+rr,r-r.)	r:r�rr/r0rr�r1r�)	rr"rnr�r�r�r2r
rs	         r"r3z3ThreadedNetworkedTests.test_enable_UTF8_True_append�s%��	5�t���	5��
�
�.�
/�3C�F�F����V�-�-�w�7��)�)�(�4E�F�G�D�!����T�4�(����V�_�_�,�
.��m�m�M�2�G�D�!����T�4�(����V�-�-�w�7�2�J��
�
��d�D�*�"3�"3�G�"<�>�I�C�����S�$�'������� �:�-�5�5�g�>�
�0�
/�
/�s�DD>�>Ec��|j|j�5\}}|jdd��\}}|j|d�|j	d�\}}|j|d�|j|j�|jtjj|jdd�ddd�y#1swYyxYw)Nr$c��yr&rUr's r"r)zSThreadedNetworkedTests.test_search_disallows_charset_in_utf8_mode.<locals>.<lambda>s��Wr$r�rr�r<)r�r:r0rr�r=r�rGrrIrEr>)rrnr�r
r�s     r"r?zAThreadedNetworkedTests.test_search_disallows_charset_in_utf8_modes���
�
�
�d�o�o�
.�2B�6�6��(�(��3D�E�F�C�����S�$�'��]�]�=�1�F�C�����S�$�'��O�O�F�/�/�0����g�m�m�1�1�6�=�=�%��O�
/�
.�
.�s�B#C�Cc��Gd�dt�}|j|�5\}}|jtjj
�5|j
dd��ddd�ddd�y#1swY�xYw#1swYyxYw)Nc��eZdZd�Zy)�;ThreadedNetworkedTests.test_bad_auth_name.<locals>.MyServerc�N�|j|ddj|d��yrDrFr�s   r"rzLThreadedNetworkedTests.test_bad_auth_name.<locals>.MyServer.cmd_AUTHENTICATE"s&���!�!�#�t�.,�,2�F�4��7�O�=r$NrHrUr$r"rIr3 s��
=r$rIrJc��yrLrUrUr$r"r)z;ThreadedNetworkedTests.test_bad_auth_name.<locals>.<lambda>(s��ar$�rir�rGrrIrEr0)rrIrnr�s    r"rOz)ThreadedNetworkedTests.test_bad_auth_namesk��	=�(�	=��
�
�h�
'�+;�F�F��"�"�7�=�=�#6�#6�7��#�#�H�i�8�8�(�
'�7�7��(�
'�s#�-A?�A3�"A?�3A<	�8A?�?Bc��Gd�dt�}|j|�5\}}|jtjj
�5|j
dd��\}}ddd�ddd�y#1swY�xYw#1swYyxYw)Nc��eZdZd�Zy)�DThreadedNetworkedTests.test_invalid_authentication.<locals>.MyServerc3�fK�|jd�d��|_|j|dd�y�wrUrVr�s   r"rzUThreadedNetworkedTests.test_invalid_authentication.<locals>.MyServer.cmd_AUTHENTICATE/rWrXNrHrUr$r"rIr9-s��
Or$rIr$c��yr&rUr's r"r)zDThreadedNetworkedTests.test_invalid_authentication.<locals>.<lambda>6s��Wr$r6�rrIrnr�r�rs      r"rZz2ThreadedNetworkedTests.test_invalid_authentication*st��	O�(�	O��
�
�h�
'�+;�F�F��"�"�7�=�=�#6�#6�7�#�0�0��;L�M�
��d�8�(�
'�7�7��(�
'��#�-B�A6�%B�6A?	�;B�Bc���Gd�dt�}|j|�5\}}|jdd��\}}|j|d�|j|jd�ddd�|j|�5\}}|jdd��\}}|j|d�|j|jd�ddd�y#1swY�kxYw#1swYyxYw)Nc��eZdZd�Zy)�BThreadedNetworkedTests.test_valid_authentication.<locals>.MyServerc3�zK�|jd�d��|j_|j|dd�y�wrrr�s   r"rzSThreadedNetworkedTests.test_valid_authentication.<locals>.MyServer.cmd_AUTHENTICATE=rrNrHrUr$r"rIr@;s��
Dr$rIr$c��yr&rUr's r"r)zBThreadedNetworkedTests.test_valid_authentication.<locals>.<lambda>Cr
r$r�r+c��yrirUr's r"r)zBThreadedNetworkedTests.test_valid_authentication.<locals>.<lambda>Is��r$)rir�r0rrr<s      r"�test_valid_authenticationz0ThreadedNetworkedTests.test_valid_authentication8s���	D�(�	D��
�
�h�
'�+;�F�F��,�,�X�7H�I�J�D�$����T�4�(����V�_�_�,�
.�(��
�
�h�
'�+;�F�F��,�,�X�7G�H�J�D�$����T�4�(����V�_�_�,�
.�(�
'�
(�
'��(�
'���AC�AC�C�C(rlTrmc���Gd�dt�}|j|�5\}}|jd|jv�|j	dd�\}}|j|d�ddd�|j|�5\}}|jd|jv�|j	dd�\}}|j|d�ddd�y#1swY�kxYw#1swYyxYw)Nc��eZdZdZd�Zy)�?ThreadedNetworkedTests.test_login_cram_md5.<locals>.AuthHandlerrrc3�K�|jd�d��}|dk(r|j|dd�y|j|dd�y�wrtrurvs    r"rzPThreadedNetworkedTests.test_login_cram_md5.<locals>.AuthHandler.cmd_AUTHENTICATEVrxryNrzrUr$r"r{rHRs��8�L�
>r$r{r}r~r�r�r)rir�r=r�r�r)rr{rnr�r�rs      r"�test_login_cram_md5z*ThreadedNetworkedTests.test_login_cram_md5Ns���	>�+�	>��
�
�k�
*�.>�v�v��O�O�O�v�/B�/B�B�C��-�-�e�5G�H�I�C�����S�$�'�+�
�
�
�k�
*�.>�v�v��O�O�O�v�/B�/B�B�C��-�-�e�5H�I�I�C�����S�$�'�+�
*�+�
*��
+�
*�rEc��Gd�dt�}|j|�5\}}|jtjj
�5|j
dd��\}}ddd�ddd�y#1swY�xYw#1swYyxYw)Nc��eZdZd�Zy)�DThreadedNetworkedTests.test_aborted_authentication.<locals>.MyServerc3�K�|jd�d��|_|jdk(r|j|dd�y|j|dd�y�wr�rVr�s   r"rzUThreadedNetworkedTests.test_aborted_authentication.<locals>.MyServer.cmd_AUTHENTICATEpsM�����#�#�C�(� %��
��=�=�H�,��%�%�c�4�1Q�R��%�%�c�4�1D�E�r�NrHrUr$r"rIrMns��
Fr$rIr$c��yr=rUr's r"r)zDThreadedNetworkedTests.test_aborted_authentication.<locals>.<lambda>{s��Tr$r6r<s      r"r�z2ThreadedNetworkedTests.test_aborted_authenticationkss��		F�(�		F��
�
�h�
'�+;�F�F��"�"�7�=�=�#6�#6�7�#�0�0��>�J�
��d�8�(�
'�7�7��(�
'�r=c���Gd�dt�}|j|�5}|jtjj
|jg|j���ddd�y#1swYyxYw)Nc��eZdZd�Zy)�?ThreadedNetworkedTests.test_linetoolong.<locals>.TooLongHandlerc�h�|jjdtjdzzdz�y)Ns* OK �xr|)rvrwr�_MAXLINEr's r"r�zFThreadedNetworkedTests.test_linetoolong.<locals>.TooLongHandler.handle�s)���
�
� � ��G�,<�,<�t�,C�!C�g�!M�Nr$Nr�rUr$r"r�rRs��
Or$r�)rir�rGrrIrEr�r�)rr�rns   r"r�z'ThreadedNetworkedTests.test_linetoolong~sb��	O�.�	O�
�
�
��
/�6��D���g�m�m�1�1�"�o�o�
G�06�0E�0E�
G�0�
/�
/�rc��|jt�5}|j|j�5	ddd�ddd�y#1swY�xYw#1swYyxYwr=)r�rir�r�)rrns  r"r�z1ThreadedNetworkedTests.test_simple_with_statement�sI���
�
� 1�
2�f� ����&�"7�"7�8��9�3�
2�8�8��3�
2�s!�A�A�A�A	�A�Ac�F�|jt�5}|j|j�5}|j	dd�|j|jd�ddd�|j|j�ddd�y#1swY�-xYw#1swYyxYw�Nrr)r�rir�r�rrrpr��rrnr�s   r"r�z*ThreadedNetworkedTests.test_with_statement�s|��
�
�
� 1�
2�f� ����&�"7�"7�8�D��
�
�6�6�*�� � �����7�9�
���f�m�m�,�	3�
2�8�8��3�
2�s"�B�/B�#B�B	�B�B c��|jt�5}|j|j�5}|j	dd�|j|jd�|j�|j|j�ddd�|j|j�ddd�y#1swY�-xYw#1swYyxYwrX)	r�rir�r�rrrpr�r�rYs   r"r�z1ThreadedNetworkedTests.test_with_statement_logout�s����
�
� 1�
2�f� ����&�"7�"7�8�D��
�
�6�6�*�� � �����7����
��!�!�&�-�-�0�	9�

���f�m�m�,�
3�
2�8�8��3�
2�s#�C�AB6�
#C�6B?	�;C�Cz Won't work if __debug__ is Falsec�l�ddgi}|jt�5}|j|j�5}tj
j
|d�5}|j|�|jd�ddd�ddd�ddd�y#1swY�xYw#1swY�xYw#1swYyxYw)Nz
READ-WRITEr$�_mesgz)untagged responses dump:READ-WRITE: [b''])	r�rir�r�r
r��object�_dump_ur�assert_called_with)r�untagged_resp_dictrnr��	mock_mesgs     r"�test_dump_urz#ThreadedNetworkedTests.test_dump_ur�s���
+�S�E�2��
�
�
� 1�
2�f� ����&�"7�"7�8�D��Z�Z�&�&�t�W�5���M�M�"4�5��0�0�C��6�9�3�
2�5�5��9�8��3�
2�s:�B*�!B�#B�9B�B*�B�B�B'	�#B*�*B3N)*rQrRrSr�r�r�rrIr�r�r�rr�r�r�reap_threadsr�rrr�rir:rrrr3r?rOrZrDrr�rJr�r�r�r�r�r	�unittest�
skipUnlessrbrUr$r"r�r�Bsw���)�)�L����J��@��-��-�� �� ��"�"��#��
�"�"�.+�#�.+�`�"�"�	G�#�	G��"�"�
G�#�
G�	@�&�	@��"�"�2�#�2��"�"�I�#�I��"�"�-�#�-��"�"��#��:�"�"�P�#�P��"�"�
9�#�
9��"�"�N�#�N��"�"�.�#�.�*�"�"�'�^�'�'��t�<�(�=�#�(�6�"�"�K�#�K�$G��"�"��#���"�"�-�#�-��"�"�-�#�-��"�"���X����$F�G�
�H��#�
r$r�c�8�eZdZeZeZejd��Z	y)�ThreadedNetworkedTestsSSLc��tjtj�}|jt�tjdt
j�}|jtj|�5|jt�5}|j|jd|i�}|j�ddd�ddd�|jt�5}|jd|jd|��}|j�ddd�y#1swY�axYw#1swY�exYw#1swYyxYw)Nr�r�r�rr�)r[r\r�r�r�r�r�r�r�r�r�rir�r�r�)rr�r�rnr�s     r"r�z+ThreadedNetworkedTestsSSL.test_ssl_verified�s���n�n�S�%<�%<�=���)�)�&�1��
�
�
��d�d�	��
�
#�
#�C�$8�$8�%�
@��#�#�$5�6�&�(����&�*?�*?�B�5@�B�����!�7�A��
�
� 1�
2�f��_�_�[�&�2G�2G��2J�1<�%�>�F��O�O��3�
2�7�6��A�
@��3�
2�s0�=D,�-D �D,�%2D8� D)	�%D,�,D5�8EN)
rQrRrSrWr�r�r�rrcr�rUr$r"rgrg�s$��"�L��J��"�"��#�r$rg�networkznetwork resource disabledz'cyrus.andrew.cmu.edu blocks connectionsc�L�eZdZdZdZdZdZejZ	d�Z
d�Zd�Zd�Z
y	)
�RemoteIMAPTestzcyrus.andrew.cmu.edu��	anonymousrc���tj|j�5|j|j|j�|_ddd�y#1swYyxYwr=)r�transient_internet�hostr��portrnr's r"�setUpzRemoteIMAPTest.setUp�s:��
�
-�
-�d�i�i�
8��/�/�$�)�)�T�Y�Y�?�D�K�9�
8�
8�s�,A�Ac��|j�Ctj|j�5|jj	�ddd�yy#1swYyxYwr=)rnrrorpr�r's r"�tearDownzRemoteIMAPTest.tearDown�sB���;�;�"��1�1�$�)�)�<����"�"�$�=�<�#�<�<�s�A�Ac���tj|j�5|jjD]}|j|t��|jd|jj�|jd|jj�|jj|j|j�}|j|dd�ddd�y#1swYyxYw)N�
LOGINDISABLEDzAUTH=ANONYMOUSrr�)rrorprnr��assertIsInstance�strrJr�username�passwordr)r�cap�rss   r"�test_logincapazRemoteIMAPTest.test_logincapa�s���
�
-�
-�d�i�i�
8��{�{�/�/���%�%�c�3�/�0��M�M�/�4�;�;�+C�+C�D��M�M�*�D�K�K�,D�,D�E����"�"�4�=�=�$�-�-�@�B����R��U�D�)�
9�
8�
8�s�CC,�,C5c���tj|j�5|jj	�}d|_|j|dd|�ddd�y#1swYyxYw�Nrr�)rrorprnr�r)rr|s  r"r�zRemoteIMAPTest.test_logout�sO��
�
-�
-�d�i�i�
8����#�#�%�B��D�K����R��U�E�2�.�9�
8�
8���8A!�!A*N)rQrRrSrprqryrzrrIr�rrrtr}r�rUr$r"rkrk�s6��"�D��D��H��H����J�@�%�
*�/r$rkc�$��eZdZ�fd�Zd�Z�xZS)�RemoteIMAP_STARTTLSTestc����t�|��tj|j�5|j
j
�}|j|dd�ddd�y#1swYyxYw)Nrr�)rlrrrrorprn�starttlsr)rr|rrs  �r"rrzRemoteIMAP_STARTTLSTest.setUp�sP���
��
��
�
-�
-�d�i�i�
8����%�%�'�B����R��U�D�)�9�
8�
8�s�0A(�(A1c��|jjD]}|j|t��|j	d|jj�y)Nrv)rnr�rwrx�assertNotIn)rr{s  r"r}z&RemoteIMAP_STARTTLSTest.test_logincapa�s@���;�;�+�+�C��!�!�#�s�+�,�����$�+�+�*B�*B�Cr$)rQrRrSrrr}r�r�s@r"r�r��s���*�Dr$r�c�8�eZdZdZeZd�Zd�Zd�Zd�Z	d�Z
d�Zy)	�RemoteIMAP_SSLTesti�c��yr=rUr's r"rrzRemoteIMAP_SSLTest.setUp	���r$c��yr=rUr's r"rtzRemoteIMAP_SSLTest.tearDownr�r$c��tjtj�}d|_tj|_|j
t�|Srk)r[r\r�r��	CERT_NONEr�r^r_)rr�s  r"�create_ssl_contextz%RemoteIMAP_SSLTest.create_ssl_contexts>���n�n�S�%<�%<�=��%*��"�"%�-�-����#�#�H�-��r$c��	|jD]}|j|t��|jd|j�|j	d|j�|j|j|j�}|j|dd�|j�y#|j�wxYw)Nrvz
AUTH=PLAINrr�)
r�rwrxr�rJrryrzrr�)rrnr{r|s    r"�check_logincapaz"RemoteIMAP_SSLTest.check_logincapas���	��*�*���%�%�c�3�/�+����_�f�.A�.A�B��M�M�,��(;�(;�<����d�m�m�T�]�]�;�B����R��U�D�)��M�M�O��F�M�M�O�s�BB-�-B?c���tj|j�5|j|j|j�}|j|�ddd�y#1swYyxYwr=)rrorpr�rqr�)r�_servers  r"r}z!RemoteIMAP_SSLTest.test_logincapa!sF��
�
-�
-�d�i�i�
8��o�o�d�i�i����;�G�� � ��)�9�
8�
8�r�c��tj|j�5|j|j|j�}|j�}|j
|dd|�ddd�y#1swYyxYwr)rrorpr�rqr�r)rr�r|s   r"r�zRemoteIMAP_SSLTest.test_logout&sZ��
�
-�
-�d�i�i�
8��o�o�d�i�i����;�G����!�B����R��U�E�2�.�9�
8�
8�s�A
A6�6A?N)rQrRrSrqr�r�rrrtr�r�r}r�rUr$r"r�r�s,���D��J�
�
��	�*�
/r$r��__main__)9rr�test.supportr�
contextlibrr�os.path�osr�rrr�r�rArrrr	r
rrrdr
rrrr[�ImportError�requires_working_socket�pathr��dirname�__file__�curdirr_r��TestCaserr�rWr�r�rir�r�rer�r�rg�is_resource_enabled�skiprkr�r�rQ�mainrUr$r"�<module>r�s����&�%�������	�
�_�_�'�)���2�2��� ����t�,�
�7�7�<�<�������1�>�R�Y�Y�
�N�[��	�����b�g�g�o�o�h�/�<�2�9�9�j�.�	Y��>;�(�#�#�>;�B�(�,�0�0�(��!�!�I�
�
��I�\A��9�9�\A�~G/�G/�T
*�$�h�&7�&7�*�
����S�-�.��'��):�):��/��>m�X�.�.�m�`����S�-�.�� 6��/��6�����G���	�*�,G�I�����8�9�/�X�&�&�/�:�I�/�@����S�-�.������G���	�*�,G�I�����8�9�D�n�D�:�I�/�D�����S�-�.�����8�9�%/��%/�:�/�%/�P�z���H�M�M�O���o ��
�C��s�"K�K"�!K"

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists