Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.10/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.10/test/__pycache__/test_imaplib.cpython-310.pyc
o

�9j���@s�ddlmZddlmZddlmZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlmZmZmZmZddlmZddlmZddlmZddlZdd	lmZdd
lmZmZmZzddlZWneyqdZYnwej�ej�e�p}ej d�Z!ej�ej�e�p�ej d�Z"Gd
d�dej#�Z$er�Gdd�de	j%�Z&ej'Z'n	Gdd�d�Z&dZ'Gdd�de	j(�Z)Gdd�d�Z*Gdd�de*ej#�Z+e�,ed�Gdd�de*ej#��Z-Gdd�dej#�Z.e�,ed�Gdd�de.��Z/e�,e�0d�d �e�1d!�Gd"d#�d#ej#���Z2e�,ed�e�,e�0d�d �e�1d!�Gd$d%�d%e2����Z3e�,ed�e�1d!�Gd&d'�d'e2���Z4e5d(k�rAe�6�dSdS))�)�support)�
socket_helper)�contextmanagerN)�verbose�run_with_tz�run_with_locale�cpython_only)�hashlib_helper)�threading_helper)�warnings_helper)�mock)�datetime�timezone�	timedeltazkeycert3.pemzpycacert.pemc@sXeZdZdd�Zed�dd��Zdd�Zedd	d
�ed�dd
���Zdd�Z	dd�Z
dS)�TestImaplibcCsbt�d�}t�d�}|�t�|�|�t�d�}|�t�|�|�t�d�}|�t�|�|�dS)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�tt�r�(/usr/lib/python3.10/test/test_imaplib.py�test_Internaldate2tuple s
���z#TestImaplib.test_Internaldate2tuplezMST+07MDT,M4.1.0,M10.5.0cCs|�t�d�t�d��dS)Ns.25 (INTERNALDATE "02-Apr-2000 02:30:00 +0000")s.25 (INTERNALDATE "02-Apr-2000 03:30:00 +0000"))�assertNotEqualrr�rrrr�"test_Internaldate2tuple_issue10941,s���z.TestImaplib.test_Internaldate2tuple_issue10941cCs*ddt�d�ddt�dttdd���dgS)Ni�5wge��A)	����r$�!�rrr)	r#r$r%r$r&r'rrrri �"18-May-2033 05:33:20 +0200")r�	localtimer
�
fromtimestamprrr!rrr�
timevalues3s��zTestImaplib.timevalues�LC_ALL�de_DE�fr_FRzSTD-1DST,M3.2.0,M11.1.0cCs,d}|��D]
}t�|�}|�||�qdS)Nr()r+r�Time2Internaldater)r�expected�t�internalrrr�test_Time2Internaldate;s

�z"TestImaplib.test_Time2InternaldatecCs|��D]}t�|�qdS�N)r+rr/)rr1rrr�,test_that_Time2Internaldate_returns_a_resultFs�z8TestImaplib.test_that_Time2Internaldate_returns_a_resultc	Cs�t���"}z|�dtjf�|�d�Wn
tjyYnwWd�n1s)wYt��}|�t	��}t�
�Wd�n1sFwY|�|jj
|�dS)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�cmrrr�test_imap4_host_default_valueMs 
����	
�z)TestImaplib.test_imap4_host_default_valueN)�__name__�
__module__�__qualname__rrr"r+rr3r5rFrrrrrs

rc@�eZdZdd�ZdS)�SecureTCPServercCs:|j��\}}t�tj�}|�t�|j|dd�}||fS)NT)�server_side)r7�accept�ssl�
SSLContext�PROTOCOL_TLS_SERVER�load_cert_chain�CERTFILE�wrap_socket)r�	newsocket�fromaddr�context�
connstreamrrr�get_requestas

