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/protocols/haproxy/test/__pycache__/test_wrapper.cpython-38.pyc
U


W[�2�@s|dZddlmZddlmZddlmZmZddlm	Z	ddl
mZGdd	�d	e�ZGd
d�dej
�ZGdd
�d
ej
�ZdS)z>
Test cases for L{twisted.protocols.haproxy.HAProxyProtocol}.
�)�unittest)�address)�Protocol�Factory)� StringTransportWithDisconnection�)�HAProxyWrappingFactoryc@s eZdZdZdd�Zdd�ZdS)�StaticProtocolz6
    Protocol stand-in that maintains test state.
    cCsd|_d|_d|_d|_dS)N�F)�source�destination�dataZdisconnected)�self�r�M/usr/lib/python3/dist-packages/twisted/protocols/haproxy/test/test_wrapper.py�__init__szStaticProtocol.__init__cCs*|j��|_|j��|_|j|7_dS)N)�	transport�getPeerr�getHostrr
)rr
rrr�dataReceivedszStaticProtocol.dataReceivedN)�__name__�
__module__�__qualname__�__doc__rrrrrrr	sr	c@sHeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dS)�HAProxyWrappingFactoryV1Testsz]
    Test L{twisted.protocols.haproxy.HAProxyWrappingFactory} with v1 PROXY
    headers.
    cCsRtt�t��}|�t�ddd��}t�}||_|�	|�|�
d�|�|j�dS)�J
        Test if invalid headers result in connectionLost events.
        �TCP�	127.1.1.1�sNOTPROXY anything can go here
N�
rr�forProtocolr	�
buildProtocolr�IPv4Addressr�protocol�makeConnectionr�assertFalse�	connected�r�factory�protorrrr�test_invalidHeaderDisconnects*s�

z;HAProxyWrappingFactoryV1Tests.test_invalidHeaderDisconnectscCs\tt�t��}|�t�ddd��}t�}||_|�	|�|�
d�|�
d�|�|j�dS)rrrrsPROXY TCP4 1.1.1.1
s2.2.2.2 8080
Nrr'rrr�$test_invalidPartialHeaderDisconnects9s�


zBHAProxyWrappingFactoryV1Tests.test_invalidPartialHeaderDisconnectscCs�tt�t��}|�t�ddd��}t�}|�|�|�	d�|�
|��jd�|�
|��j
d�|�
|jj��jd�|�
|jj��j
d�|�
|��jd�|�
|��j
d�|�
|jj��jd�|�
|jj��j
d�dS)	�P
        Test if IPv4 headers result in the correct host and peer data.
        r�	127.0.0.1rs&PROXY TCP4 1.1.1.1 2.2.2.2 8080 8888
s1.1.1.1s2.2.2.2�"N)rrr r	r!rr"rr$r�assertEqualr�host�port�wrappedProtocolrrr'rrr�(test_validIPv4HeaderResolves_getPeerHostIs6�

����zFHAProxyWrappingFactoryV1Tests.test_validIPv4HeaderResolves_getPeerHostcCs�tt�t��}|�t�ddd��}t�}|�|�|�	d�|�
|��jd�|�
|��j
d�|�
|jj��jd�|�
|jj��j
d�|�
|��jd�|�
|��j
d�|�
|jj��jd�|�
|jj��j
d�dS)�P
        Test if IPv6 headers result in the correct host and peer data.
        r�::1rsPROXY TCP6 ::1 ::2 8080 8888
s::2r.N)rrr r	r!r�IPv6Addressrr$rr/rr0r1r2rrr'rrr�(test_validIPv6HeaderResolves_getPeerHostjs6�

����zFHAProxyWrappingFactoryV1Tests.test_validIPv6HeaderResolves_getPeerHostcCsPtt�t��}|�t�ddd��}t�}|�|�|�	d�|�
|jjd�dS)�N
        Test if non-header bytes are passed to the wrapped protocol.
        rr5rs,PROXY TCP6 ::1 ::2 8080 8888
HTTP/1.1 / GET�HTTP/1.1 / GETN�
rrr r	r!rr6rr$rr/r2r
r'rrr�'test_overflowBytesSentToWrappedProtocol�s�

zEHAProxyWrappingFactoryV1Tests.test_overflowBytesSentToWrappedProtocolcCsZtt�t��}|�t�ddd��}t�}|�|�|�	d�|�	d�|�
|jjd�dS)�K
        Test if header streaming passes extra data appropriately.
        rr5r�PROXY TCP6 ::1 ::2 �8080 8888
HTTP/1.1 / GETr9Nr:r'rrr�-test_overflowBytesSentToWrappedProtocolChunks�s�


zKHAProxyWrappingFactoryV1Tests.test_overflowBytesSentToWrappedProtocolChunkscCsdtt�t��}|�t�ddd��}t�}|�|�|�	d�|�	d�|�	d�|�
|jjd�dS)	zT
        Test if wrapper writes all data to wrapped protocol after parsing.
        rr5rr=r>s

sHTTP/1.1 / GET

Nr:r'rrr�,test_overflowBytesSentToWrappedProtocolAfter�s�



zJHAProxyWrappingFactoryV1Tests.test_overflowBytesSentToWrappedProtocolAfterN)rrrrr*r+r3r7r;r?r@rrrrr$s!!rc@sXeZdZdZdZdZdZdeeZdd�Zdd	�Z	d
d�Z
dd
�Zdd�Zdd�Z
dS)�HAProxyWrappingFactoryV2Testsz]
    Test L{twisted.protocols.haproxy.HAProxyWrappingFactory} with v2 PROXY
    headers.
    s


QUIT
!�"�s4


QUIT
!!$�"�sl/home/tests/mysockets/socks


QUIT
!1�cCs`tt�t��}|�t�ddd��}t�}||_|�	|�|�
d|jdd��|�|j
�dS)rrr5r��N)rrr r	r!rr6rr#r$r�
IPV4HEADERr%r&r'rrrr*�s�
z;HAProxyWrappingFactoryV2Tests.test_invalidHeaderDisconnectscCs�tt�t��}|�t�ddd��}t�}|�|�|�	|j
�|�|��j
d�|�|��jd�|�|jj��j
d�|�|jj��jd�|�|��j
d�|�|��jd�|�|jj��j
d�|�|jj��jd�dS)r,rr-rr.N)rrr r	r!rr"rr$rrDr/rr0r1r2rrr'rrrr3�s6�
����zFHAProxyWrappingFactoryV2Tests.test_validIPv4HeaderResolves_getPeerHostcCs�tt�t��}|�t�ddd��}t�}|�|�|�	|j
�|�|��j
d�|�|��jd�|�|jj��j
d�|�|jj��jd�|�|��j
d�|�|��jd�|�|jj��j
d�|�|jj��jd�dS)r4rr5rs0:0:0:0:0:0:0:1r.N)rrr r	r!rr"rr$r�
IPV6HEADERr/rr0r1r2rrr'rrrr7s6�
����zFHAProxyWrappingFactoryV2Tests.test_validIPv6HeaderResolves_getPeerHostcCs�tt�t��}|�t�d��}t�}|�|�|�	|j
�|�|��j
d�|�|jj��j
d�|�|��j
d�|�|jj��j
d�dS)zP
        Test if UNIX headers result in the correct host and peer data.
        s/home/test/sockets/server.socks/home/tests/mysockets/sockN)rrr r	r!rZUNIXAddressrr$r�
UNIXHEADERr/r�namer2rrr'rrr�(test_validUNIXHeaderResolves_getPeerHost>s"�
��zFHAProxyWrappingFactoryV2Tests.test_validUNIXHeaderResolves_getPeerHostcCsVtt�t��}|�t�ddd��}t�}|�|�|�	|j
d�|�|jj
d�dS)r8rr5rr9N�rrr r	r!rr6rr$rrEr/r2r
r'rrrr;Us�
zEHAProxyWrappingFactoryV2Tests.test_overflowBytesSentToWrappedProtocolcCsrtt�t��}|�t�ddd��}t�}|�|�|�	|j
dd��|�	|j
dd�d�|�|jj
d�dS)r<rr5rN�r9rIr'rrrr?cs�
zKHAProxyWrappingFactoryV2Tests.test_overflowBytesSentToWrappedProtocolChunksN)rrrrrDrEZ
_SOCK_PATHrFr*r3r7rHr;r?rrrrrA�s$����
�!!rAN)rZ
twisted.trialrZtwisted.internetrZtwisted.internet.protocolrrZtwisted.test.proto_helpersrZ_wrapperrr	ZTestCaserrArrrr�<module>s