403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.216.230
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/test/__pycache__/test_imaplib.cpython-36.pyc
3

�w2_R��@sJddlmZejd�ZddlmZddlZddlZddlZ	ddl
Z
ddlZddlZddl
Z
ddlmZmZmZmZmZmZddlZddlmZddlmZmZmZyddlZWnek
r�dZYnXe	jje	jje�p�e	j d�Z!e	jje	jje�p�e	j d	�Z"Gd
d�dej#�Z$e�r2Gdd
�d
e
j%�Z&ej'Z'nGdd
�d
�Z&dZ'Gdd�de
j(�Z)Gdd�d�Z*Gdd�de*ej#�Z+ej,ed�Gdd�de*ej#��Z-Gdd�dej#�Z.ej,ed�Gdd�de.��Z/ej,ej0d�d�Gdd�dej#��Z1ej,ed�ej,ej0d�d�Gd d!�d!e1���Z2ej,ed�Gd"d#�d#e1��Z3e4d$k�rFej5�dS)%�)�support�	threading)�contextmanagerN)�reap_threads�verbose�transient_internet�run_with_tz�run_with_locale�cpython_only)�mock)�datetime�timezone�	timedeltazkeycert3.pemzpycacert.pemc@sXeZdZdd�Zed�dd��Zdd�Zedd	d
�ed�dd
���Zdd�Z	dd�Z
dS)�TestImaplibc
Csbtjd
�}tjd�}|jtj|�|�tjd�}|jtj|�|�tjd�}|jtj|�|�dS)N���rs.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")���rr)	rrrrrrrrr)�calendarZtimegm�imaplib�Internaldate2tuple�assertEqual�timeZmktime)�selfZt0Ztt�r�6/opt/alt/python36/lib64/python3.6/test/test_imaplib.py�test_Internaldate2tuple s
z#TestImaplib.test_Internaldate2tuplezMST+07MDT,M4.1.0,M10.5.0cCs|jtjd�tjd��dS)Ns.25 (INTERNALDATE "02-Apr-2000 02:30:00 +0000")s.25 (INTERNALDATE "02-Apr-2000 03:30:00 +0000"))ZassertNotEqualrr)rrrr�"test_Internaldate2tuple_issue10941,sz.TestImaplib.test_Internaldate2tuple_issue10941c
Cs*ddtjd�ddtjdttd	d���dgS)Ni�5wge��A�����!�rr��<z"18-May-2033 05:33:20 +0200"rrr)	rrrrr r!rrrrr)	rrrrr r!rrr�xi )rZ	localtimerZ
fromtimestampr
r)rrrr�
timevalues3szTestImaplib.timevalues�LC_ALLZde_DEZfr_FRzSTD-1DST,M3.2.0,M11.1.0cCs0d}x&|j�D]}tj|�}|j||�qWdS)Nz"18-May-2033 05:33:20 +0200")r%r�Time2Internaldater)rZexpected�tZinternalrrr�test_Time2Internaldate;s
z"TestImaplib.test_Time2InternaldatecCs x|j�D]}tj|�q
WdS)N)r%rr')rr(rrr�,test_that_Time2Internaldate_returns_a_resultFsz8TestImaplib.test_that_Time2Internaldate_returns_a_resultc
CsPtjg}ttd�r|jtj�|jt��}tj�WdQRX|j	|j
j|�dS)N�
EADDRNOTAVAIL)�errnoZECONNREFUSED�hasattr�appendr+�assertRaises�OSErrorr�IMAP4�assertInZ	exception)rZexpected_errnos�cmrrr�test_imap4_host_default_valueMs
z)TestImaplib.test_imap4_host_default_valueN)�__name__�
__module__�__qualname__rrrr%r	r)r*r4rrrrrs
rc@seZdZdd�ZdS)�SecureTCPServercCs6|jj�\}}tj�}|jt�|j|dd�}||fS)NT)Zserver_side)�socketZaccept�ssl�
SSLContext�load_cert_chain�CERTFILEZwrap_socket)rZ	newsocketZfromaddr�contextZ
connstreamrrr�get_request^s

zSecureTCPServer.get_requestN)r5r6r7r?rrrrr8\sr8c@seZdZdS)r8N)r5r6r7rrrrr8iscsheZdZdZdZdZ�fdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
dd�Z�ZS)�SimpleIMAPHandlerrN�cst�j�d|j_dS)N)�super�setup�server�logged)r)�	__class__rrrCts
zSimpleIMAPHandler.setupcCs$trtd|j��|jj|�dS)NzSENT: %r)r�print�strip�wfile�write)r�messagerrr�_sendxszSimpleIMAPHandler._sendcCs|j|d�dS)Ns
)rL)rrKrrr�
_send_line}szSimpleIMAPHandler._send_linecCs|j|jd��dS)N�ASCII)rM�encode)rrKrrr�_send_textline�sz SimpleIMAPHandler._send_textlinecCs|jdj|||f��dS)N� )rP�join)r�tag�coderKrrr�_send_tagged�szSimpleIMAPHandler._send_taggedcCs$|jd��xd}xJy$|jjd�}|dkr.dS||7}Wntk
rLdSX|jd�rPqWtrrtd|j��|jr�y|jj	|�Wqt
k
r�d|_YqXq|jd�j�}|d}|d}|dd�}t
|d	|��r
t|d	|�||�}|�r||_t|�q|j|d
|d�qWdS)Nz* OK IMAP4rev1�rs
zGOT: %rrNrr"Zcmd_ZBADz unknown)rPZrfile�readr0�endswithrrGrH�continuation�send�
StopIteration�decode�splitr-�getattr�nextrU)r�line�partZ	splitlinerS�cmd�argsrYrrr�handle�s>


