python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_poplib.cpython-311.opt-2.pyc

e|Fv	ddlZddlZddlZddlZddlZddlZddlmZmZddlm	Z
ddlmZddlm
Z
ddlmZddlmZejdZejd	Ze
jd
e
jZdZdZeed
r|ddlZd
ZejejepejddZejejepejddZeedZ dZ!dZ"Gddej#Z$Gddej%ej&Z'GddeZ(erddl)m*Z*Gdde*e$Z+e Gdde(Z,e Gdd e(Z-Gd!d"eZ.d#Z/e0d$krej1dSdS)%N)TestCase
skipUnless)support)hashlib_helper)
socket_helper)threading_helper)warnings_helperasynchatasyncoreT)moduleFPOP3_SSLcertdataz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
.
ceZdZgdgdZdZdZdZdZdZdZ	d	Z
d
ZdZdZ
d
ZeZdZeZdZdZdZdZdZdZdZdZerdZdZdZdSdS)DummyPOP3Handlerzpython-testlib-pop-server)UIDLIMPLEMENTATIONFctj|||dg|_|dd|_d|_dS)N
(+OK dummy pop3 server ready. <timestamp>F)r

async_chat__init__set_terminator	in_bufferpush
tls_activetls_startingselfconns  D/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_poplib.pyrzDummyPOP3Handler.__init__:s^$$T4000G$$$		<===!c:|j|dSN)rappendrdatas  r collect_incoming_dataz&DummyPOP3Handler.collect_incoming_dataBsd#####r!cd|j}t|d}g|_|dd}|d}|dkr||dzd}nd}t
|d|zr t|d|z}||dS|d	|zdS)
Nr!
ISO-8859-1 rcmd_z$-ERR unrecognized POP3 command "%s".)	joinrstrsplitlowerfindhasattrgetattrr)rlinecmdspaceargmethods      r found_terminatorz!DummyPOP3Handler.found_terminatorEsxx''4&&jjooa &&((		#B;;uqyzz"CCC4#&&	CT6C<00FF3KKKKKII<cABBBBBr!cr#rs r handle_errorzDummyPOP3Handler.handle_errorU
r!crtj||ddzdS)Nr)r)r
rrencoder%s  r rzDummyPOP3Handler.pushXs2  t{{<'@'@7'JKKKKKr!c0||dSr#rrr9s  r cmd_echozDummyPOP3Handler.cmd_echo[s		#r!cf|dkr|d|ddS)Nguidoz-ERR no such userz+OK password requiredrDrEs  r cmd_userzDummyPOP3Handler.cmd_user_s7'>>II)***		)*****r!cf|dkr|d|ddS)Npythonz-ERR wrong passwordz+OK 10 messagesrDrEs  r cmd_passzDummyPOP3Handler.cmd_passds7(??II+,,,		#$$$$$r!c0|ddS)Nz
+OK 10 100rDrEs  r cmd_statzDummyPOP3Handler.cmd_statis		,r!c|r|d|d|dS|dtj|tdS)Nz+OK r*z+OK)rr
r	LIST_RESPrEs  r cmd_listzDummyPOP3Handler.cmd_listls`	6IIISSS##./////IIe$$T955555r!c|dttztj|tdS)Nz+OK %s bytes)rlen	RETR_RESPr
rrEs  r cmd_retrzDummyPOP3Handler.cmd_retrus>		.#i..0111  y11111r!c0|ddS)Nz +OK message marked for deletion.rDrEs  r cmd_delezDummyPOP3Handler.cmd_dele{s		455555r!c0|ddSNz+OK done nothing.rDrEs  r cmd_noopzDummyPOP3Handler.cmd_noop~		%&&&&&r!c0|ddSrYrDrEs  r cmd_rpopzDummyPOP3Handler.cmd_rpopr[r!c0|ddSrYrDrEs  r cmd_apopzDummyPOP3Handler.cmd_apopr[r!cX|d|dS)Nz+OK closing.)rclose_when_donerEs  r cmd_quitzDummyPOP3Handler.cmd_quits,		.!!!r!cTt|j}|jstrg|d<|SNSTLS)dictCAPASrSUPPORTS_SSL)r_capass  r 
_get_capaszDummyPOP3Handler._get_capass0dj!!	 <	 F6N
r!c^|d|rn|D]G\}}|g}|r|||d|H|ddS)Nz+OK Capability list followsr*.)rrjitemsextendr/)rr9capparams_lns     r cmd_capazDummyPOP3Handler.cmd_capas		/000??	)#006688
)
)Ve'JJv&&&		#((3--((((		#r!cB||jrdnddS)Nz+OK I know RFC6856z-ERR What is UTF8?!)renable_UTF8rEs  r cmd_utf8zDummyPOP3Handler.cmd_utf8s6		%-&&,	.	.	.	.	.r!c|jdur|dtjtj}|t||jddd}|	|
|d|_d|_g|_|
dS|ddS)NFz+OK Begin TLS negotiationT)server_sidedo_handshake_on_connectsuppress_ragged_eofsz*-ERR Command not permitted when TLS active)rrssl
SSLContextPROTOCOL_TLS_SERVERload_cert_chainCERTFILEwrap_socketsocketdel_channel
set_socketrr_do_tls_handshake)rr9contexttls_socks    r cmd_stlszDummyPOP3Handler.cmd_stlss%''		5666.)@AA''111"..t{;?GLDI/KK  """)))"&$(!!#&&(((((		FGGGGGr!c@	|jd|_d|_dS#tj$r}|jdtjtjfvrYd}~dS|jdtj	kr|
cYd}~Sd|jdvsd|jdvr|
cYd}~Sd}~wt$r?}|jdtj
kr|
cYd}~SYd}~dSd}~wwxYw)NTFrSSLV3_ALERT_BAD_CERTIFICATEr,SSLV3_ALERT_CERTIFICATE_UNKNOWN)rdo_handshakerrrzSSLErrorargsSSL_ERROR_WANT_READSSL_ERROR_WANT_WRITE
SSL_ERROR_EOFhandle_closeOSErrorerrnoECONNABORTED)rerrs  r rz"DummyPOP3Handler._do_tls_handshakes_
*((*** #'$)!!!!<





8A;3#:#&#;#===FFFFFXa[C$555,,........3sx{BB738A;FF,,........
/
/
/8A;%"444,,........544444
/sD+D%C%.CD1C
DC
D.DDDc|jr|dS	tj|dS#t
j$r|YdSwxYwr#)rrr
rhandle_readrzSSLEOFErrorrr>s r rzDummyPOP3Handler.handle_reads 
(&&(((((('33D99999(((%%''''''(sA#A'&A'N)__name__
__module____qualname__rgrtrr'r;r?rrFrIrLrNrQcmd_uidlrUcmd_toprWrZr]r_rbrjrrrurhrrrr=r!r rr5s,G+HIIEK"""$$$CCC LLL+++
%%%
   666H222G666'''''''''...
0(	H	H	H$	*	*	**	(	(	(	(	(S0(0(r!rcTeZdZeZejfdZdZdZ	dZ
dZdZeZ
dZdZd	S)
DummyPOP3Serverctj|tj|d|_||tj|	||
dd|_tj|_
|jdd\|_|_d|_dS)NTF)	threadingThreadrr
dispatcherdaemon
create_socketrSOCK_STREAMbindlistenactiveLockactive_lockgetsocknamehostporthandler_instance)raddressafs   r rzDummyPOP3Server.__init__s!!$'''$$T***2v1222		'A$>++#{6688!<	49 $r!ctj|_tj||jdSr#)rEvent_DummyPOP3Server__flagrstartwaitr>s r rzDummyPOP3Server.startsBo''t$$$r!cd|_|j	|jrZtjrN|j5tdddddn#1swxYwY|jrtjNtddS#tdwxYw)NTg?r,)timeoutcount)
ignore_all)rrsetr
socket_maprloop	close_allr>s r runzDummyPOP3Server.runs	0+
8("5
8%88MM#QM777888888888888888+
8("5
8
$/////H$////s.B A%B %A))B ,A)-B  B=c<d|_|dSNF)rr/r>s r stopzDummyPOP3Server.stops		r!c:|||_dSr#)handlerr)rraddrs   r handle_acceptedzDummyPOP3Server.handle_accepteds $T 2 2r!c.|dSr#)closer>s r handle_connectzDummyPOP3Server.handle_connects

r!cdS)Nrr=r>s r writablezDummyPOP3Server.writablesqr!cr#r=r>s r r?zDummyPOP3Server.handle_errorr@r!N)rrrrrrAF_INETrrrrrrrrr?r=r!r rrsG#)>
%
%
%
%000
333 Kr!rc4eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZejdddZejdddZdZdZdZdZdZdZedZedZedZdS)
TestPOP3ClasscV||ddS)N+OK)
assertTrue
startswithrresps  r assertOKzTestPOP3Class.assertOKs&//00000r!ctttf|_|jtj|jj|jjtj
|_dSNr)rHOSTPORTserverrpoplibPOP3rrtest_supportLOOPBACK_TIMEOUTclientr>s r setUpzTestPOP3Class.setUp	s\%tTl33k$+"2DK4D*6*GIIIr!cx|j|jd|_dSr#)rrrrr>s r tearDownzTestPOP3Class.tearDowns5r!c`||jddS)Ns(+OK dummy pop3 server ready. <timestamp>)assertEqualr
getwelcomer>s r test_getwelcomezTestPOP3Class.test_getwelcomes<//11D	F	F	F	F	Fr!c\|tj|jjddS)Nz	echo -err)assertRaisesrerror_protor	_shortcmdr>s r test_exceptionszTestPOP3Class.test_exceptionss(&,dk.C[QQQQQr!c||jd|tj|jjddS)NrHinvalid)rruserrrrr>s r 	test_userzTestPOP3Class.test_usersJ