zSecureTCPServer.get_requestN)rGrHrIrXrrrrrK_�rKc@�eZdZdS)rKN�rGrHrIrrrrrKl�cszeZdZejZdZdZ�fdd�Zdd�Z	dd�Z
d	d
�Zdd�Zd
d�Z
dd�Zdd�Zdd�Zdd�Zdd�Z�ZS)�SimpleIMAPHandlerNr6cst���d|j_d|j_dS�NF)�super�setup�server�is_selected�loggedr!��	__class__rrr`ws
zSimpleIMAPHandler.setupcCs$tr
td|���|j�|�dS)NzSENT: %r)r�print�strip�wfile�write�r�messagerrr�_send|szSimpleIMAPHandler._sendcCs|�|d�dS)N�
)rlrjrrr�
_send_line��zSimpleIMAPHandler._send_linecCs|�|�d��dS)N�ASCII)rn�encoderjrrr�_send_textline�sz SimpleIMAPHandler._send_textlinecCs|�d�|||f��dS)N� )rr�join)r�tag�coderkrrr�_send_tagged�szSimpleIMAPHandler._send_taggedcCs|�d�	d}	z|j�d�}|dkrWdS||7}Wn
ty&YdSw|�d�r-nq	tr8td|���|jrQz|j�	|�Wnt
yOd|_Ynwq|�d���}|d}|d}|dd�}t
|d	|�r�t|d	|�||�}|r�||_t|�n	|�|d
|d�q)Nz* OK IMAP4rev1r�rmzGOT: %rrpr��cmd_�BADz unknown)rr�rfile�readr>�endswithrrfrg�continuation�send�
StopIteration�decode�split�hasattr�getattr�nextrw)r�line�part�	splitlineru�cmd�argsrrrr�handle�sH
�
�

���zSimpleIMAPHandler.handlecCs4|jrd|jnd}|�d|�|�|dd�dS)Nz
IMAP4rev1 �	IMAP4rev1z
* CAPABILITY �OK�CAPABILITY completed)�capabilitiesrrrw)rrur��capsrrr�cmd_CAPABILITY�s��z SimpleIMAPHandler.cmd_CAPABILITYcCs$d|j_|�d�|�|dd�dS)Nz"* BYE IMAP4ref1 Server logging outr�zLOGOUT completed)rarcrrrw�rrur�rrr�
cmd_LOGOUT��
zSimpleIMAPHandler.cmd_LOGOUTcCs|d|j_|�|dd�dS)Nrr�zLOGIN completed)rarcrwr�rrr�	cmd_LOGIN�szSimpleIMAPHandler.cmd_LOGINcCs$d|j_|�d�|�|dd�dS)NT�
* 2 EXISTSr��[READ-WRITE] SELECT completed.)rarbrnrwr�rrr�
cmd_SELECT�r�zSimpleIMAPHandler.cmd_SELECTcCs4|jjrd|j_|�|dd�dS|�|dd�dS)NFr�z*Returned to authenticated state. (Success)r{zNo mailbox selected)rarbrwr�rrr�cmd_UNSELECT�szSimpleIMAPHandler.cmd_UNSELECT)rGrHrIr�LOOPBACK_TIMEOUT�timeoutrr�r`rlrnrrrwr�r�r�r�r�r��
__classcell__rrrdrr]rs*r]c@s
eZdZdZd;dd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zejddd�dd ��Zejddd�d!d"��Zd#d$�Ze�d%d&�d'd(��Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Z d9d:�Z!dS)<�NewIMAPTestsMixinNTcCs�Gdd�d|j�}|�|j�|�tjdf|�|_tj|jd|jj	ddid�|_
d|j
_|j
��|r<|j
|jj�|_|j|jfS)	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@rJ)z/NewIMAPTestsMixin._setup.<locals>.TestTCPServercS�|�|�|���)zP
                End request and raise the error if one occurs.
                ��
close_request�server_close�r�request�client_addressrrr�handle_error�s
z<NewIMAPTestsMixin._setup.<locals>.TestTCPServer.handle_errorN�rGrHrIr�rrrr�
TestTCPServer��r�rz-server�
poll_interval�{�G�z�?��name�target�kwargsT)�server_class�
addCleanup�_cleanupr�HOSTra�	threading�Thread�_testMethodName�
serve_forever�thread�daemon�start�
imap_class�server_address�client)r�imap_handlerr8r�rrr�_setup�s	�
zNewIMAPTestsMixin._setupcCsJ|jdur|jjdkr|j��|j��|j��t�|j�d|_dS)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�shutdownrar�r
�join_threadr�r!rrrr��s



