Your IP : 216.73.216.213


Current Path : /opt/alt/python36/lib64/python3.6/test/test_asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib64/python3.6/test/test_asyncio/__pycache__/test_sslproto.cpython-36.opt-1.pyc

3

� f3�
@s�dZddlZddlZddlmZyddlZWnek
rDdZYnXddlZddlmZddlmZddlm	Z	ej
edkd�Gdd	�d	e	j��Ze
d
kr�ej�dS)zTests for asyncio/sslproto.py.�N)�mock)�log)�sslproto)�
test_utilsz
No ssl modulecs�eZdZ�fdd�Zddd�dd�Zdd�dd	�Zd
d�Zdd
�Zdd�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Z�ZS)�SslProtoHandshakeTestscs$t�j�tj�|_|j|j�dS)N)�super�setUp�asyncioZnew_event_loop�loopZset_event_loop)�self)�	__class__��D/opt/alt/python36/lib64/python3.6/test/test_asyncio/test_sslproto.pyrs

zSslProtoHandshakeTests.setUpN)�waiter�protocCsNtj�}|dkrtj�}tj|j|||�}|j|jj	�|�|j
|jj�|S)N)rZdummy_ssl_contextr	�ProtocolrZSSLProtocolr
�assertIs�_app_transport�get_protocolZ
addCleanup�close)rrrZ
sslcontext�	ssl_protor
r
r�ssl_protocolsz#SslProtoHandshakeTests.ssl_protocol)�do_handshakec	Cs^tj�}tj�}d|j_|r&||j_ndd�}||j_tjd|d��|j|�WdQRX|S)N�cSsgS)Nr
)�callbackr
r
r�mock_handshake)sz>SslProtoHandshakeTests.connection_made.<locals>.mock_handshakezasyncio.sslproto._SSLPipe)�return_value)rZMockZshutdownrrZside_effectZpatch�connection_made)rrr�	transportZsslpiperr
r
rr"s
z&SslProtoHandshakeTests.connection_madecsntj|jd�}|j|d�}tj|jd���fdd�}|j�tj�� |j||d�|jj��WdQRXdS)N)r
)rcst�}||��jd�gS)N)�	ExceptionZ
set_result)r�exc)�
handshake_futr
rr7s
zBSslProtoHandshakeTests.test_cancel_handshake.<locals>.do_handshake)r)	r	�Futurer
rZcancelrZdisable_loggerrZrun_until_complete)rrrrr
)r!r�test_cancel_handshake0s
z,SslProtoHandshakeTests.test_cancel_handshakecCsLtj|jd�}|j|d�}|j|�|j�tj|j�|j|j	�t
�dS)N)r
)r)r	r"r
rrZeof_receivedr�run_briefly�assertIsInstance�	exception�ConnectionResetError)rrrr
r
r�test_eof_received_waiterCs
z/SslProtoHandshakeTests.test_eof_received_waitercCsTtj|jd�}|j|d�}tjj�}tjjtj	�z|j
d�Wdtjj|�XdS)N)r
)r)r	r"r
rrZloggerZgetEffectiveLevelZsetLevel�loggingZFATALZ_fatal_error)rrrZ	log_levelr
r
r�test_fatal_error_no_name_errorKs
z5SslProtoHandshakeTests.test_fatal_error_no_name_errorcCsNtj|jd�}|j|d�}|j|�|jt�tj|j�|j	|j
�t�dS)N)r
)r)r	r"r
rr�connection_lost�ConnectionAbortedErrorrr$r%r&)rrrr
r
r�test_connection_lostZs

z+SslProtoHandshakeTests.test_connection_lostcCsLtj|jd�}|j|d�}|j|�}tj|j�|jj�|j	|j
j�dS)N)r
)r)r	r"r
rrrr$rrZ
assertTrue�abortZcalled)rrrrr
r
r�test_close_during_handshakeds

z2SslProtoHandshakeTests.test_close_during_handshakecCs|tj|jd�}|j|d�}|j|jd��t�}|j|jd|�|�|j|�|j	|jd��|j
d�|j|jd��dS)N)r
)rZsocket)r	r"r
r�assertIsNoneZ_get_extra_info�objectrrZassertIsNotNoner+)rrr�defaultr
r
r�(test_get_extra_info_on_closed_connectionos

z?SslProtoHandshakeTests.test_get_extra_info_on_closed_connectioncCsRtj|jd�}|j|d�}tj�}|jj|�|j|jj�|�|j|j	|�dS)N)r
)r)
r	r"r
rrrZset_protocolrrZ
_app_protocol)rrrZ
new_app_protor
r
r�test_set_new_app_protocolzsz0SslProtoHandshakeTests.test_set_new_app_protocolcCs4|j�}|j|�|j}|j�|j|jd��dS)Nsdata)rrrrr0Z
data_received)rr�transpr
r
r� test_data_received_after_closing�s

z7SslProtoHandshakeTests.test_data_received_after_closingcCs4|j�}|j|�|j}|j�|j|jd��dS)Nsdata)rrrrr0�write)rrr5r
r
r�test_write_after_closing�s

z/SslProtoHandshakeTests.test_write_after_closing)�__name__�
__module__�__qualname__rrrr#r(r*r-r/r3r4r6r8�
__classcell__r
r
)rrrs	

r�__main__)�__doc__r)ZunittestrZssl�ImportErrorr	rrrZskipIfZTestCaserr9�mainr
r
r
r�<module>s