dk&&w//000&,dk.>	JJJJJr!c||jd|tj|jjddS)NrKr)rrpass_rrrrr>s r 
test_pass_zTestPOP3Class.test_pass_ sJ

dk''11222&,dk.>	JJJJJr!c`||jddS)N)
d)rrstatr>s r 	test_statzTestPOP3Class.test_stat$s,))++Y77777r!c||jddgddf||jdddS)Nr,)s1 1s2 2s3 3s4 4s5 51sOK 1 1)rrlistrendswithr>s r 	test_listzTestPOP3Class.test_list's|))++ABB/BBB				
((--66yAABBBBBr!ctdgddf}|jd}|||dS)N
+OK 116 bytessFrom: postmaster@python.orgsContent-Type: text/plainsMIME-Version: 1.0sSubject: Dummyr!sline1sline2sline3qfoo)rretrr)rexpectedrs   r 	test_retrzTestPOP3Class.test_retr-sS$888	
ku%%h'''''r!c|tj|jjdtjdzdzzdS)Nzecho +%sra)rrrrr_MAXLINEr>s r test_too_long_linesz!TestPOP3Class.test_too_long_lines6sI&,dk.C$2)=(DE	G	G	G	G	Gr!c`||jddSNr)rrdeler>s r 	test_delezTestPOP3Class.test_dele:*

