HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/twisted/test/__pycache__/test_ident.cpython-38.pyc
U


W[g�@s$dZddlZddlmZddlmZddlmZddlmZddl	m
Z
ddlmZdd	l
mZzddlZWnek
r�ddlZYnXGd
d�dej�ZGdd
�d
ej�ZGdd�dej�ZGdd�de�ZGdd�dej�Ze�dd�dd�dk�rdZdZndZdZGdd�dej�ZdS)z0
Test cases for twisted.protocols.ident module.
�N)�ident)�failure)�error)�defer)�NativeStringIO)�unittest)�StringTransportc@s@eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dS)�ClassParserTestsz*
    Test parsing of ident responses.
    cCst��|_dS)z7
        Create an ident client used in tests.
        N)rZIdentClient�client��self�r
�9/usr/lib/python3/dist-packages/twisted/test/test_ident.py�setUp!szClassParserTests.setUpcCs6t��}|jj�|ddf�|j�d�|�|tj�S)zX
        'UNKNOWN-ERROR' error should map to the L{ident.IdentError} exception.
        �{��z 123, 456 : ERROR : UNKNOWN-ERROR)	r�Deferredr
�queries�append�lineReceived�
assertFailurer�
IdentError�r�dr
r
r�test_indentError(sz!ClassParserTests.test_indentErrorcCs6t��}|jj�|ddf�|j�d�|�|tj�S)zN
        'NO-USER' error should map to the L{ident.NoUser} exception.
        ��rz234, 456 : ERROR : NO-USER)	rrr
rrrrr�NoUserrr
r
r�test_noUSerError2sz!ClassParserTests.test_noUSerErrorcCs6t��}|jj�|ddf�|j�d�|�|tj�S)zX
        'INVALID-PORT' error should map to the L{ident.InvalidPort} exception.
        iY�7z 345, 567 :  ERROR : INVALID-PORT)	rrr
rrrrr�InvalidPortrr
r
r�test_invalidPortError<sz&ClassParserTests.test_invalidPortErrorcCs6t��}|jj�|ddf�|j�d�|�|tj�S)zV
        'HIDDEN-USER' error should map to the L{ident.HiddenUser} exception.
        riz567, 789 : ERROR : HIDDEN-USER)	rrr
rrrrr�
HiddenUserrr
r
r�test_hiddenUserErrorFsz%ClassParserTests.test_hiddenUserErrorcCs@t��}|jj�|ddf�|j�t�t�	���|�
|tj�S)zy
        A pending query which failed because of a ConnectionLost should
        receive an L{ident.IdentError}.
        i�i�)
rrr
rrZconnectionLostrZFailurerZConnectionLostrrrrr
r
r�test_lostConnectionPsz$ClassParserTests.test_lostConnectionN)
�__name__�
__module__�__qualname__�__doc__rrrr r"r#r
r
r
rr	s



r	c@seZdZdd�ZdS)�TestIdentServercCs|jS�N)�resultValue�rZ
serverAddressZ
clientAddressr
r
r�lookup]szTestIdentServer.lookupN�r$r%r&r,r
r
r
rr(\sr(c@seZdZdd�ZdS)�TestErrorIdentServercCs|���dSr))�
exceptionTyper+r
r
rr,cszTestErrorIdentServer.lookupNr-r
r
r
rr.bsr.c@seZdZdS)�NewExceptionN)r$r%r&r
r
r
rr0hsr0c@seZdZdd�Zdd�ZdS)�ServerParserTestscCs4t�}|�t��g}|j|_tj|_|�d�|�	|dd�tj
|_|�d�|�	|dd�tj|_|�d�|�	|dd	�tj|_|�d
�|�	|dd�t
|_|�d
�|�	|dd�|�t
�}|�	t|�d�dD]J}|dd�=|�d|f�|�d|f�|�	|d|fd|fg�q�dS)Nz123, 345rz 123, 345 : ERROR : UNKNOWN-ERRORz432, 210�z432, 210 : ERROR : NO-USERz987, 654�z987, 654 : ERROR : INVALID-PORTz756, 827�z756, 827 : ERROR : HIDDEN-USERz987, 789�z 987, 789 : ERROR : UNKNOWN-ERROR)���riiz%d, 5z5, %dz%d, 5 : ERROR : INVALID-PORTz5, %d : ERROR : INVALID-PORT)r.�makeConnectionrr�sendLinerrr/r�assertEqualrrr!r0ZflushLoggedErrors�len)r�p�LZerrsZportr
r
r�
testErrorsns>