zNewIMAPTestsMixin._cleanupcCsDGdd�dtj�}|j|dd�\}}|jtjj|jg|j�R�dS)Nc@rJ)zONewIMAPTestsMixin.test_EOF_without_complete_welcome_message.<locals>.EOFHandlercS�|j�d�dS�Ns* OK�rhrir!rrrr�szVNewIMAPTestsMixin.test_EOF_without_complete_welcome_message.<locals>.EOFHandler.handleN�rGrHrIr�rrrr�
EOFHandlerr�r�F�r8)	�socketserver�StreamRequestHandlerr�r=rr?�abortr�r�)rr��_rarrr�)test_EOF_without_complete_welcome_messages
�z;NewIMAPTestsMixin.test_EOF_without_complete_welcome_messagecCsBGdd�dt�}|j|dd�\}}|jtjj|jg|j�R�dS)Nc@rJ)zBNewIMAPTestsMixin.test_line_termination.<locals>.BadNewlineHandlercS�|�d�|�|dd�dS�Ns* CAPABILITY IMAP4rev1 AUTH
r�r��rlrwr�rrrr��
zQNewIMAPTestsMixin.test_line_termination.<locals>.BadNewlineHandler.cmd_CAPABILITYN�rGrHrIr�rrrr�BadNewlineHandlerr�r�Fr�)r]r�r=rr?r�r�r�)rr�r�rarrr�test_line_terminations
�z'NewIMAPTestsMixin.test_line_terminationcCstGdd�dt�}|�|�\}}|�|j�|�tjjd��
|�d�Wd�n1s-wY|�|j�dS)Nc@�eZdZdZdS)zMNewIMAPTestsMixin.test_enable_raises_error_if_not_AUTH.<locals>.EnableHandler�AUTH ENABLE UTF8=ACCEPTN�rGrHrIr�rrrr�
EnableHandler�r�zENABLE.*NONAUTH�foo)	r]r��assertFalse�utf8_enabled�assertRaisesRegexrr?r;�enable)rr�r�r�rrr�$test_enable_raises_error_if_not_AUTHs�z6NewIMAPTestsMixin.test_enable_raises_error_if_not_AUTHcCsN|�t�\}}|�tjjd��|�d�Wd�dS1s wYdS)N�does not support ENABLEr�)r�r]r�rr?r;r�)rr�r�rrr�)test_enable_raises_error_if_no_capability s
�"�z;NewIMAPTestsMixin.test_enable_raises_error_if_no_capabilitycCsj|�t�\}}|�dd�\}}|�|d�|�tjjd��|�d�Wd�dS1s.wYdS)N�user�passr�r��UTF8=ACCEPT)	r�r]�loginrr�rr?r;r��rr�r��typ�datarrr�.test_enable_UTF8_raises_error_if_not_supported&s
�"�z@NewIMAPTestsMixin.test_enable_UTF8_raises_error_if_not_supportedc	Cs�Gdd�dt�}|�|�\}}|�|jd�|�ddd��\}}|�|d�|�|jd�|�d	�\}}|�|d�|�|jd
�d}|�ddd|�d
��\}}|�|d�|�|jd|�d
��dS)
Nc@s(eZdZdZdd�Zdd�Zdd�ZdS)	zHNewIMAPTestsMixin.test_enable_UTF8_True_append.<locals>.UTF8AppendServerzENABLE UTF8=ACCEPTcS�|�|dd�dS�Nr�zENABLE successful�rwr�rrr�
cmd_ENABLE1rozSNewIMAPTestsMixin.test_enable_UTF8_True_append.<locals>.UTF8AppendServer.cmd_ENABLEcs�(�|�d�dV|j_|�|dd�dS�N�+r�zFAKEAUTH successful�rrra�responserwr�rrr�cmd_AUTHENTICATE3��

zYNewIMAPTestsMixin.test_enable_UTF8_True_append.<locals>.UTF8AppendServer.cmd_AUTHENTICATEcsr��Nr�r��okayr�r�rrr�
cmd_APPEND7r�zSNewIMAPTestsMixin.test_enable_UTF8_True_append.<locals>.UTF8AppendServer.cmd_APPENDN)rGrHrIr�r�r�r�rrrr�UTF8AppendServer/s
r��ascii�MYAUTHcS�dS�Nsfaker��xrrr�<lambda>=�z@NewIMAPTestsMixin.test_enable_UTF8_True_append.<locals>.<lambda>r��
ZmFrZQ==
r��utf-8�Subject: üñí©öðé�UTF8 (%s)
)	r]r�r�	_encoding�authenticater�r��appendrq)	rr�r�rarvr��
msg_stringr�r�rrr�test_enable_UTF8_True_append.s�z.NewIMAPTestsMixin.test_enable_UTF8_True_appendcCs�Gdd�dt�}|�|�\}}|�ddd��\}}|�|d�|�d�\}}|�|d�|�|j�|�tj	j
d��|�d	d
�Wd�dS1sLwYdS)Nc@� eZdZdZdd�Zdd�ZdS)zPNewIMAPTestsMixin.test_search_disallows_charset_in_utf8_mode.<locals>.UTF8Serverr�cSr�r�r�r�rrrr�Lroz[NewIMAPTestsMixin.test_search_disallows_charset_in_utf8_mode.<locals>.UTF8Server.cmd_ENABLEcsr�r�r�r�rrrr�Nr�zaNewIMAPTestsMixin.test_search_disallows_charset_in_utf8_mode.<locals>.UTF8Server.cmd_AUTHENTICATEN�rGrHrIr�r�r�rrrr�
UTF8ServerJsr
r�cSr�r�rr�rrrrSrzNNewIMAPTestsMixin.test_search_disallows_charset_in_utf8_mode.<locals>.<lambda>r�r�z
charset.*UTF8r��bar)r]r�rrr��
assertTruer�r�rr?r;�search)rr
r�r�r�rrr�*test_search_disallows_charset_in_utf8_modeIs"�z<NewIMAPTestsMixin.test_search_disallows_charset_in_utf8_modecC�dGdd�dt�}|�|�\}}|�tjjd��|�ddd��Wd�dS1s+wYdS)Nc@rJ)z6NewIMAPTestsMixin.test_bad_auth_name.<locals>.MyServercS�|�|dd�|d��dS�N�NOz#unrecognized authentication type {}r�rw�formatr�rrrr�]s�zGNewIMAPTestsMixin.test_bad_auth_name.<locals>.MyServer.cmd_AUTHENTICATEN�rGrHrIr�rrrr�MyServer\r�rz'unrecognized authentication type METHOD�METHODcSr��Nrrrrrrrcrz6NewIMAPTestsMixin.test_bad_auth_name.<locals>.<lambda>�r]r�r�rr?r;r�rrr�r�rrr�test_bad_auth_name[s
�"�z$NewIMAPTestsMixin.test_bad_auth_namecCr)Nc@rJ)z?NewIMAPTestsMixin.test_invalid_authentication.<locals>.MyServercs�&�|�d�dV|_|�|dd�dS�Nr�rz[AUTHENTICATIONFAILED] invalid�rrr�rwr�rrrr�g��
zPNewIMAPTestsMixin.test_invalid_authentication.<locals>.MyServer.cmd_AUTHENTICATENrrrrrrfr�rz \[AUTHENTICATIONFAILED\] invalidr�cSr�r�rr�rrrrnrz?NewIMAPTestsMixin.test_invalid_authentication.<locals>.<lambda>rrrrr�test_invalid_authenticationes
�"�z-NewIMAPTestsMixin.test_invalid_authenticationcC�PGdd�dt�}|�|�\}}|�ddd��\}}|�|d�|�|jd�dS)Nc@rJ)zCNewIMAPTestsMixin.test_valid_authentication_bytes.<locals>.MyServercsr�r�r�r�rrrr�rr�zTNewIMAPTestsMixin.test_valid_authentication_bytes.<locals>.MyServer.cmd_AUTHENTICATENrrrrrrqr�rr�cSr�r�rr�rrrrwrzCNewIMAPTestsMixin.test_valid_authentication_bytes.<locals>.<lambda>r�r�r]r�rrr��rrr�rarvr�rrr�test_valid_authentication_bytesp�
z1NewIMAPTestsMixin.test_valid_authentication_bytescCr$)Nc@rJ)zHNewIMAPTestsMixin.test_valid_authentication_plain_text.<locals>.MyServercsr�r�r�r�rrrr�}r�zYNewIMAPTestsMixin.test_valid_authentication_plain_text.<locals>.MyServer.cmd_AUTHENTICATENrrrrrr|r�rr�cSr��N�fakerr�rrrr�rzHNewIMAPTestsMixin.test_valid_authentication_plain_text.<locals>.<lambda>r�rr%r&rrr�$test_valid_authentication_plain_text{r(z6NewIMAPTestsMixin.test_valid_authentication_plain_text�md5��opensslcC�NGdd�dt�}|�|�\}}|�d|jv�|�dd�\}}|�|d�dS)Nc@�eZdZdZdd�ZdS)z@NewIMAPTestsMixin.test_login_cram_md5_bytes.<locals>.AuthHandler�LOGINDISABLED AUTH=CRAM-MD5cs�>�|�d�dV}|dkr|�|dd�dS|�|dd�dS�Nz:+ PDE4OTYuNjk3MTcwOTUyQHBvc3RvZmZpY2UucmVzdG9uLm1jaS5uZXQ=s2dGltIGYxY2E2YmU0NjRiOWVmYTFjY2E2ZmZkNmNmMmQ5ZjMy
r�zCRAM-MD5 successfulrz	No access�rrrw�rrur��rrrrr����
zQNewIMAPTestsMixin.test_login_cram_md5_bytes.<locals>.AuthHandler.cmd_AUTHENTICATEN�rGrHrIr�r�rrrr�AuthHandler��r9�
AUTH=CRAM-MD5�tim�tanstaaftanstaafr��r]r�rr��login_cram_md5r�rr9r�r��retrrr�test_login_cram_md5_bytes��
z+NewIMAPTestsMixin.test_login_cram_md5_bytescCr/)Nc@r0)zENewIMAPTestsMixin.test_login_cram_md5_plain_text.<locals>.AuthHandlerr1csr2r3r4r5rrrr��r7zVNewIMAPTestsMixin.test_login_cram_md5_plain_text.<locals>.AuthHandler.cmd_AUTHENTICATENr8rrrrr9�r:r9r;r<�tanstaaftanstaafr�r>r@rrr�test_login_cram_md5_plain_text�rCz0NewIMAPTestsMixin.test_login_cram_md5_plain_textcCr)Nc@rJ)z?NewIMAPTestsMixin.test_aborted_authentication.<locals>.MyServercs�B�|�d�dV|_|jdkr|�|dd�dS|�|dd�dS�Nr�s*
rz[AUTHENTICATIONFAILED] abortedr�zMYAUTH successfulr!r�rrrr��s�

�zPNewIMAPTestsMixin.test_aborted_authentication.<locals>.MyServer.cmd_AUTHENTICATENrrrrrr�r�rz \[AUTHENTICATIONFAILED\] abortedr�cS�dSr4rr�rrrr�rz?NewIMAPTestsMixin.test_aborted_authentication.<locals>.<lambda>rrrrr�test_aborted_authentication�s
�"�z-NewIMAPTestsMixin.test_aborted_authenticationzimaplib._MAXLINE�
cCsdGdd�dt�}|j|dd�\}}|�tjjd��|j|j�Wd�dS1s+wYdS)Nc@rJ)z:NewIMAPTestsMixin.test_linetoolong.<locals>.TooLongHandlercSr�)Ns* OK xxxxxxxxxxx
r�r!rrrr���zANewIMAPTestsMixin.test_linetoolong.<locals>.TooLongHandler.handleNr�rrrr�TooLongHandler�r�rLFr�zgot more than 10 bytes)r]r�r�rr?r;r�r�)rrLr�rarrr�test_linetoolong�s
�"�z"NewIMAPTestsMixin.test_linetoolongcCsD|jtdd�\}}|j|j��	Wd�dS1swYdS)NFr�)r�r]r�r�)rr�rarrr�test_simple_with_statement�s"�z,NewIMAPTestsMixin.test_simple_with_statementcCs�|�t�\}}|jd}|jd|dd�}|�|jjd�|��|jd|tj	d�}|�|jjtj	�|��|�
t��|jd|dd�}Wd�dS1sOwYdS)Nr�	localhost�r�r)r�r]r�r�r�sockr�r�rr�r=�
ValueError)rr�ra�addrr�rrr�test_imaplib_timeout_test�s
"�z+NewIMAPTestsMixin.test_imaplib_timeout_testcCshGdd�dt�}|�|�\}}|jd}|�t��|jd|dd�}Wd�dS1s-wYdS)Nc@rJ)zQNewIMAPTestsMixin.test_imaplib_timeout_functionality_test.<locals>.TimeoutHandlercSst�d�t�|�dSr)r�sleepr]r�r!rrrr���
zXNewIMAPTestsMixin.test_imaplib_timeout_functionality_test.<locals>.TimeoutHandler.handleNr�rrrr�TimeoutHandler�r�rWrrOg����MbP?rP)r]r�r�r=�TimeoutErrorr�)rrWr�rarSr�rrr�'test_imaplib_timeout_functionality_test�s
"�z9NewIMAPTestsMixin.test_imaplib_timeout_functionality_testcCsh|jtdd�\}}|j|j��}|�dd�|�|jd�Wd�n1s'wY|�|j�dS�NFr�r�r�)r�r]r�r�r�rrc�assertIsNone�rr�ra�imaprrr�test_with_statement�s�z%NewIMAPTestsMixin.test_with_statementcCs||jtdd�\}}|j|j��}|�dd�|�|jd�|��|�|j�Wd�n1s1wY|�|j�dSrZ)	r�r]r�r�r�rrc�logoutr[r\rrr�test_with_statement_logout�s�z,NewIMAPTestsMixin.test_with_statement_logoutcCsL|�t�\}}|�dd�\}}|�|d�|�|dd�|�|jd�dS)Nr�r�r�r�LOGIN completed�AUTH)r�r]r�rr�r�rrr�
test_login�s
zNewIMAPTestsMixin.test_logincCs�|�t�\}}|�dd�\}}|�|d�|�|dd�|��\}}|�|d||f�|�|dd||f�|�|jd�dS)	Nr�r�r�rra�BYEsIMAP4ref1 Server logging outr�)r�r]r�rr_r�r�rrr�test_logout�szNewIMAPTestsMixin.test_logoutcCsVGdd�dt�}|�|�\}}|�dd�|��\}}|�|d�|�|dd�dS)Nc@rJ)z,NewIMAPTestsMixin.test_lsub.<locals>.LsubCmdcSs|�d�|�|dd�S)Nz* LSUB () "." directoryAr�zLSUB completedr4r�rrr�cmd_LSUBrVz5NewIMAPTestsMixin.test_lsub.<locals>.LsubCmd.cmd_LSUBN)rGrHrIrfrrrr�LsubCmdr�rgr�r�r�rs() "." directoryA)r]r�r��lsubr)rrgr�r�r�r�rrr�	test_lsubszNewIMAPTestsMixin.test_lsubcCs||�t�\}}|�dd�|��\}}|�|d�|�|dd�|��\}}|�|d�|�|dd�|�|jd�dS)Nr�r�r�r�2s*Returned to authenticated state. (Success)rb)r�r]r��selectr�unselectr�r�rrr�
test_unselectszNewIMAPTestsMixin.test_unselect)T)"rGrHrIr�r�r�r�r�r�r�r�r
rrr#r'r+r	�requires_hashdigestrBrErIr�patchrMrNrTrYr^r`rcrerirmrrrrr��s>
!			