dk&&u--.....r!c^||jdSr#)rrnoopr>s r 	test_noopzTestPOP3Class.test_noop=s(

dk&&(()))))r!c`||jddSr)rrrpopr>s r 	test_rpopzTestPOP3Class.test_rpop@rr!md5T)opensslcb||jdddS)Nr
dummypassword)rrapopr>s r test_apop_normalzTestPOP3Class.test_apop_normalCs,

dk&&uo>>?????r!cdddzz}tj|jd|5|tj|jjddddddS#1swxYwYdS)Nr<i@Bwelcomer
kb)r	swap_attrrrrrr)revil_welcomes  r test_apop_REDOSzTestPOP3Class.test_apop_REDOSGs0

#DKL
I
I	O	Of0$+2BCNNN	O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	Os-AA"%A"crdgddf}||jdd|dS)Nrrrr,)rrtop)rrs  r test_topzTestPOP3Class.test_topRsN%444	
	
A..99999r!cl|j|jddSr)ruidlr>s r 	test_uidlzTestPOP3Class.test_uidlZs2r!c|d|jj_|tj|jjdSr)rrrtrrrrutf8r>s r test_utf8_raises_if_unsupportedz-TestPOP3Class.test_utf8_raises_if_unsupported^s3*/'&,dk.>?????r!cd|jj_d}|j}|||dS)NTs+OK I know RFC6856)rrrtrr,r)rrresults   r 	test_utf8zTestPOP3Class.test_utf8bsC*.'(!!##*****r!c|j}|d|vdS)Nrrcaparkeysrr3s  r 	test_capazTestPOP3Class.test_capahs;{!!(DIIKK788888r!c|j}||||jj||jjdSr#)rquitrassertIsNonesockfilers  r 	test_quitzTestPOP3Class.test_quitls_{!!$+*+++$+*+++++r!c|j}|d|vdSrdr2r5s  r test_stls_capazTestPOP3Class.test_stls_capars:{!!$))++-.....r!chd}|j}|||dS)N+OK Begin TLS negotiation)rstlsr)rrrs   r 	test_stlszTestPOP3Class.test_stlsws6/{!!x(((((r!c`d}tjtj}|t||jtj||jd|	tj
5|j|}dddn#1swxYwYtjd|jjt"j|_|j|}|||dS)Nr@Tr	localhostr)rzr{PROTOCOL_TLS_CLIENTload_verify_locationsCAFILErverify_mode
CERT_REQUIREDcheck_hostnamerCertificateErrorrrArrrrrr)rrctxrs    r test_stls_contextzTestPOP3Class.test_stls_context}sC/nS455!!&)))#*;<<<+T222