zSimpleIMAPHandler.handlecCs4|jrd|jnd}|jd|�|j|dd�dS)Nz
IMAP4rev1 Z	IMAP4rev1z
* CAPABILITY �OKzCAPABILITY completed)�capabilitiesrPrU)rrSrcZcapsrrr�cmd_CAPABILITY�sz SimpleIMAPHandler.cmd_CAPABILITYcCs$d|j_|jd�|j|dd�dS)Nz"* BYE IMAP4ref1 Server logging outrezLOGOUT completed)rDrErPrU)rrSrcrrr�
cmd_LOGOUT�s
zSimpleIMAPHandler.cmd_LOGOUTcCs|d|j_|j|dd�dS)NrrezLOGIN completed)rDrErU)rrSrcrrr�	cmd_LOGIN�szSimpleIMAPHandler.cmd_LOGIN)r5r6r7ZtimeoutrYrfrCrLrMrPrUrdrgrhri�
__classcell__rr)rFrr@os*r@c@s�eZdZdZd3dd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zejd#d$�d%d&��Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�ZdS)4�NewIMAPTestsMixinNTcCs�Gdd�d|j�}|j|j�|jtjdf|�|_tj|jd|jj	ddid�|_
d|j
_|j
j�|rx|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@seZdZdd�ZdS)z/NewIMAPTestsMixin._setup.<locals>.TestTCPServercSs|j|�|j��dS)zP
                End request and raise the error if one occurs.
                N)�
close_request�server_close)r�request�client_addressrrr�handle_error�s
z<NewIMAPTestsMixin._setup.<locals>.TestTCPServer.handle_errorN)r5r6r7rprrrr�
TestTCPServer�srqrz-server�
poll_intervalg{�G�z�?)�name�target�kwargsT)�server_classZ
addCleanup�_cleanupr�HOSTrDr�ThreadZ_testMethodName�
serve_forever�thread�daemon�start�
imap_class�server_address�client)rZimap_handler�connectrqrrr�_setup�s	
zNewIMAPTestsMixin._setupcCsD|jdk	r |jjdkr |jj�|jj�|jj�|jjd�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�LOGOUTg@)r��state�shutdownrDrmr{rR)rrrrrw�s



zNewIMAPTestsMixin._cleanupcCsBGdd�dtj�}|j|dd�\}}|jtjj|jf|j��dS)Nc@seZdZdd�ZdS)zONewIMAPTestsMixin.test_EOF_without_complete_welcome_message.<locals>.EOFHandlercSs|jjd�dS)Ns* OK)rIrJ)rrrrrd�szVNewIMAPTestsMixin.test_EOF_without_complete_welcome_message.<locals>.EOFHandler.handleN)r5r6r7rdrrrr�
EOFHandler�sr�F)r�)	�socketserver�StreamRequestHandlerr�r/rr1�abortr~r)rr��_rDrrr�)test_EOF_without_complete_welcome_message�sz;NewIMAPTestsMixin.test_EOF_without_complete_welcome_messagecCs@Gdd�dt�}|j|dd�\}}|jtjj|jf|j��dS)Nc@seZdZdd�ZdS)zBNewIMAPTestsMixin.test_line_termination.<locals>.BadNewlineHandlercSs|jd�|j|dd�dS)Ns* CAPABILITY IMAP4rev1 AUTH
rezCAPABILITY completed)rLrU)rrSrcrrrrg�s
zQNewIMAPTestsMixin.test_line_termination.<locals>.BadNewlineHandler.cmd_CAPABILITYN)r5r6r7rgrrrr�BadNewlineHandler�sr�F)r�)r@r�r/rr1r�r~r)rr�r�rDrrr�test_line_termination�sz'NewIMAPTestsMixin.test_line_terminationc	Cs`Gdd�dt�}|j|�\}}|j|j�|jtjjd��|jd�WdQRX|j|j�dS)Nc@seZdZdZdS)zMNewIMAPTestsMixin.test_enable_raises_error_if_not_AUTH.<locals>.EnableHandlerzAUTH ENABLE UTF8=ACCEPTN)r5r6r7rfrrrr�
EnableHandlersr�zENABLE.*NONAUTH�foo)	r@r��assertFalse�utf8_enabled�assertRaisesRegexrr1�error�enable)rr�r�r�rrr�$test_enable_raises_error_if_not_AUTHsz6NewIMAPTestsMixin.test_enable_raises_error_if_not_AUTHc	Cs8|jt�\}}|jtjjd��|jd�WdQRXdS)Nzdoes not support ENABLEr�)r�r@r�rr1r�r�)rr�r�rrr�)test_enable_raises_error_if_no_capabilitys
z;NewIMAPTestsMixin.test_enable_raises_error_if_no_capabilityc	CsT|jt�\}}|jdd�\}}|j|d�|jtjjd��|jd�WdQRXdS)N�user�passrezdoes not support ENABLEzUTF8=ACCEPT)	r�r@�loginrr�rr1r�r�)rr�r��typ�datarrr�.test_enable_UTF8_raises_error_if_not_supporteds
z@NewIMAPTestsMixin.test_enable_UTF8_raises_error_if_not_supportedc	Cs�Gdd�dt�}|j|�\}}|j|jd�|jddd��\}}|j|d�|j|jd�|jd	�\}}|j|d�|j|jd
�d}|jddd|jd
��\}}|j|d�|j|jd|jd
��dS)
Nc@s(eZdZdZdd�Zdd�Zdd�ZdS)	zHNewIMAPTestsMixin.test_enable_UTF8_True_append.<locals>.UTF8AppendServerzENABLE UTF8=ACCEPTcSs|j|dd�dS)NrezENABLE successful)rU)rrSrcrrr�
cmd_ENABLEszSNewIMAPTestsMixin.test_enable_UTF8_True_append.<locals>.UTF8AppendServer.cmd_ENABLEcss&|jd�dV|j_|j|dd�dS)N�+rezFAKEAUTH successful)rPrD�responserU)rrSrcrrr�cmd_AUTHENTICATE!s