r�c@seZdZejZejZdS)�NewIMAPTestsN)	rGrHrIrr?r�r��	TCPServerr�rrrrrps
rpzSSL not availablec@s0eZdZeZeZdd�Zdd�Ze	dd��Z
dS)�NewIMAPSSLTestscCs�t�tj�}|�|jtj�|�|jd�|�t�|�	tj
d��|�t�\}}|j
|jd|i�}|��Wd�dS1sAwYdS)NT�=IP address mismatch, certificate is not valid for '127.0.0.1'�ssl_context)rNrO�PROTOCOL_TLS_CLIENTr�verify_mode�
CERT_REQUIRED�check_hostname�load_verify_locations�CAFILEr��CertificateErrorr�r]r�r�r��rrtr�rar�rrr�test_ssl_raises(s
�
�
"�zNewIMAPSSLTests.test_ssl_raisescCsFt�tj�}|�t�|�t�\}}|jd|jd|d�}|�	�dS)NrOr�rt)
rNrOruryrzr�r]r�r�r�r|rrr�test_ssl_verified6s
�z!NewIMAPSSLTests.test_ssl_verifiedc
Cs�t�dtf��Itj�|jd��(tj�|jd��|jddtd�Wd�n1s,wYWd�n1s;wYWd�dSWd�dS1sSwYdS)Nr6�open�_connectrO�)�certfile)r�check_warnings�DeprecationWarningrro�objectr�rRr!rrr�test_certfile_arg_warnAs����"�z&NewIMAPSSLTests.test_certfile_arg_warnN)rGrHrI�	IMAP4_SSLr�rKr�r}rrr�rrrrrr#srrc@sreZdZejZejZdd�Z	dd�Z
edd��Zedd��Z
ejd	d
��Zejdd��Zejd
d��Zejdd��ZGdd�de�Zejdd��Zejdd��Zejdd��Zejdd��Zejdd��Zejdd��Zejdd ��Zejd!d"��Zejejd#d$d%�d&d'���Z ejd(d)��Z!d*d+�Z"ejd,d-��Z#ejd.d/��Z$ejd0d1��Z%eje&e'�(d$d2�d3d4����Z)d5S)6�ThreadedNetworkedTestscCs�Gdd�d|j�}trtd�|||�}|�|j|j���tr5td�td|�td|j�td|j�tj	d|j|j
d	d
id�}d|_|��trPtd
�||fS)Nc@rJ)z4ThreadedNetworkedTests.make_server.<locals>.MyServercSr�r4r�r�rrrr�Os
zAThreadedNetworkedTests.make_server.<locals>.MyServer.handle_errorNr�rrrrrNr�rzcreating serverzserver createdzADDR =zCLASS =zHDLR =z
%s servingr�r�r�Tzserver running)
r�rrfrr�r7�getsockname�RequestHandlerClassr�r�r�r�r�)rrS�hdlrrrar1rrr�make_serverLs(

�z"ThreadedNetworkedTests.make_servercCs8trtd�|��|��|��trtd�dSdS)Nzwaiting for server�done)rrfr�r�rt)rrar�rrr�reap_serverls�z"ThreadedNetworkedTests.reap_serverc
cs@�|�tjdf|�\}}z|VW|�||�dS|�||�w)Nr)r�rr�r�)rr�rar�rrr�
reaped_serverus
�z$ThreadedNetworkedTests.reaped_serverc	cs`�|�|�� }|j|j�}z||fVW|��n|��wWd�dS1s)wYdSr4)r�r�r�r_)rr�rar�rrr�reaped_pair}s�"�z"ThreadedNetworkedTests.reaped_paircCsD|�t��}|j|j�}|��Wd�dS1swYdSr4)r�r]r�r�r��rrar�rrr�test_connect�s
"�z#ThreadedNetworkedTests.test_connectcCs�Gdd�dt�}|�|��J\}}|�ddd��\}}|�|d�|�|jd�|�d�|�d	d
d�\}\}|�d|�|�d�|�d
�\}\}|�d|�Wd�dS1sZwYdS)Ncs4eZdZ�fdd�Zdd�Zdd�Zdd�Z�ZS)	zEThreadedNetworkedTests.test_bracket_flags.<locals>.BracketFlagHandlercsgd�|_t���dS)N)�Answered�Flagged�Deleted�Seen�Draft)�flagsr_r�r!rdrrr��rVzLThreadedNetworkedTests.test_bracket_flags.<locals>.BracketFlagHandler.handlecsr�r�r�r�rrrr��r�zVThreadedNetworkedTests.test_bracket_flags.<locals>.BracketFlagHandler.cmd_AUTHENTICATEcSs^d�|j�}|�d|�d��|�d�|�d�d|}|�|�d��|�|dd�dS)	N� \z* FLAGS (%s)r�r�s
* 0 RECENTz-* OK [PERMANENTFLAGS %s \*)] Flags permitted.r�r�)rtr�rnrqrw)rrur��flag_msg�msgrrrr��s

�zPThreadedNetworkedTests.test_bracket_flags.<locals>.BracketFlagHandler.cmd_SELECTcSsf|d�d��d���}|j�|�dd�|j�}d|d|f}|�|�d��|�|d	d
�dS)Nry�(�)z(FLAGS (%s))r�z
* %s FETCH %srr�r�zSTORE completed.)rgr�r��extendrtrnrqrw)rrur��	new_flags�	flags_msgr�rrr�	cmd_STORE�szOThreadedNetworkedTests.test_bracket_flags.<locals>.BracketFlagHandler.cmd_STORE)rGrHrIr�r�r�r�r�rrrdr�BracketFlagHandler�s

r�r�cSr�r�rr�rrrr�rz;ThreadedNetworkedTests.test_bracket_flags.<locals>.<lambda>r�r�test�1z+FLAGSz[test]s[test]�PERMANENTFLAGS)r]r�rrr�rk�storer@)rr�rar�rvr�r�rrr�test_bracket_flags�s	

"�z)ThreadedNetworkedTests.test_bracket_flagscCs^Gdd�dtj�}|�|��}|jtjj|jg|j�R�Wd�dS1s(wYdS)Nc@rJ)z9ThreadedNetworkedTests.test_issue5949.<locals>.EOFHandlercSr�r�r�r!rrrr��rKz@ThreadedNetworkedTests.test_issue5949.<locals>.EOFHandler.handleNr�rrrrr��r�r�)	r�r�r�r=rr?r�r�r�)rr�rarrr�test_issue5949�s
�
�"�z%ThreadedNetworkedTests.test_issue5949cC�\Gdd�dt�}|�|��}|jtjj|jg|j�R�Wd�dS1s'wYdS)Nc@rJ)zGThreadedNetworkedTests.test_line_termination.<locals>.BadNewlineHandlercSr�r�r�r�rrrr��r�zVThreadedNetworkedTests.test_line_termination.<locals>.BadNewlineHandler.cmd_CAPABILITYNr�rrrrr��rYr�)r]r�r=rr?r�r�r�)rr�rarrrr��s
�
�"�z,ThreadedNetworkedTests.test_line_terminationc@r)z!ThreadedNetworkedTests.UTF8Serverr�cCr�r�r�r�rrrr��roz,ThreadedNetworkedTests.UTF8Server.cmd_ENABLEccr�r�r�r�rrrr��r�z2ThreadedNetworkedTests.UTF8Server.cmd_AUTHENTICATENrrrrrr
�sr
cCsb|�|j��!\}}|�|j�|�tjj|jd�|�|j�Wd�dS1s*wYdS)Nr�)	r�r
r�r�r=rr?r;r�r�rrrr��s
"�z;ThreadedNetworkedTests.test_enable_raises_error_if_not_AUTHcCsZGdd�d|j�}|�|��\}}|�tjj|jd�Wd�dS1s&wYdS)Nc@r�)zXThreadedNetworkedTests.test_enable_raises_error_if_no_capability.<locals>.NoEnableServerrbNr�rrrr�NoEnableServer�r�r�r�)r
r�r=rr?r;r�)rr�rar�rrrr��s"�z@ThreadedNetworkedTests.test_enable_raises_error_if_no_capabilityc	Cs�Gdd�dt�}|�tjj��;|�|��\}}|�dd�\}}|�|d�|�d�Wd�n1s5wYWd�dSWd�dS1sMwYdS)Nc@rZ)z\ThreadedNetworkedTests.test_enable_UTF8_raises_error_if_not_supported.<locals>.NonUTF8ServerNr[rrrr�
NonUTF8Server�r\r�r�r�r�r�)	r]r=rr?r;r�r�rr�)rr�rar�r�r�rrrr��s
��"�zEThreadedNetworkedTests.test_enable_UTF8_raises_error_if_not_supportedc		Cs�Gdd�d|j�}|�|��^\}}|�|jd�|�ddd��\}}|�|d�|�|jd�|�d	�\}}|�|d�|�|jd
�d}|�ddd|�d
��\}}|�|d�|�|jd|�d
��Wd�dS1sowYdS)
Nc@rJ)zMThreadedNetworkedTests.test_enable_UTF8_True_append.<locals>.UTF8AppendServercsr�r�r�r�rrrr�r�zXThreadedNetworkedTests.test_enable_UTF8_True_append.<locals>.UTF8AppendServer.cmd_APPENDN)rGrHrIr�rrrrr��r�r�r�r�cSr�r�rr�rrrrrzEThreadedNetworkedTests.test_enable_UTF8_True_append.<locals>.<lambda>r�rr�rrr)	r
r�rrrr�r�rrq)	rr�rar�rvr�r	r�r�rrrr
�s*���"�z3ThreadedNetworkedTests.test_enable_UTF8_True_appendcCs�|�|j��9\}}|�ddd��\}}|�|d�|�d�\}}|�|d�|�|j�|�tj	j
|jdd�Wd�dS1sBwYdS)Nr�cSr�r�rr�rrrrrzSThreadedNetworkedTests.test_search_disallows_charset_in_utf8_mode.<locals>.<lambda>r�r�r�r)r�r
rrr�rr�r=rr?r;r)rrar�r�r�rrrrs"�zAThreadedNetworkedTests.test_search_disallows_charset_in_utf8_modec	Cs�Gdd�dt�}|�|��2\}}|�tjj��|�ddd��Wd�n1s*wYWd�dSWd�dS1sBwYdS)Nc@rJ)z;ThreadedNetworkedTests.test_bad_auth_name.<locals>.MyServercSrrrr�rrrr�)s

�zLThreadedNetworkedTests.test_bad_auth_name.<locals>.MyServer.cmd_AUTHENTICATENrrrrrr'rYrrcSr�rrrrrrr/rz;ThreadedNetworkedTests.test_bad_auth_name.<locals>.<lambda>�r]r�r=rr?r;r)rrrar�rrrr$s��"�z)ThreadedNetworkedTests.test_bad_auth_namec	C�Gdd�dt�}|�|��4\}}|�tjj��|�ddd��\}}Wd�n1s,wYWd�dSWd�dS1sDwYdS)Nc@rJ)zDThreadedNetworkedTests.test_invalid_authentication.<locals>.MyServercsrr r!r�rrrr�6r"zUThreadedNetworkedTests.test_invalid_authentication.<locals>.MyServer.cmd_AUTHENTICATENrrrrrr4rYrr�cSr�r�rr�rrrr=rzDThreadedNetworkedTests.test_invalid_authentication.<locals>.<lambda>r��rrrar�rvr�rrrr#1s��"�z2ThreadedNetworkedTests.test_invalid_authenticationcCs�Gdd�dt�}|�|��!\}}|�ddd��\}}|�|d�|�|jd�Wd�n1s1wY|�|��"\}}|�ddd��\}}|�|d�|�|jd�Wd�dS1s`wYdS)	Nc@rJ)zBThreadedNetworkedTests.test_valid_authentication.<locals>.MyServercsr�r�r�r�rrrr�Dr�zSThreadedNetworkedTests.test_valid_authentication.<locals>.MyServer.cmd_AUTHENTICATENrrrrrrBrYrr�cSr�r�rr�rrrrJrzBThreadedNetworkedTests.test_valid_authentication.<locals>.<lambda>r�rcSr�r)rr�rrrrPr)r]r�rrr�r�rrr�test_valid_authentication?s���"�z0ThreadedNetworkedTests.test_valid_authenticationr,Tr-cCs�Gdd�dt�}|�|�� \}}|�d|jv�|�dd�\}}|�|d�Wd�n1s0wY|�|��!\}}|�d|jv�|�dd�\}}|�|d�Wd�dS1s^wYdS)Nc@r0)z?ThreadedNetworkedTests.test_login_cram_md5.<locals>.AuthHandlerr1csr2r3r4r5rrrr�]r7zPThreadedNetworkedTests.test_login_cram_md5.<locals>.AuthHandler.cmd_AUTHENTICATENr8rrrrr9Ysr9r;r<rDr�r=)r]r�rr�r?r)rr9rar�rAr�rrr�test_login_cram_md5Us�"�z*ThreadedNetworkedTests.test_login_cram_md5c	Cr�)Nc@rJ)zDThreadedNetworkedTests.test_aborted_authentication.<locals>.MyServercsrFrGr!r�rrrr�ws�

zUThreadedNetworkedTests.test_aborted_authentication.<locals>.MyServer.cmd_AUTHENTICATENrrrrrrurYrr�cSrHr4rr�rrrr�rzDThreadedNetworkedTests.test_aborted_authentication.<locals>.<lambda>r�r�rrrrIrs��"�z2ThreadedNetworkedTests.test_aborted_authenticationcCr�)Nc@rJ)z?ThreadedNetworkedTests.test_linetoolong.<locals>.TooLongHandlercSs|j�dtjdd�dS)Ns* OK �xrm)rhrir�_MAXLINEr!rrrr��szFThreadedNetworkedTests.test_linetoolong.<locals>.TooLongHandler.handleNr�rrrrrL�r�rL)r]r�r=rr?r;r�r�)rrLrarrrrM�s
�
�"�z'ThreadedNetworkedTests.test_linetoolongc	Csl|�t��'}|j|j��Wd�n1swYWd�dSWd�dS1s/wYdSr4)r�r]r�r�)rrarrrrN�s��"�z1ThreadedNetworkedTests.test_simple_with_statementc	Cs�|�t��2}|j|j��}|�dd�|�|jd�Wd�n1s$wY|�|j�Wd�dS1s:wYdS�Nr�r�)r�r]r�r�r�rrcr[�rrar]rrrr^�s�"�z*ThreadedNetworkedTests.test_with_statementc	Cs�|�t��<}|j|j��}|�dd�|�|jd�|��|�|j�Wd�n1s.wY|�|j�Wd�dS1sDwYdSr�)	r�r]r�r�r�rrcr_r[r�rrrr`�s�"�z1ThreadedNetworkedTests.test_with_statement_logoutz Won't work if __debug__ is Falsec
Cs�ddgi}|�t��H}|j|j��)}tj�|d��}|�|�|�d�Wd�n1s.wYWd�n1s=wYWd�dSWd�dS1sUwYdS)Nz
READ-WRITErx�_mesgz)untagged responses dump:READ-WRITE: [b''])	r�r]r�r�rror��_dump_ur�assert_called_with)r�untagged_resp_dictrar]�	mock_mesgrrr�test_dump_ur�s

