Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_poplib.cpython-39.opt-2.pyc

a

��glE�@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlmZm	Z	ddl
mZddl
mZddl
mZejZdZdZeed�r�ddlZdZej�ej�e�p�ejd	�Zej�ej�e�p�ejd
�Ze	ed�ZdZd
ZGdd�dej�Z Gdd�dej!ej"�Z#Gdd�de�Z$e�r>ddl%m&Z&Gdd�de&e �Z'eGdd�de$��Z(eGdd�de$��Z)Gdd�de�Z*dd�Z+e,dk�r�e�-�dS) �N)�TestCase�
skipUnless)�support)�hashlib_helper)�
socket_helperF�POP3_SSLTzkeycert3.pemzpycacert.pemzSSL not supporteds1 1
2 2
3 3
4 4
5 5
.
stFrom: postmaster@python.org
Content-Type: text/plain
MIME-Version: 1.0
Subject: Dummy

line1
line2
line3
.
c@s�eZdZgdgd�ZdZdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZeZdd�ZeZdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zer�d*d+�Zd,d-�Zd.d/�Zd0S)1�DummyPOP3Handlerzpython-testlib-pop-server)ZUIDL�IMPLEMENTATIONFcCs8tj�||�|�d�g|_|�d�d|_d|_dS)N�
�(+OK dummy pop3 server ready. <timestamp>F)�asynchat�
async_chat�__init__�set_terminator�	in_buffer�push�
tls_active�tls_starting��self�conn�r�,/usr/local/lib/python3.9/test/test_poplib.pyr3s

zDummyPOP3Handler.__init__cCs|j�|�dS�N)r�append�r�datarrr�collect_incoming_data;sz&DummyPOP3Handler.collect_incoming_datacCs�d�|j�}t|d�}g|_|�d�d��}|�d�}|dkrR||dd�}nd}t|d|�r|t|d|�}||�n|�d	|�dS)
N��
ISO-8859-1� r�����Zcmd_z$-ERR unrecognized POP3 command "%s".)	�joinr�str�split�lower�find�hasattr�getattrr)r�line�cmd�space�arg�methodrrr�found_terminator>s


z!DummyPOP3Handler.found_terminatorcCs�dSrr�rrrr�handle_errorNszDummyPOP3Handler.handle_errorcCstj�||�d�d�dS)Nrr
)rr
r�encoderrrrrQszDummyPOP3Handler.pushcCs|�|�dSr�r�rr.rrr�cmd_echoTszDummyPOP3Handler.cmd_echocCs |dkr|�d�|�d�dS)N�guidoz-ERR no such userz+OK password requiredr4r5rrr�cmd_userXs
zDummyPOP3Handler.cmd_usercCs |dkr|�d�|�d�dS)N�pythonz-ERR wrong passwordz+OK 10 messagesr4r5rrr�cmd_pass]s
zDummyPOP3Handler.cmd_passcCs|�d�dS)Nz
+OK 10 100r4r5rrr�cmd_statbszDummyPOP3Handler.cmd_statcCs4|r|�d||f�n|�d�tj�|t�dS)Nz	+OK %s %sz+OK)rrr
�	LIST_RESPr5rrr�cmd_listes
zDummyPOP3Handler.cmd_listcCs$|�dtt��tj�|t�dS)Nz+OK %s bytes)r�len�	RETR_RESPrr
r5rrr�cmd_retrnszDummyPOP3Handler.cmd_retrcCs|�d�dS)Nz +OK message marked for deletion.r4r5rrr�cmd_deletszDummyPOP3Handler.cmd_delecCs|�d�dS�Nz+OK done nothing.r4r5rrr�cmd_noopwszDummyPOP3Handler.cmd_noopcCs|�d�dSrBr4r5rrr�cmd_rpopzszDummyPOP3Handler.cmd_rpopcCs|�d�dSrBr4r5rrr�cmd_apop}szDummyPOP3Handler.cmd_apopcCs|�d�|��dS)Nz+OK closing.)rZclose_when_doner5rrr�cmd_quit�s
zDummyPOP3Handler.cmd_quitcCs t|j�}|jstrg|d<|S�NZSTLS)�dict�CAPASr�SUPPORTS_SSL)rZ_capasrrr�
_get_capas�s

zDummyPOP3Handler._get_capascCsZ|�d�|��rL|����D],\}}|g}|r:|�|�|�d�|��q|�d�dS)Nz+OK Capability list followsr �.)rrK�items�extendr$)rr.Zcap�paramsZ_lnrrr�cmd_capa�s