zYNewIMAPTestsMixin.test_enable_UTF8_True_append.<locals>.UTF8AppendServer.cmd_AUTHENTICATEcss&|jd�dV|j_|j|dd�dS)Nr�re�okay)rPrDr�rU)rrSrcrrr�
cmd_APPEND%s

zSNewIMAPTestsMixin.test_enable_UTF8_True_append.<locals>.UTF8AppendServer.cmd_APPENDN)r5r6r7rfr�r�r�rrrr�UTF8AppendServersr��ascii�MYAUTHcSsdS)Nsfaker)�xrrr�<lambda>+sz@NewIMAPTestsMixin.test_enable_UTF8_True_append.<locals>.<lambda>res
ZmFrZQ==
zUTF8=ACCEPTzutf-8uSubject: üñí©öðézUTF8 (%s)
)	r@r�r�	_encoding�authenticater�r�r.rO)	rr�r�rDrTr��
msg_stringr�r�rrr�test_enable_UTF8_True_appendsz.NewIMAPTestsMixin.test_enable_UTF8_True_appendc
Cs�Gdd�dt�}|j|�\}}|jddd��\}}|j|d�|jd�\}}|j|d�|j|j�|jtj	j
d��|jd	d
�WdQRXdS)Nc@s eZdZdZdd�Zdd�ZdS)zPNewIMAPTestsMixin.test_search_disallows_charset_in_utf8_mode.<locals>.UTF8ServerzAUTH ENABLE UTF8=ACCEPTcSs|j|dd�dS)NrezENABLE successful)rU)rrSrcrrrr�:sz[NewIMAPTestsMixin.test_search_disallows_charset_in_utf8_mode.<locals>.UTF8Server.cmd_ENABLEcss&|jd�dV|j_|j|dd�dS)Nr�rezFAKEAUTH successful)rPrDr�rU)rrSrcrrrr�<s

zaNewIMAPTestsMixin.test_search_disallows_charset_in_utf8_mode.<locals>.UTF8Server.cmd_AUTHENTICATEN)r5r6r7rfr�r�rrrr�
UTF8Server8sr�r�cSsdS)Nsfaker)r�rrrr�AszNNewIMAPTestsMixin.test_search_disallows_charset_in_utf8_mode.<locals>.<lambda>rezUTF8=ACCEPTz
charset.*UTF8r��bar)r@r�r�rr��
assertTruer�r�rr1r��search)rr�r�r�r�rrr�*test_search_disallows_charset_in_utf8_mode7sz<NewIMAPTestsMixin.test_search_disallows_charset_in_utf8_modecCsNGdd�dt�}|j|�\}}|jtjjd��|jddd��WdQRXdS)Nc@seZdZdd�ZdS)z6NewIMAPTestsMixin.test_bad_auth_name.<locals>.MyServercSs|j|ddj|d��dS)N�NOz#unrecognized authentication type {}r)rU�format)rrSrcrrrr�KszGNewIMAPTestsMixin.test_bad_auth_name.<locals>.MyServer.cmd_AUTHENTICATEN)r5r6r7r�rrrr�MyServerJsr�z'unrecognized authentication type METHOD�METHODcSsdS)Nrrrrrrr�Qsz6NewIMAPTestsMixin.test_bad_auth_name.<locals>.<lambda>)r@r�r�rr1r�r�)rr�r�r�rrr�test_bad_auth_nameIs

z$NewIMAPTestsMixin.test_bad_auth_namecCsNGdd�dt�}|j|�\}}|jtjjd��|jddd��WdQRXdS)Nc@seZdZdd�ZdS)z?NewIMAPTestsMixin.test_invalid_authentication.<locals>.MyServercss$|jd�dV|_|j|dd�dS)Nr�r�z[AUTHENTICATIONFAILED] invalid)rPr�rU)rrSrcrrrr�Us
zPNewIMAPTestsMixin.test_invalid_authentication.<locals>.MyServer.cmd_AUTHENTICATEN)r5r6r7r�rrrrr�Tsr�z \[AUTHENTICATIONFAILED\] invalidr�cSsdS)Nsfaker)r�rrrr�\sz?NewIMAPTestsMixin.test_invalid_authentication.<locals>.<lambda>)r@r�r�rr1r�r�)rr�r�r�rrr�test_invalid_authenticationSs