s3
4
4	1	1;##C#00D	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1k+t{/?*6*GIII{,,x(((((sCC	CN)rrrrrrrrrrrrrrrrrrrequires_hashdigestrr$r'r*r-r0r6r<requires_sslr>rBrNr=r!r rrs111IIIFFFRRRKKKKKK888CCC(((GGG///***///(^'t<<<@@=<@(^'t<<<OO=<O:::   @@@+++999,,,//\/))\)
))\)))r!r)
SSLConnectionceZdZdZdS)DummyPOP3_SSLHandlerctj||||dg|_|dd|_d|_dS)NrrTF)	r
rrsecure_connectionrrrrrrs  r rzDummyPOP3_SSLHandler.__init__sp((t444""$$$(((DNII@AAA"DO %Dr!N)rrrrr=r!r rSrSs#	&	&	&	&	&r!rSc0eZdZdZdZdZdZeZdZdS)TestPOP3_SSLClassctttf|_t|j_|jtj|jj	|jj
|_dSr#)rrrrrSrrrr
rrrr>s r rzTestPOP3_SSLClass.setUpsT%tTl332odk&68HIIr!cF|dtjdS)Nr
)assertInr__all__r>s r test__all__zTestPOP3_SSLClass.test__all__s

j&.11111r!c	tjtj}d|_tj|_|ttj	|j
j|j
jt||ttj	|j
j|j
jt||ttj	|j
j|j
jtt||jtj	|j
j|j
j||_||jjtj||jjj|||jddS)NF)keyfiler)certfiler)r^r_rrDr)rzr{rFrK	CERT_NONErIr
ValueErrorrr
rrrr~rr8assertIsInstancer:	SSLSocketassertIsrrrr)rrMs  r test_contextzTestPOP3_SSLClass.test_contexts|nS455"-*fot{7G K,h		M	M	M*fot{7G K,x		N	N	N*fot{7G K,h%-s		<	<	<	
odk&68H03555dk.
>>>