�����"�z#ThreadedNetworkedTests.test_dump_urN)*rGrHrIr�rqr�rr?r�r�r�rr�r�r
�reap_threadsr�r�r�r�r]r
r�r�r�r
rrr#r�r	rnr�rIrMrNr^r`r�unittest�
skipUnlessr�rrrrr�Hsd 	



0







	









r�c@s"eZdZeZeZejdd��Z	dS)�ThreadedNetworkedTestsSSLc	Cs�t�tj�}|�t�|�tjd��*|�t��}|j	|j
d|i�}|��Wd�n1s0wYWd�n1s?wY|�t��}|j	d|j
d|d�}|��Wd�dS1sdwYdS)NrsrtrOrr~)rNrOruryrzr�r{r�r]r�r�r�)rrtrar�rrrr�s(
�
�
���	�
"�z+ThreadedNetworkedTestsSSL.test_ssl_verifiedN)
rGrHrIrKr�r�r�r
r�rrrrrr��s
r��networkznetwork resource disabledz'cyrus.andrew.cmu.edu blocks connectionsc@sBeZdZdZdZdZdZejZ	dd�Z
dd�Zd	d
�Zdd�Z
d
S)�RemoteIMAPTestzcyrus.andrew.cmu.edur��	anonymousr�cCsDt�|j��|�|j|j�|_Wd�dS1swYdSr4)r�transient_internet�hostr��portrar!rrr�setUp�s"�zRemoteIMAPTest.setUpcCsJ|jdur#t�|j��|j��Wd�dS1swYdSdSr4)rarr�r�r_r!rrr�tearDown�s