z-NewIMAPTestsMixin.test_invalid_authenticationcCsPGdd�dt�}|j|�\}}|jddd��\}}|j|d�|j|jd�dS)Nc@seZdZdd�ZdS)zCNewIMAPTestsMixin.test_valid_authentication_bytes.<locals>.MyServercss&|jd�dV|j_|j|dd�dS)Nr�rezFAKEAUTH successful)rPrDr�rU)rrSrcrrrr�`s

zTNewIMAPTestsMixin.test_valid_authentication_bytes.<locals>.MyServer.cmd_AUTHENTICATEN)r5r6r7r�rrrrr�_sr�r�cSsdS)Nsfaker)r�rrrr�eszCNewIMAPTestsMixin.test_valid_authentication_bytes.<locals>.<lambda>res
ZmFrZQ==
)r@r�r�rr�)rr�r�rDrTr�rrr�test_valid_authentication_bytes^s
z1NewIMAPTestsMixin.test_valid_authentication_bytescCsPGdd�dt�}|j|�\}}|jddd��\}}|j|d�|j|jd�dS)Nc@seZdZdd�ZdS)zHNewIMAPTestsMixin.test_valid_authentication_plain_text.<locals>.MyServercss&|jd�dV|j_|j|dd�dS)Nr�rezFAKEAUTH successful)rPrDr�rU)rrSrcrrrr�ks

zYNewIMAPTestsMixin.test_valid_authentication_plain_text.<locals>.MyServer.cmd_AUTHENTICATEN)r5r6r7r�rrrrr�jsr�r�cSsdS)N�faker)r�rrrr�pszHNewIMAPTestsMixin.test_valid_authentication_plain_text.<locals>.<lambda>res
ZmFrZQ==
)r@r�r�rr�)rr�r�rDrTr�rrr�$test_valid_authentication_plain_textis
z6NewIMAPTestsMixin.test_valid_authentication_plain_textcCsNGdd�dt�}|j|�\}}|jd|jk�|jdd�\}}|j|d�dS)Nc@seZdZdZdd�ZdS)z@NewIMAPTestsMixin.test_login_cram_md5_bytes.<locals>.AuthHandlerzLOGINDISABLED AUTH=CRAM-MD5css:|jd�dV}|dkr(|j|dd�n|j|dd�dS)Nz:+ PDE4OTYuNjk3MTcwOTUyQHBvc3RvZmZpY2UucmVzdG9uLm1jaS5uZXQ=s2dGltIGYxY2E2YmU0NjRiOWVmYTFjY2E2ZmZkNmNmMmQ5ZjMy
rezCRAM-MD5 successfulr�z	No access)rPrU)rrSrc�rrrrr�ws

zQNewIMAPTestsMixin.test_login_cram_md5_bytes.<locals>.AuthHandler.cmd_AUTHENTICATEN)r5r6r7rfr�rrrr�AuthHandlerusr�z
AUTH=CRAM-MD5�timstanstaaftanstaafre)r@r�r�rf�login_cram_md5r)rr�r�r��retrrr�test_login_cram_md5_bytests
z+NewIMAPTestsMixin.test_login_cram_md5_bytescCsNGdd�dt�}|j|�\}}|jd|jk�|jdd�\}}|j|d�dS)Nc@seZdZdZdd�ZdS)zENewIMAPTestsMixin.test_login_cram_md5_plain_text.<locals>.AuthHandlerzLOGINDISABLED AUTH=CRAM-MD5css:|jd�dV}|dkr(|j|dd�n|j|dd�dS)Nz:+ PDE4OTYuNjk3MTcwOTUyQHBvc3RvZmZpY2UucmVzdG9uLm1jaS5uZXQ=s2dGltIGYxY2E2YmU0NjRiOWVmYTFjY2E2ZmZkNmNmMmQ5ZjMy
rezCRAM-MD5 successfulr�z	No access)rPrU)rrSrcr�rrrr��s

zVNewIMAPTestsMixin.test_login_cram_md5_plain_text.<locals>.AuthHandler.cmd_AUTHENTICATEN)r5r6r7rfr�rrrrr��sr�z
AUTH=CRAM-MD5r��tanstaaftanstaafre)r@r�r�rfr�r)rr�r�r�r�rrr�test_login_cram_md5_plain_text�s
z0NewIMAPTestsMixin.test_login_cram_md5_plain_textcCsNGdd�dt�}|j|�\}}|jtjjd��|jddd��WdQRXdS)Nc@seZdZdd�ZdS)z?NewIMAPTestsMixin.test_aborted_authentication.<locals>.MyServercss>|jd�dV|_|jdkr,|j|dd�n|j|dd�dS)Nr�s*
r�z[AUTHENTICATIONFAILED] abortedrezMYAUTH successful)rPr�rU)rrSrcrrrr��s

zPNewIMAPTestsMixin.test_aborted_authentication.<locals>.MyServer.cmd_AUTHENTICATEN)r5r6r7r�rrrrr��sr�z \[AUTHENTICATIONFAILED\] abortedr�cSsdS)Nr)r�rrrr��sz?NewIMAPTestsMixin.test_aborted_authentication.<locals>.<lambda>)r@r�r�rr1r�r�)rr�r�r�rrr�test_aborted_authentication�s

z-NewIMAPTestsMixin.test_aborted_authenticationzimaplib._MAXLINE�
c	CsNGdd�dt�}|j|dd�\}}|jtjjd��|j|j�WdQRXdS)Nc@seZdZdd�ZdS)z:NewIMAPTestsMixin.test_linetoolong.<locals>.TooLongHandlercSs|jjd�dS)Ns* OK ��xs
sxxxxxxxxxxxs* OK xxxxxxxxxxxs* OK xxxxxxxxxxx
)rIrJ)rrrrrd�szANewIMAPTestsMixin.test_linetoolong.<locals>.TooLongHandler.handleN)r5r6r7rdrrrr�TooLongHandler�sr�F)r�zgot more than 10 bytes)r@r�r�rr1r�r~r)rr�r�rDrrr�test_linetoolong�s

z"NewIMAPTestsMixin.test_linetoolongc	Cs.|jtdd�\}}|j|j��WdQRXdS)NF)r�)r�r@r~r)rr�rDrrr�test_simple_with_statement�sz,NewIMAPTestsMixin.test_simple_with_statementc
CsT|jtdd�\}}|j|j�� }|jdd�|j|jd�WdQRX|j|j�dS)NF)r�r�r�)r�r@r~rr�rrE�assertIsNone)rr�rD�imaprrr�test_with_statement�s
z%NewIMAPTestsMixin.test_with_statementc
Csh|jtdd�\}}|j|j��4}|jdd�|j|jd�|j�|j|j�WdQRX|j|j�dS)NF)r�r�r�)	r�r@r~rr�rrE�logoutr�)rr�rDr�rrr�test_with_statement_logout�sz,NewIMAPTestsMixin.test_with_statement_logoutcCsL|jt�\}}|jdd�\}}|j|d�|j|dd�|j|jd�dS)Nr�r�rersLOGIN completed�AUTH)r�r@r�rr�)rr�r�r�r�rrr�
test_login�s
zNewIMAPTestsMixin.test_logincCst|jt�\}}|jdd�\}}|j|d�|j|dd�|j�\}}|j|d�|j|dd�|j|jd�dS)	Nr�r�rersLOGIN completed�BYEsIMAP4ref1 Server logging outr�)r�r@r�rr�r�)rr�r�r�r�rrr�test_logout�szNewIMAPTestsMixin.test_logoutcCsVGdd�dt�}|j|�\}}|jdd�|j�\}}|j|d�|j|dd�dS)Nc@seZdZdd�ZdS)z,NewIMAPTestsMixin.test_lsub.<locals>.LsubCmdcSs|jd�|j|dd�S)Nz* LSUB () "." directoryArezLSUB completed)rPrU)rrSrcrrr�cmd_LSUB�s
z5NewIMAPTestsMixin.test_lsub.<locals>.LsubCmd.cmd_LSUBN)r5r6r7r�rrrr�LsubCmd�sr�r�r�rers() "." directoryA)r@r�r�Zlsubr)rr�r�r�r�r�rrr�	test_lsub�szNewIMAPTestsMixin.test_lsub)T)r5r6r7r�r�rwr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�patchr�r�r�r�r�r�r�rrrrrk�s0
!			

rkc@seZdZejZejZdS)�NewIMAPTestsN)	r5r6r7rr1r~r��	TCPServerrvrrrrr��sr�zSSL not availablec@s0eZdZeZeZdd�Zdd�Ze	dd��Z
dS)�NewIMAPSSLTestscCsjtjtj�}tj|_d|_|jt�|jtj	d��.|j
t�\}}|j|j
d|i�}|j�WdQRXdS)NTz.hostname '127.0.0.1' doesn't match 'localhost'�ssl_context)r:r;�PROTOCOL_SSLv23�
CERT_REQUIRED�verify_mode�check_hostname�load_verify_locations�CAFILEr��CertificateErrorr�r@r~rr�)rr�r�rDr�rrr�test_ssl_raises�s

zNewIMAPSSLTests.test_ssl_raisescCsTtjtj�}tj|_d|_|jt�|jt	�\}}|j
d|jd|d�}|j�dS)NT�	localhostr)r�)
r:r;r�r�r�r�r�r�r�r@r~rr�)rr�r�rDr�rrr�test_ssl_verified�s
z!NewIMAPSSLTests.test_ssl_verifiedcCsftjdtf��Ntjj|jd��2tjj|jd��|jddtd�WdQRXWdQRXWdQRXdS)NrA�openZ_connectr��)�certfile)rZcheck_warnings�DeprecationWarningrr��objectr~r=)rrrr�test_certfile_arg_warnsz&NewIMAPSSLTests.test_certfile_arg_warnN)r5r6r7�	IMAP4_SSLr~r8rvr�r�r
r�rrrrr��s


r�c@s$eZdZejZejZdd�Z	dd�Z
edd��Zedd��Z
ed	d
��Zedd��Zed
d��Zedd��ZGdd�de�Zedd��Zedd��Zedd��Zedd��Zedd��Zedd��Zedd ��Zed!d"��Zed#d$��Zed%d&��Zd'd(�Zed)d*��Z ed+d,��Z!ed-d.��Z"d/S)0�ThreadedNetworkedTestscCs�Gdd�d|j�}trtd�|||�}|j|j|jj��trjtd�td|�td|j�td|j�tj	d|j|j
d	d
id�}d|_|j�tr�td
�||fS)Nc@seZdZdd�ZdS)z4ThreadedNetworkedTests.make_server.<locals>.MyServercSs|j|�|j��dS)N)rlrm)rrnrorrrrps
zAThreadedNetworkedTests.make_server.<locals>.MyServer.handle_errorN)r5r6r7rprrrrr�sr�zcreating serverzserver createdzADDR =zCLASS =zHDLR =z
%s servingrrg{�G�z�?)rsrtruTzserver running)
rvrrGrrr9ZgetsocknameZRequestHandlerClassrryrzr|r})rZaddr�hdlrr�rDr(rrr�make_servers&

z"ThreadedNetworkedTests.make_servercCs4trtd�|j�|j�|j�tr0td�dS)Nzwaiting for server�done)rrGr�rmrR)rrDr{rrr�reap_server6sz"ThreadedNetworkedTests.reap_serverccs4|jtjdf|�\}}z
|VWd|j||�XdS)Nr)r�rrxr�)rr�rDr{rrr�
reaped_server?s
z$ThreadedNetworkedTests.reaped_serverccs@|j|��,}|j|j�}z||fVWd|j�XWdQRXdS)N)r�r~rr�)rr�rDr�rrr�reaped_pairGs
z"ThreadedNetworkedTests.reaped_pairc	Cs.|jt��}|j|j�}|j�WdQRXdS)N)r�r@r~rr�)rrDr�rrr�test_connectPsz#ThreadedNetworkedTests.test_connectcCs�Gdd�dt�}|j|���\}}|jddd��\}}|j|d�|j|jd�|jd�|jd	d
d�\}\}|jd|�|jd�|jd
�\}\}|jd|�WdQRXdS)Ncs4eZdZ�fdd�Zdd�Zdd�Zdd�Z�ZS)	zEThreadedNetworkedTests.test_bracket_flags.<locals>.BracketFlagHandlercsdddddg|_t�j�dS)NZAnsweredZFlaggedZDeletedZSeenZDraft)�flagsrBrd)r)rFrrrdaszLThreadedNetworkedTests.test_bracket_flags.<locals>.BracketFlagHandler.handlecss&|jd�dV|j_|j|dd�dS)Nr�rezFAKEAUTH successful)rPrDr�rU)rrSrcrrrr�es

zVThreadedNetworkedTests.test_bracket_flags.<locals>.BracketFlagHandler.cmd_AUTHENTICATEcSs^dj|j�}|jd|jd��|jd�|jd�d|}|j|jd��|j|dd�dS)	Nz \z* FLAGS (%s)r�s
* 2 EXISTSs
* 0 RECENTz-* OK [PERMANENTFLAGS %s \*)] Flags permitted.rez[READ-WRITE] SELECT completed.)rRr�rMrOrU)rrSrcZflag_msg�msgrrr�
cmd_SELECTjs

zPThreadedNetworkedTests.test_bracket_flags.<locals>.BracketFlagHandler.cmd_SELECTcSsf|djd�jd�j�}|jj|�ddj|j�}d|d|f}|j|jd��|j|d	d
�dS)Nr"�(�)z(FLAGS (%s))z \z
* %s FETCH %srr�rezSTORE completed.)rHr]r��extendrRrMrOrU)rrSrcZ	new_flagsZ	flags_msgr�rrr�	cmd_STOREtszOThreadedNetworkedTests.test_bracket_flags.<locals>.BracketFlagHandler.cmd_STORE)r5r6r7rdr�r�r�rjrr)rFr�BracketFlagHandler_s
r�r�cSsdS)Nsfaker)r�rrrr�}sz;ThreadedNetworkedTests.test_bracket_flags.<locals>.<lambda>res
ZmFrZQ==
�test�1z+FLAGSz[test]s[test]ZPERMANENTFLAGS)r@r�r�rr�ZselectZstorer2)rr�rDr�rTr�r�rrr�test_bracket_flagsVs	

z)ThreadedNetworkedTests.test_bracket_flagsc
CsFGdd�dtj�}|j|�� }|jtjj|jf|j��WdQRXdS)Nc@seZdZdd�ZdS)z9ThreadedNetworkedTests.test_issue5949.<locals>.EOFHandlercSs|jjd�dS)Ns* OK)rIrJ)rrrrrd�sz@ThreadedNetworkedTests.test_issue5949.<locals>.EOFHandler.handleN)r5r6r7rdrrrrr��sr�)	r�r�r�r/rr1r�r~r)rr�rDrrr�test_issue5949�s
z%ThreadedNetworkedTests.test_issue5949c
CsDGdd�dt�}|j|�� }|jtjj|jf|j��WdQRXdS)Nc@seZdZdd�ZdS)zGThreadedNetworkedTests.test_line_termination.<locals>.BadNewlineHandlercSs|jd�|j|dd�dS)Ns* CAPABILITY IMAP4rev1 AUTH
rezCAPABILITY completed)rLrU)rrSrcrrrrg�s
zVThreadedNetworkedTests.test_line_termination.<locals>.BadNewlineHandler.cmd_CAPABILITYN)r5r6r7rgrrrrr��sr�)r@r�r/rr1r�r~r)rr�rDrrrr��s
z,ThreadedNetworkedTests.test_line_terminationc@s eZdZdZdd�Zdd�ZdS)z!ThreadedNetworkedTests.UTF8ServerzAUTH ENABLE UTF8=ACCEPTcCs|j|dd�dS)NrezENABLE successful)rU)rrSrcrrrr��sz,ThreadedNetworkedTests.UTF8Server.cmd_ENABLEccs&|jd�dV|j_|j|dd�dS)Nr�rezFAKEAUTH successful)rPrDr�rU)rrSrcrrrr��s

z2ThreadedNetworkedTests.UTF8Server.cmd_AUTHENTICATEN)r5r6r7rfr�r�rrrrr��sr�cCsL|j|j��6\}}|j|j�|jtjj|jd�|j|j�WdQRXdS)Nr�)	r�r�r�r�r/rr1r�r�)rrDr�rrrr��sz;ThreadedNetworkedTests.test_enable_raises_error_if_not_AUTHcCsDGdd�d|j�}|j|��\}}|jtjj|jd�WdQRXdS)Nc@seZdZdZdS)zXThreadedNetworkedTests.test_enable_raises_error_if_no_capability.<locals>.NoEnableServerr�N)r5r6r7rfrrrr�NoEnableServer�sr�r�)r�r�r/rr1r�r�)rr�rDr�rrrr��sz@ThreadedNetworkedTests.test_enable_raises_error_if_no_capabilitycCsnGdd�dt�}|jtjj��F|j|��0\}}|jdd�\}}|j|d�|jd�WdQRXWdQRXdS)Nc@seZdZdS)z\ThreadedNetworkedTests.test_enable_UTF8_raises_error_if_not_supported.<locals>.NonUTF8ServerN)r5r6r7rrrr�
NonUTF8Server�srr�r�rezUTF8=ACCEPT)	r@r/rr1r�r�r�rr�)rrrDr�r�r�rrrr��s
zEThreadedNetworkedTests.test_enable_UTF8_raises_error_if_not_supportedc	
Cs�Gdd�d|j�}|j|���\}}|j|jd�|jddd��\}}|j|d�|j|jd�|jd	�\}}|j|d�|j|jd
�d}|jddd|jd
��\}}|j|d�|j|jd|jd
��WdQRXdS)
Nc@seZdZdd�ZdS)zMThreadedNetworkedTests.test_enable_UTF8_True_append.<locals>.UTF8AppendServercss&|jd�dV|j_|j|dd�dS)Nr�rer�)rPrDr�rU)rrSrcrrrr��s

zXThreadedNetworkedTests.test_enable_UTF8_True_append.<locals>.UTF8AppendServer.cmd_APPENDN)r5r6r7r�rrrrr��sr�r�r�cSsdS)Nsfaker)r�rrrr��szEThreadedNetworkedTests.test_enable_UTF8_True_append.<locals>.<lambda>res
ZmFrZQ==
zUTF8=ACCEPTzutf-8uSubject: üñí©öðézUTF8 (%s)
)	r�r�rr�r�r�r�r.rO)	rr�rDr�rTr�r�r�r�rrrr��s"z3ThreadedNetworkedTests.test_enable_UTF8_True_appendcCs||j|j��f\}}|jddd��\}}|j|d�|jd�\}}|j|d�|j|j�|jtj	j
|jdd�WdQRXdS)Nr�cSsdS)Nsfaker)r�rrrr��szSThreadedNetworkedTests.test_search_disallows_charset_in_utf8_mode.<locals>.<lambda>rezUTF8=ACCEPTr�r�)r�r�r�rr�r�r�r/rr1r�r�)rrDr�r�r�rrrr��szAThreadedNetworkedTests.test_search_disallows_charset_in_utf8_modecCsXGdd�dt�}|j|��4\}}|jtjj��|jddd��WdQRXWdQRXdS)Nc@seZdZdd�ZdS)z;ThreadedNetworkedTests.test_bad_auth_name.<locals>.MyServercSs|j|ddj|d��dS)Nr�z#unrecognized authentication type {}r)rUr�)rrSrcrrrr��szLThreadedNetworkedTests.test_bad_auth_name.<locals>.MyServer.cmd_AUTHENTICATEN)r5r6r7r�rrrrr��sr�r�cSsdS)Nrrrrrrr��sz;ThreadedNetworkedTests.test_bad_auth_name.<locals>.<lambda>)r@r�r/rr1r�r�)rr�rDr�rrrr��sz)ThreadedNetworkedTests.test_bad_auth_namecCs\Gdd�dt�}|j|��8\}}|jtjj��|jddd��\}}WdQRXWdQRXdS)Nc@seZdZdd�ZdS)zDThreadedNetworkedTests.test_invalid_authentication.<locals>.MyServercss$|jd�dV|_|j|dd�dS)Nr�r�z[AUTHENTICATIONFAILED] invalid)rPr�rU)rrSrcrrrr�s
zUThreadedNetworkedTests.test_invalid_authentication.<locals>.MyServer.cmd_AUTHENTICATEN)r5r6r7r�rrrrr��sr�r�cSsdS)Nsfaker)r�rrrr�szDThreadedNetworkedTests.test_invalid_authentication.<locals>.<lambda>)r@r�r/rr1r�r�)rr�rDr�rTr�rrrr��sz2ThreadedNetworkedTests.test_invalid_authenticationcCs�Gdd�dt�}|j|��8\}}|jddd��\}}|j|d�|j|jd�WdQRX|j|��8\}}|jddd��\}}|j|d�|j|jd�WdQRXdS)	Nc@seZdZdd�ZdS)zBThreadedNetworkedTests.test_valid_authentication.<locals>.MyServercss&|jd�dV|j_|j|dd�dS)Nr�rezFAKEAUTH successful)rPrDr�rU)rrSrcrrrr�s

zSThreadedNetworkedTests.test_valid_authentication.<locals>.MyServer.cmd_AUTHENTICATEN)r5r6r7r�rrrrr�sr�r�cSsdS)Nsfaker)r�rrrr�szBThreadedNetworkedTests.test_valid_authentication.<locals>.<lambda>res
ZmFrZQ==
cSsdS)Nr�r)r�rrrr�s)r@r�r�rr�)rr�rDr�rTr�rrr�test_valid_authentication	sz0ThreadedNetworkedTests.test_valid_authenticationcCs�Gdd�dt�}|j|��6\}}|jd|jk�|jdd�\}}|j|d�WdQRX|j|��6\}}|jd|jk�|jdd�\}}|j|d�WdQRXdS)Nc@seZdZdZdd�ZdS)z?ThreadedNetworkedTests.test_login_cram_md5.<locals>.AuthHandlerzLOGINDISABLED AUTH=CRAM-MD5css:|jd�dV}|dkr(|j|dd�n|j|dd�dS)Nz:+ PDE4OTYuNjk3MTcwOTUyQHBvc3RvZmZpY2UucmVzdG9uLm1jaS5uZXQ=s2dGltIGYxY2E2YmU0NjRiOWVmYTFjY2E2ZmZkNmNmMmQ5ZjMy
rezCRAM-MD5 successfulr�z	No access)rPrU)rrSrcr�rrrr�&s

zPThreadedNetworkedTests.test_login_cram_md5.<locals>.AuthHandler.cmd_AUTHENTICATEN)r5r6r7rfr�rrrrr�"sr�z
AUTH=CRAM-MD5r�r�restanstaaftanstaaf)r@r�r�rfr�r)rr�rDr�r�r�rrr�test_login_cram_md5sz*ThreadedNetworkedTests.test_login_cram_md5cCs\Gdd�dt�}|j|��8\}}|jtjj��|jddd��\}}WdQRXWdQRXdS)Nc@seZdZdd�ZdS)zDThreadedNetworkedTests.test_aborted_authentication.<locals>.MyServercss>|jd�dV|_|jdkr,|j|dd�n|j|dd�dS)Nr�s*
r�z[AUTHENTICATIONFAILED] abortedrezMYAUTH successful)rPr�rU)rrSrcrrrr�@s


zUThreadedNetworkedTests.test_aborted_authentication.<locals>.MyServer.cmd_AUTHENTICATEN)r5r6r7r�rrrrr�>sr�r�cSsdS)Nr)r�rrrr�KszDThreadedNetworkedTests.test_aborted_authentication.<locals>.<lambda>)r@r�r/rr1r�r�)rr�rDr�rTr�rrrr�;sz2ThreadedNetworkedTests.test_aborted_authenticationc
CsDGdd�dt�}|j|�� }|jtjj|jf|j��WdQRXdS)Nc@seZdZdd�ZdS)z?ThreadedNetworkedTests.test_linetoolong.<locals>.TooLongHandlercSs|jjdtjdd�dS)Ns* OK r�s
)rIrJrZ_MAXLINE)rrrrrdPszFThreadedNetworkedTests.test_linetoolong.<locals>.TooLongHandler.handleN)r5r6r7rdrrrrr�Osr�)r@r�r/rr1r�r~r)rr�rDrrrr�Ns
z'ThreadedNetworkedTests.test_linetoolongcCs2|jt��}|j|j��WdQRXWdQRXdS)N)r�r@r~r)rrDrrrr�Xsz1ThreadedNetworkedTests.test_simple_with_statementcCsX|jt��D}|j|j�� }|jdd�|j|jd�WdQRX|j|j�WdQRXdS)Nr�r�)r�r@r~rr�rrEr�)rrDr�rrrr�_s
z*ThreadedNetworkedTests.test_with_statementcCsl|jt��X}|j|j��4}|jdd�|j|jd�|j�|j|j�WdQRX|j|j�WdQRXdS)Nr�r�)	r�r@r~rr�rrEr�r�)rrDr�rrrr�gsz1ThreadedNetworkedTests.test_with_statement_logoutN)#r5r6r7r�r�rvrr1r~r�r�rr�r�rr�r�r�r�r@r�r�r�r�r�r�r�r�rrr�r�r�r�r�rrrrr�s2 		1
	


r�c@s eZdZeZeZedd��ZdS)�ThreadedNetworkedTestsSSLcCs�tjtj�}tj|_d|_|jt�|jtj	d��6|j
t�� }|j|j
d|i�}|j�WdQRXWdQRX|j
t��$}|jd|j
d|d�}|j�WdQRXdS)NTz.hostname '127.0.0.1' doesn't match 'localhost'r�r�r)r�)r:r;r�r�r�r�r�r�r�r�r�r@r~rr�)rr�rDr�rrrr�xs

z+ThreadedNetworkedTestsSSL.test_ssl_verifiedN)	r5r6r7r8rvr�r~rr�rrrrrssrZnetworkznetwork resource disabledc@sBeZdZdZdZdZdZejZ	dd�Z
dd�Zd	d
�Zdd�Z
d
S)�RemoteIMAPTestzcyrus.andrew.cmu.edur�Z	anonymousr�c
Cs,t|j��|j|j|j�|_WdQRXdS)N)r�hostr~�portrD)rrrr�setUp�szRemoteIMAPTest.setUpc	Cs.|jdk	r*t|j��|jj�WdQRXdS)N)rDrrr�)rrrr�tearDown�s
zRemoteIMAPTest.tearDowncCszt|j��fx|jjD]}|j|t�qW|jd|jj�|jd|jj�|jj|j|j	�}|j
|dd�WdQRXdS)N�
LOGINDISABLEDzAUTH=ANONYMOUSrre)rrrDrf�assertIsInstance�strr2r��username�passwordr)r�cap�rsrrr�test_logincapa�szRemoteIMAPTest.test_logincapac
Cs:t|j��&|jj�}d|_|j|dd�WdQRXdS)Nrr�)rrrDr�r)rrrrrr��s
zRemoteIMAPTest.test_logoutN)r5r6r7rrrr
rr1r~rrrr�rrrrr�s	rcs$eZdZ�fdd�Zdd�Z�ZS)�RemoteIMAP_STARTTLSTestc
s>t�j�t|j�� |jj�}|j|dd�WdQRXdS)Nrre)rBrrrrDZstarttlsr)rr)rFrrr�s

zRemoteIMAP_STARTTLSTest.setUpcCs2x|jjD]}|j|t�q
W|jd|jj�dS)Nr	)rDrfr
r�assertNotIn)rrrrrr�sz&RemoteIMAP_STARTTLSTest.test_logincapa)r5r6r7rrrjrr)rFrr�src@sTeZdZdZeZdd�Zdd�Zdd�Zdd	�Z	d
d�Z
dd
�Zdd�Zdd�Z
dS)�RemoteIMAP_SSLTesti�cCsdS)Nr)rrrrr�szRemoteIMAP_SSLTest.setUpcCsdS)Nr)rrrrr�szRemoteIMAP_SSLTest.tearDowncCstjtj�}|jt�|S)N)r:r;r�r<r=)rr�rrr�create_ssl_context�s
z%RemoteIMAP_SSLTest.create_ssl_contextc
Cslz\x|jD]}|j|t�q
W|jd|j�|jd|j�|j|j|j�}|j|dd�Wd|j	�XdS)Nr	z
AUTH=PLAINrre)
rfr
rrr2r�rr
rr�)rrDrrrrr�check_logincapa�sz"RemoteIMAP_SSLTest.check_logincapac
Cs4t|j�� |j|j|j�}|j|�WdQRXdS)N)rrr~rr)r�_serverrrrr�sz!RemoteIMAP_SSLTest.test_logincapac
CsBt|j��.|j|j|j�}|j�}|j|dd�WdQRXdS)Nrr�)rrr~rr�r)rrrrrrr��szRemoteIMAP_SSLTest.test_logoutcCs:t|j��&|jt|j|j|jt|j�d�WdQRXdS)N)r�r�)rrr/�
ValueErrorr~rr=r)rrrr�#test_ssl_context_certfile_exclusive�sz6RemoteIMAP_SSLTest.test_ssl_context_certfile_exclusivecCs:t|j��&|jt|j|j|jt|j�d�WdQRXdS)N)Zkeyfiler�)rrr/rr~rr=r)rrrr�"test_ssl_context_keyfile_exclusive�sz5RemoteIMAP_SSLTest.test_ssl_context_keyfile_exclusiveN)r5r6r7rr�r~rrrrrr�rrrrrrr�sr�__main__)6r�r�
import_moduler�
contextlibrr,rZos.path�osr�rr�inspectZtest.supportrrrrr	r
Zunittestrrr
rr:�ImportError�pathrR�dirname�__file__�curdirr=r�ZTestCaserr�r8r�r�r@rkr�Z
skipUnlessr�r�rZis_resource_enabledrrrr5�mainrrrr�<module>s`
 
=	R(%c
 

2


Youez - 2016 - github.com/yon3zu
LinuXploit