zDummyPOP3Handler.cmd_capacCs|�|jrdnd�dS)Nz+OK I know RFC6856z-ERR What is UTF8?!)r�enable_UTF8r5rrr�cmd_utf8�s
��zDummyPOP3Handler.cmd_utf8cCsv|jdurh|�d�t��}|�t�|j|jdddd�}|��|�	|�d|_d|_
g|_|��n
|�d�dS)NFz+OK Begin TLS negotiationT)Zserver_sideZdo_handshake_on_connectZsuppress_ragged_eofsz*-ERR Command not permitted when TLS active)
rr�ssl�
SSLContextZload_cert_chain�CERTFILEZwrap_socket�socketZdel_channelZ
set_socketrr�_do_tls_handshake)rr.�contextZtls_sockrrr�cmd_stls�s 


�

zDummyPOP3Handler.cmd_stlsc
Csz|j��Wn�tjy�}z�|jdtjtjfvrDWYd}~dS|jdtjkrh|��WYd}~Sd|jdvs�d|jdvr�|��WYd}~S�WYd}~n\d}~0t	y�}z0|jdt
jkr�|��WYd}~SWYd}~nd}~00d|_d|_
dS)NrZSSLV3_ALERT_BAD_CERTIFICATEr"ZSSLV3_ALERT_CERTIFICATE_UNKNOWNTF)rVZdo_handshakerSZSSLError�argsZSSL_ERROR_WANT_READZSSL_ERROR_WANT_WRITEZ
SSL_ERROR_EOF�handle_close�OSError�errnoZECONNABORTEDrr)r�errrrrrW�s&��*z"DummyPOP3Handler._do_tls_handshakecCsB|jr|��n.ztj�|�Wntjy<|��Yn0dSr)rrWrr
�handle_readrSZSSLEOFErrorr[r1rrrr_�s
zDummyPOP3Handler.handle_readN)�__name__�
__module__�__qualname__rIrQrrr0r2rr6r8r:r;r=Zcmd_uidlr@Zcmd_toprArCrDrErFrKrPrRrJrYrWr_rrrrr.s6
rc@sZeZdZeZejfdd�Zdd�Zdd�Z	dd�Z
d	d
�Zdd�ZeZ
d
d�Zdd�ZdS)�DummyPOP3ServercCsttj�|�tj�|�d|_|�|tj�|�	|�|�
d�d|_t��|_
|j��dd�\|_|_d|_dS)NT�F�)�	threading�Threadr�asyncore�
dispatcher�daemonZ
create_socketrV�SOCK_STREAM�bind�listen�active�Lock�active_lock�getsockname�host�port�handler_instance)r�address�afrrrr�s