��zServerParserTests.testErrorscCsBt�}|�t��g}|j|_d|_|�d�|�|dd�dS)N)ZSYSZUSERz123, 456rz123, 456 : USERID : SYS : USER)r(r7rrr8r*rr9)rr;r<r
r
r�testSuccess�s
zServerParserTests.testSuccessN)r$r%r&r=r>r
r
r
rr1ms%r1z=Lr2�Z0100007FZ04030201Z7F000001Z01020304c@sPeZdZdeefZdeZdd�Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�ZdS)�ProcMixinTestszj4: %s:0019 %s:02FA 0A 00000000:00000000 00:00000000 00000000     0        0 10927 1 f72a5b80 3000 0 0 2 -1zd  sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode
   cCst��}|�|�t�d�dS)N�	127.0.0.1)r�ProcServerMixinr9ZdottedQuadFromHexString�_addr1�rr;r
r
r�testDottedQuadFromHexString�sz*ProcMixinTests.testDottedQuadFromHexStringcCs"t��}|�|�td�d�dS)Nz:0277)rAiw)rrBr9Z
unpackAddressrCrDr
r
r�testUnpackAddress�s�z ProcMixinTests.testUnpackAddresscCs t��}|�|�|j�d�dS)N)�rA���1.2.3.4�r)rrBr9Z	parseLine�linerDr
r
r�testLineParser�s

�zProcMixinTests.testLineParsercsTg�t��}�fdd�|_�fdd�|_��|�dd�|jdf����dg�dS)Ncst�jg�Sr)��iterrLr
rr
r�<lambda>��z4ProcMixinTests.testExistingAddress.<locals>.<lambda>cs��|�dfdS)N�rootr2)r)Zuid)�usernamer
rrP�rQrGrIrRr)rrB�entriesZgetUsernamer9r,ZSYSTEM_NAMErDr
)rrSr�testExistingAddress�s
�z"ProcMixinTests.testExistingAddresscsVt��}�fdd�|_��tj|jdd���tj|jdd���tj|jdd�dS)Ncst�jg�Sr)rNr
rr
rrP�rQz7ProcMixinTests.testNonExistingAddress.<locals>.<lambda>�rA�rIrG)z1.2.3.5rK)rJi�)rrBrT�assertRaisesrr,rDr
rr�testNonExistingAddress�s���z%ProcMixinTests.testNonExistingAddresscsRg���fdd�}��td|�t��}��tj|jdd���difg��dS)zS
        L{ident.ProcServerMixin.lookup} uses the Linux TCP process table.
        cs��||f�t�j�S)z[
            Mock for the open call to prevent actually opening /proc/net/tcp.
            )rr�
sampleFile)�args�kwargs�Z
open_callsrr
r�mocked_open�sz8ProcMixinTests.testLookupProcNetTcp.<locals>.mocked_open�openrVrI)z
/proc/net/tcpN)Zpatch�builtinsrrBrXrr,r9)rr^r;r
r]r�testLookupProcNetTcp�s�z#ProcMixinTests.testLookupProcNetTcpN)
r$r%r&rC�_addr2rLrZrErFrMrUrYrar
r
r
rr@�s��r@)r'ZstructZtwisted.protocolsrZtwisted.pythonrZtwisted.internetrrZtwisted.python.compatrZ
twisted.trialrZtwisted.test.proto_helpersrr`�ImportErrorZ__builtin__ZTestCaser	ZIdentServerr(r.�RuntimeErrorr0r1ZpackrCrbr@r
r
r
r�<module>s.@1