dk&.444((**55f==>>>>>r!cZ|tj|jjdSr#rrrrrAr>s r rBzTestPOP3_SSLClass.test_stls&&,dk.>?????r!c|j}|d|vdSrdrr3assertFalser4r5s  r r>z TestPOP3_SSLClass.test_stls_capas<{!!499;;./////r!N)	rrrrr\rerBrNr>r=r!r rWrWsmJJJ222???&@@@"00000r!rWc*eZdZdZdZdZeZdZdS)TestPOP3_TLSClassctttf|_|jtj|jj|jjtj
|_|jdSr)
rrrrrrrrrrrrrAr>s r rzTestPOP3_TLSClass.setUpsr%tTl33k$+"2DK4D*6*GIIIr!c|jjU|jjI	|jn.#tj$r|jYnwxYw|jd|_dSr#)	rr;r:r8rrrrrr>s r rzTestPOP3_TLSClass.tearDowns;'DK,<,H
$  """"%
$
$
$!!#####	
$
	
s4(AAcZ|tj|jjdSr#rgr>s r rBzTestPOP3_TLSClass.test_stlsrhr!c|j}|d|vdS)NsSTLSrjr5s  r r>z TestPOP3_TLSClass.test_stls_capas<{!!DIIKK/00000r!N)rrrrrrBrNr>r=r!r rmrms[@@@"11111r!rmc2eZdZdZdZdZdZdZdZdS)TestTimeoutsctj|_tjtjtj|_|jdtj	|j|_
tj|j|j|jf|_
d|j
_|j
|jdS)N<)targetrT)rrevtrrrr:
settimeoutr	bind_portrrrthreadrrrr>s r rzTestTimeouts.setUps?$$M&.&2DEE		R   !+DI66	&dk49@UVVV!

r!cF|jd|_dSr#)rzr/r>s r rzTestTimeouts.tearDowns!r!cT||	|\}}|d|n#t
$rYnwxYw|dS#|wxYw)Ns
+ Hola mundo
)rracceptsendrTimeoutError)rrwservrrs     r rzTestTimeouts.servers


				JD$II'(((JJLLLL			D	
JJLLLLLDJJLLLLs*AA+*B+
A85B7A88BB'c|tjtjtj	t
jt|j	}tjdn#tjdwxYw|
|jtj|
dSr#)r9rgetdefaulttimeoutsetdefaulttimeoutrrrrrrrr:
gettimeoutrrpops  r testTimeoutDefaultzTestTimeouts.testTimeoutDefaults&244555 !>???	++dDI..C$T****F$T****,,..0MNNN		sA::Bc|tjtjd	t	jt|jd}tjdn#tjdwxYw||j	|
dS)Nr)r9rrrrrrrr:rrrs  r testTimeoutNonezTestTimeouts.testTimeoutNones&244555 $$$	++dDIt<<<C$T****F$T****#(--//000		s!A22Bctjt|jtj}||jtj|	|
t5tjt|jdddddS#1swxYwYdS)Nrr)rrrrrrrr:rrrrars  r testTimeoutValuezTestTimeouts.testTimeoutValuesk$	<3PQQQ,,..0MNNN		


z
*
*	4	4Kdi3333	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4s"CCCN)	rrrrrrrrrr=r!r rsrssn



44444r!rscdtj}tjtjg|RdSr#)rthreading_setupunittestaddModuleCleanupthreading_cleanup)thread_infos r setUpModuler s3"244K.@O;OOOOOOr!__main__)2rrosrrrrrtestrrtest.supportrrrr	import_deprecatedr
rrequires_working_socketrrrhr4rzpathr/dirname__file__curdirr~rHrPrPrTrrrrrrtest.test_ftplibrQrSrWrmrsrrmainr=r!r <module>rsW$







				))))))))((((((''''''&&&&&&))))))((((((-?,Z88,?,Z88%$D1111
76:^JJJLw||BGOOH55BJP^__H
W\\"'//(33@ry*n
]
]Fz,(;<<
8	
		[([([([([(x*[([([(z00000h)9+;000fD)D)D)D)D)HD)D)D)N&......	&	&	&	&	&}.>	&	&	&&0&0&0&0&0
&0&0&0R11111
111B64646464648646464rPPP
zHMOOOOOr!