zDummyPOP3Server.__init__cCs$t��|_tj�|�|j��dSr)rf�Event�_DummyPOP3Server__flagrg�start�waitr1rrrry�s
zDummyPOP3Server.startc	Csvd|_|j��zR|jrTtjrT|j�tjddd�Wd�q1sH0YqWtjdd�ntjdd�0dS)NTg�������?r")�timeout�count)Z
ignore_all)rnrx�setrhZ
socket_maprpZloopZ	close_allr1rrr�run�s
0zDummyPOP3Server.runcCsd|_|��dS�NF)rnr$r1rrr�stop�szDummyPOP3Server.stopcCs|�|�|_dSr)�handlerrt)rr�addrrrr�handle_accepted�szDummyPOP3Server.handle_acceptedcCs|��dSr)�closer1rrr�handle_connect�szDummyPOP3Server.handle_connectcCsdS)Nrrr1rrr�writable�szDummyPOP3Server.writablecCs�dSrrr1rrrr2�szDummyPOP3Server.handle_errorN)r`rarbrr�rV�AF_INETrryr~r�r�r�r_r�r2rrrrrc�s
rcc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zejddd�d d!��Zejddd�d"d#��Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zed0d1��Zed2d3��Zed4d5��Zd6S)7�
TestPOP3ClasscCs|�|�d��dS)N�+OK)�
assertTrue�
startswith�r�resprrr�assertOK�szTestPOP3Class.assertOKcCs8tttf�|_|j��tj|jj|jjt	j
d�|_dS�N�r{)rc�HOST�PORT�serverry�poplib�POP3rrrs�test_support�LOOPBACK_TIMEOUT�clientr1rrr�setUps

�zTestPOP3Class.setUpcCs|j��|j��d|_dSr)r�r�r�r�r1rrr�tearDowns

zTestPOP3Class.tearDowncCs|�|j��d�dS)Ns(+OK dummy pop3 server ready. <timestamp>)�assertEqualr�Z
getwelcomer1rrr�test_getwelcomes�zTestPOP3Class.test_getwelcomecCs|�tj|jjd�dS)Nz	echo -err)�assertRaisesr��error_protor��	_shortcmdr1rrr�test_exceptionsszTestPOP3Class.test_exceptionscCs*|�|j�d��|�tj|jjd�dS)Nr7�invalid)r�r��userr�r�r�r1rrr�	test_userszTestPOP3Class.test_usercCs*|�|j�d��|�tj|jjd�dS)Nr9r�)r�r�Zpass_r�r�r�r�r1rrr�
test_pass_szTestPOP3Class.test_pass_cCs|�|j��d�dS)N)�
�d)r�r��statr1rrr�	test_statszTestPOP3Class.test_statcCs>|�|j��dd�gd�df�|�|j�d��d��dS)Nr")s1 1s2 2s3 3s4 4s5 5��1sOK 1 1)r�r��listr��endswithr1rrr�	test_list s��zTestPOP3Class.test_listcCs*dgd�df}|j�d�}|�||�dS)N�
+OK 116 bytes�sFrom: postmaster@python.orgsContent-Type: text/plainsMIME-Version: 1.0sSubject: Dummyrsline1sline2sline3�q�foo)r�Zretrr�)r�expectedr�rrr�	test_retr&s�zTestPOP3Class.test_retrcCs&|�tj|jjdtjdd�dS)Nzecho +%sr��a)r�r�r�r�r�Z_MAXLINEr1rrr�test_too_long_lines/s�z!TestPOP3Class.test_too_long_linescCs|�|j�d��dS�Nr�)r�r�Zdeler1rrr�	test_dele3szTestPOP3Class.test_delecCs|�|j���dSr)r�r��noopr1rrr�	test_noop6szTestPOP3Class.test_noopcCs|�|j�d��dSr�)r�r�Zrpopr1rrr�	test_rpop9szTestPOP3Class.test_rpop�md5T)ZopensslcCs|�|j�dd��dS)Nr�Z
dummypassword)r�r��apopr1rrr�test_apop_normal<szTestPOP3Class.test_apop_normalcCsVddd}t�|jd|��&|�tj|jjdd�Wd�n1sH0YdS)Nr��<i@BZwelcomer�Zkb)r�Z	swap_attrr�r�r�r�r�)rZevil_welcomerrr�test_apop_REDOS@szTestPOP3Class.test_apop_REDOScCs(dgd�df}|�|j�dd�|�dS)Nr�r�r�r")r�r��top)rr�rrr�test_topKs
�zTestPOP3Class.test_topcCs|j��|j�d�dSr�)r�Zuidlr1rrr�	test_uidlSs
zTestPOP3Class.test_uidlcCs d|jj_|�tj|jj�dSr)r�r�rQr�r�r�r��utf8r1rrr�test_utf8_raises_if_unsupportedWs
z-TestPOP3Class.test_utf8_raises_if_unsupportedcCs(d|jj_d}|j��}|�||�dS)NTs+OK I know RFC6856)r�r�rQr�r�r�)rr��resultrrr�	test_utf8[s

zTestPOP3Class.test_utf8cCs |j��}|�d|��v�dS)Nr	�r��capar��keys�rr�rrr�	test_capaas
zTestPOP3Class.test_capacCs4|j��}|�|�|�|jj�|�|jj�dSr)r��quitr��assertIsNone�sock�filer�rrr�	test_quites

zTestPOP3Class.test_quitcCs |j��}|�d|��v�dSrGr�r�rrr�test_stls_capaks
zTestPOP3Class.test_stls_capacCsd}|j��}|�||�dS)N�+OK Begin TLS negotiation)r��stlsr�)rr�r�rrr�	test_stlsps
zTestPOP3Class.test_stlscCs�d}t�tj�}|�t�|�|jtj�|�|jd�|�	tj
��|jj|d�}Wd�n1sh0Yt
jd|jjtjd�|_|jj|d�}|�||�dS)Nr�T�rX�	localhostr�)rSrT�PROTOCOL_TLS_CLIENTZload_verify_locations�CAFILEr��verify_modeZ
CERT_REQUIRED�check_hostnamer�ZCertificateErrorr�r�r�r�r�rsr�r�)rr��ctxr�rrr�test_stls_contextvs
,�zTestPOP3Class.test_stls_contextN)r`rarbr�r�r�r�r�r�r�r�r�r�r�r�r�r�rZrequires_hashdigestr�r�r�r�r�r�r�r��requires_sslr�r�r�rrrrr��s<	




r�)�
SSLConnectionc@seZdZdd�ZdS)�DummyPOP3_SSLHandlercCs@tj�||�|��|�d�g|_|�d�d|_d|_dS)Nr
rTF)	rr
rZsecure_connectionrrrrrrrrrr�s