"��zRemoteIMAPTest.tearDowncCs�t�|j��7|jjD]}|�|t�q|�d|jj�|�d|jj�|j�|j	|j
�}|�|dd�Wd�dS1s@wYdS)N�
LOGINDISABLEDzAUTH=ANONYMOUSrr�)rr�r�rar��assertIsInstance�strr@r��username�passwordr)r�cap�rsrrr�test_logincapa�s"�zRemoteIMAPTest.test_logincapacCsTt�|j��|j��}d|_|�|dd|�Wd�dS1s#wYdS�Nrrd)rr�r�rar_r�rr�rrrre�s

"�zRemoteIMAPTest.test_logoutN)rGrHrIr�r�r�r�rr?r�r�r�r�rerrrrr��s	r�cs$eZdZ�fdd�Zdd�Z�ZS)�RemoteIMAP_STARTTLSTestcsVt���t�|j��|j��}|�|dd�Wd�dS1s$wYdS)Nrr�)r_r�rr�r�ra�starttlsrr�rdrrr��s


"�zRemoteIMAP_STARTTLSTest.setUpcCs.|jjD]}|�|t�q|�d|jj�dS)Nr�)rar�r�r��assertNotIn)rr�rrrr�sz&RemoteIMAP_STARTTLSTest.test_logincapa)rGrHrIr�r�r�rrrdrr��sr�c@sTeZdZdZeZdd�Zdd�Zdd�Zdd	�Z	d
d�Z
dd
�Zdd�Zdd�Z
dS)�RemoteIMAP_SSLTesti�cCrHr4rr!rrrr�
�zRemoteIMAP_SSLTest.setUpcCrHr4rr!rrrr�r�zRemoteIMAP_SSLTest.tearDowncCs(t�tj�}d|_tj|_|�t�|Sr^)rNrOrurx�	CERT_NONErvrQrR)rrtrrr�create_ssl_contexts

z%RemoteIMAP_SSLTest.create_ssl_contextcCsnz1|jD]}|�|t�q|�d|j�|�d|j�|�|j|j�}|�|dd�W|�	�dS|�	�w)Nr�z
AUTH=PLAINrr�)
r�r�r�r�r@r�r�r�rr_)rrar�r�rrr�check_logincapas
z"RemoteIMAP_SSLTest.check_logincapacCsLt�|j��|�|j|j�}|�|�Wd�dS1swYdSr4)rr�r�r�r�r�)r�_serverrrrr�%s"�z!RemoteIMAP_SSLTest.test_logincapacCs\t�|j��|�|j|j�}|��}|�|dd|�Wd�dS1s'wYdSr�)rr�r�r�r�r_r)rr�r�rrrre*s
"�zRemoteIMAP_SSLTest.test_logoutc	C�Rt�|j��|jt|j|j|jt|��d�Wd�dS1s"wYdS)N)r�rt�	rr�r�r=rRr�r�rRr�r!rrr�#test_ssl_context_certfile_exclusive0��"�z6RemoteIMAP_SSLTest.test_ssl_context_certfile_exclusivec	Cr�)N)�keyfilertr�r!rrr�"test_ssl_context_keyfile_exclusive6r�z5RemoteIMAP_SSLTest.test_ssl_context_keyfile_exclusiveN)rGrHrIr�r�r�r�r�r�r�r�rer�r�rrrrr�sr��__main__)7r�r�test.supportr�
contextlibrr�os.path�osr�rrr�r7rrrrr	r
rr�rr
rrrN�ImportError�pathrt�dirname�__file__�curdirrRrz�TestCaserrqrKr�r�r]r�rpr�rrr�r��is_resource_enabled�skipr�r�r�rG�mainrrrr�<module>sv�@	_O
$
s
�
 
�

4�

Youez - 2016 - github.com/yon3zu
LinuXploit