HEX
Server: LiteSpeed
System: Linux 112.webhostingindonesia.co.id 5.14.0-570.62.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 10:10:59 EST 2025 x86_64
User: iyfwylsv (10313)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //usr/lib/python3.9/site-packages/fail2ban/tests/__pycache__/sockettestcase.cpython-39.pyc
a

<J��i�@s�dZdZdZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZdd	l
mZmZmZmZmZdd
lmZddlmZddl	m
Z
dd
�ZGdd�de�ZGdd�de
�ZGdd�de
�ZdS)zSteven Hiscocksz"Copyright (c) 2013 Steven Hiscocks�GPL�N�)�LogCaptureTestCase�)�protocol)�asyncore�RequestHandler�loop�AsyncServer�AsyncServerException)�Utils)�CSocketcGstd��dS)N�test unpickle error��	Exception��args�r�A/usr/lib/python3.9/site-packages/fail2ban/tests/sockettestcase.py�TestMsgError,src@s$eZdZedffdd�Zdd�ZdS)�TestMsgrcCs
||_dS�N��unpickle)�selfrrrr�__init__/szTestMsg.__init__cCs|jSrr�rrrr�
__reduce__1szTestMsg.__reduce__N)�__name__�
__module__�__qualname__rrrrrrrr.srcs~eZdZ�fdd�Z�fdd�Zedd��Zddd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Z�ZS)�SocketcsLtt|���t|�|_t�dd�\}}t�|�t�	|�||_
d|_dS)zCall before every test case.z
fail2ban.sockz
f2b-socketN)�superr!�setUpr
�server�tempfile�mkstemp�os�close�remove�	sock_name�serverThread)rZsock_fdr*��	__class__rrr#7s


zSocket.setUpcs*|jr|j��|��tt|���dS)zCall after every test case.N)r+r$�stop�_stopServerThreadr"r!�tearDownrr,rrr0As
zSocket.tearDowncCs|S)z<Test transmitter proceed method which just returns first argr)�messagerrr�proceedHszSocket.proceedFcCsNtj|jj|j|fd�|_}d|_|��|�t�	|jj
tj�
d���|S)N)�targetrT�
)�	threading�Threadr$�startr*r+�daemon�
assertTruer�wait_for�isActive�unittest�F2B�maxWaitTime)r�forcer+rrr�_createServerThreadMs�zSocket._createServerThreadcs,|j�t��fdd�tj�d��d|_dS)Ncs���p��tj�Sr)�is_alive�joinrZDEFAULT_SLEEP_TIMEr�r+rr�<lambda>Ys
z*Socket._stopServerThread.<locals>.<lambda>r4)r+rr:r<r=r>rrrCrr/Vs

�zSocket._stopServerThreadcCsZ|��}|j��|��|�|���|j��|�|j���|�tj	�
|j��dSr)r@r$r(r/�assertFalserAr.r;r'�path�existsr*�rr+rrr�testStopPerCloseUnexpected]s

z!Socket.testStopPerCloseUnexpectedc
Cs8zt|j�WSty2}zWYd}~dSd}~00dSr)r
r*r)r�errr�
_serverSocketjszSocket._serverSocketcCs�|��}t�|jd�}gd�}|�|�|�|�|�|�t�gg�d�|jdddd�|�|�|�|�|��|��|j	�
�t�|jd�}|�|�|�dg�|j	��|��|�
|���|�
|j	���|�
tj�|j��dS)	Nr��A�testr1�ERROR: test unpickle errorz!PROTO-error: load message failed:rT��allZSHUTDOWN)r@rr:rK�assertEqual�sendr�assertLoggedr(r$Zstop_communicationr.r/rErAr;r'rFrGr*)rr+�client�testMessagerrr�
testSocketps"

zSocket.testSocketcsh|��}t�|jd��dddtjjgg�tj}z,dd�t_|�	t
d��fdd��W|t_n|t_0dS)	NrrMrNr1cSs|��Sr)r(rrrrrD��z0Socket.testSocketConnectBroken.<locals>.<lambda>zreset by peer|Broken pipecs�j�tj�d�d�S)Nr4)�timeout)rSr<r=r>r�rUrVrrrD�rX)r@rr:rKrZCSPROTOZENDr�found_terminatorZassertRaisesRegexr)rr+�org_handlerrrZr�testSocketConnectBroken�s
�zSocket.testSocketConnectBrokencCs�|��}t�|jd�}gd�}|�|�|�|�tj}z&dd�t_|�|�|�d�W|t_n|t_0|jdddd	�|j	�
�|��|�|�
��dS)
NrrLcSst�Sr)rrrrrrD�rXz.Socket.testStopByCommunicate.<locals>.<lambda>rOzUnexpected communication errorrTrP)r@rr:rKrRrSrr[rTr$r.r/rErA)rr+rUrVr\rrr�testStopByCommunicate�s

zSocket.testStopByCommunicatecsttj�ddi���fdd�}z:|t_|��}|�t��fdd�tj�d���W�t_n�t_0|j	dd	d
d�dS)N�cntrrcs,�dd7<�ddkr$td���|�S)Nr_r�2ztest errors in poll)�RuntimeErrorr��errZorg_pollrr�_produce_error�sz-Socket.testLoopErrors.<locals>._produce_errorcs�ddkS)Nr_r`rr)rcrrrD�rXz'Socket.testLoopErrors.<locals>.<lambda>r4z1Server connection was closed: test errors in poll�0Too many errors - stop logging connection errorsTrP)
r�pollr@r9rr:r<r=r>rT)rrdr+rrbr�testLoopErrors�s$�zSocket.testLoopErrorscCsxt|jd���|�t|jj|jd�|�d�}|j��|�	�|�
|���|�
|j���|�
t
j�|j��dS)N�wFT)�openr*r(ZassertRaisesrr$r7r@r.r/rErAr;r'rFrGrHrrr�testSocketForce�s�

zSocket.testSocketForce)F)rrr r#r0�staticmethodr2r@r/rIrKrWr]r^rgrj�
__classcell__rrr,rr!5s


	
!r!c@seZdZdd�Zdd�ZdS)�
ClientMisccs^ddi��fdd�}�fdd�}t||d�|jdd	d
dd�|�d
�|jddddd�dS)Nr_rcs�ddkS)Nr_�(rr�Zphaserr�_active�sz,ClientMisc.testErrorsInLoop.<locals>._activecs$�dd7<td�d��dS)Nr_rz	test *%d*rrrorr�_poll�sz*ClientMisc.testErrorsInLoop.<locals>._poll)Zuse_pollztest *1*z	test *10*z	test *20*TrPrez	test *21*z	test *22*z	test *23*)r	rTZassertNotLogged)rrprqrror�testErrorsInLoop�s
zClientMisc.testErrorsInLoopcCs<tj}ttjd�t_zt��t��W|t_n|t_0dS)Nrh)�sys�stdoutrir'�devnullrZprintFormattedZ	printWiki)rZsaved_stdoutrrr�testPrintFormattedAndWiki�s
z$ClientMisc.testPrintFormattedAndWikiN)rrr rrrvrrrrrm�s
rm)�
__author__�
__copyright__�__license__r'rsr%r5�timer<�utilsr�rZserver.asyncserverrrr	r
rZserver.utilsrZclient.csocketr
r�objectrr!rmrrrr�<module>s&+