zDummyPOP3_SSLHandler.__init__N)r`rarbrrrrrr��sr�c@s8eZdZdd�Zdd�Zdd�Zdd�ZeZd	d
�ZdS)�TestPOP3_SSLClasscCs:tttf�|_t|j_|j��t�|jj	|jj
�|_dSr)rcr�r�r�r�r�ryr�rrrrsr�r1rrrr��s
zTestPOP3_SSLClass.setUpcCs|�dtj�dS)Nr)ZassertInr��__all__r1rrr�test__all__�szTestPOP3_SSLClass.test__all__c	Cs�t�tj�}d|_tj|_|jttj	|j
j|j
jt
|d�|jttj	|j
j|j
jt
|d�|jttj	|j
j|j
jt
t
|d�|j��tj	|j
j|j
j|d�|_|�|jjtj�|�|jjj|�|�|j���d��dS)NF)�keyfilerX)�certfilerX)r�r�rXr�r�)rSrTr�r�Z	CERT_NONEr�r��
ValueErrorr�rr�rrrsrUr�r�ZassertIsInstancer�Z	SSLSocketZassertIsrXr�r�r�)rr�rrr�test_context�s(
�
��
�zTestPOP3_SSLClass.test_contextcCs|�tj|jj�dSr�r�r�r�r�r�r1rrrr��szTestPOP3_SSLClass.test_stlscCs |j��}|�d|��v�dSrG�r�r�ZassertFalser�r�rrrr��s
z TestPOP3_SSLClass.test_stls_capaN)	r`rarbr�r�r�r�r�r�rrrrr��sr�c@s0eZdZdd�Zdd�Zdd�ZeZdd�Zd	S)
�TestPOP3_TLSClasscCsBtttf�|_|j��tj|jj|jjt	j
d�|_|j��dSr�)
rcr�r�r�ryr�r�rrrsr�r�r�r�r1rrrr��s
�zTestPOP3_TLSClass.setUpcCsZ|jjdurF|jjdurFz|j��WntjyD|j��Yn0|j��d|_dSr)	r�r�r�r�r�r�r�r�r�r1rrrr��s
zTestPOP3_TLSClass.tearDowncCs|�tj|jj�dSrr�r1rrrr��szTestPOP3_TLSClass.test_stlscCs |j��}|�d|��v�dS)NsSTLSr�r�rrrr��s
z TestPOP3_TLSClass.test_stls_capaN)r`rarbr�r�r�r�r�rrrrr��s

r�c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TestTimeoutscCspt��|_t�tjtj�|_|j�d�t�	|j�|_
tj|j|j|jfd�|_
d|j
_|j
��|j��dS)N�<)�targetrZT)rfrw�evtrVr�rkr��
settimeoutrZ	bind_portrsrgr��threadrjryrzr1rrrr��s

zTestTimeouts.setUpcCs|j��d|_dSr)r�r$r1rrrr��s
zTestTimeouts.tearDowncCsd|��|��zDz"|��\}}|�d�|��WntjyHYn0W|��n
|��0dS)Ns
+ Hola mundo
)rmr}�accept�sendr�rVr{)rr�Zservrr�rrrr��s
zTestTimeouts.serverc	Csd|�t���t�tj�zt�t|j	�}Wt�d�nt�d�0|�
|j��tj�|�
�dSr)r�rV�getdefaulttimeout�setdefaulttimeoutr�r�r�r�r�rsr�r��
gettimeoutr��r�poprrr�testTimeoutDefault�szTestTimeouts.testTimeoutDefaultc	Csb|�t���t�d�z tjt|jdd�}Wt�d�nt�d�0|�|j�	��|�
�dS)N�r�)r�rVr�r�r�r�r�rsr�r�r�r�rrr�testTimeoutNones
zTestTimeouts.testTimeoutNonecCsptjt|jtjd�}|�|j��tj�|�	�|�
t��"tjt|jdd�Wd�n1sb0YdS)Nr�r)r�r�r�rsr�r�r�r�r�r�r�r�r�rrr�testTimeoutValues
zTestTimeouts.testTimeoutValueN)	r`rarbr�r�r�r�r�r�rrrrr��s


r�cCs t��}tjtjg|�R�dSr)r�Zthreading_setup�unittestZaddModuleCleanupZthreading_cleanup)�thread_inforrr�setUpModulesr��__main__).r�rhrrV�osr]rfr�rr�testrr�Ztest.supportrrr�r�rJr)rS�pathr$�dirname�__file__�curdirrUr�r�r<r?r
rrirgrcr�Ztest.test_ftplibr�r�r�r�r�r�r`�mainrrrr�<module>sL

3)!9


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