Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/test/test_asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/test_asyncio/__pycache__/test_sslproto.cpython-35.pyc



��YfJ�
@s�dZddlZddlZddlmZyddlZWnek
rXdZYnXddlZddlmZddlmZddlm	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�Zddd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Z�S)�SslProtoHandshakeTestscs0t�j�tj�|_|j|j�dS)N)�super�setUp�asyncioZnew_event_loop�loopZset_event_loop)�self)�	__class__��D/opt/alt/python35/lib64/python3.5/test/test_asyncio/test_sslproto.pyrs
zSslProtoHandshakeTests.setUpNcCsctj�}tj�}tj|j|||�}|j|jj	�|�|j
|jj�|S)N)rZdummy_ssl_contextr	ZProtocolrZSSLProtocolr
�assertIs�_app_transportZget_protocolZ
addCleanup�close)r�waiterZ
sslcontextZ	app_proto�protor
r
r�ssl_protocolsz#SslProtoHandshakeTests.ssl_protocolc	Cstj�}tj�}d|j_|r9||j_ndd�}||j_tjdd|��|j|�WdQRX|S)N�cSsgS)Nr
)�callbackr
r
r�mock_handshake(sz>SslProtoHandshakeTests.connection_made.<locals>.mock_handshakezasyncio.sslproto._SSLPipe�return_value)rZMockZshutdownr�do_handshakeZside_effectZpatch�connection_made)r�	ssl_protor�	transportZsslpiperr
r
rr!sz&SslProtoHandshakeTests.connection_madec	s�tjd|j�}|j|�}tjd|j���fdd�}|j�|j||�tj��|jj��WdQRXdS)Nr
cs$t�}||��jd�gS)N)�	ExceptionZ
set_result)r�exc)�
handshake_futr
rr6s	

zBSslProtoHandshakeTests.test_cancel_handshake.<locals>.do_handshake)	r	�Futurer
rZcancelrrZdisable_loggerZrun_until_complete)rrrrr
)rr�test_cancel_handshake/s

z,SslProtoHandshakeTests.test_cancel_handshakecCsetjd|j�}|j|�}|j|�|j�tj|j�|j|j	�t
�dS)Nr
)r	r r
rrZeof_receivedr�run_briefly�assertIsInstance�	exception�ConnectionResetError)rrrr
r
r�test_eof_received_waiterBs

z/SslProtoHandshakeTests.test_eof_received_waitercCsotjd|j�}|j|�}tjj�}tjjtj	�z|j
d�Wdtjj|�XdS)Nr
)r	r r
rrZloggerZgetEffectiveLevelZsetLevel�loggingZFATALZ_fatal_error)rrrZ	log_levelr
r
r�test_fatal_error_no_name_errorJsz5SslProtoHandshakeTests.test_fatal_error_no_name_errorcCshtjd|j�}|j|�}|j|�|jt�tj|j�|j	|j
�t�dS)Nr
)r	r r
rr�connection_lost�ConnectionAbortedErrorrr"r#r$)rrrr
r
r�test_connection_lostYs

z+SslProtoHandshakeTests.test_connection_lostcCsstjd|j�}|j|�}dd�}|j|�}tj|j�|jj�|j	|j
j�dS)Nr
cSsgS)Nr
)rr
r
rrhszHSslProtoHandshakeTests.test_close_during_handshake.<locals>.do_handshake)r	r r
rrrr"rrZ
assertTrue�abortZcalled)rrrrrr
r
r�test_close_during_handshakecs
z2SslProtoHandshakeTests.test_close_during_handshakecCs�tjd|j�}|j|�}|j|jd��t�}|j|jd|�|�|j|�|j	|jd��|j
d�|j|jd��dS)Nr
Zsocket)r	r r
rZassertIsNoneZ_get_extra_info�objectrrZassertIsNotNoner))rrr�defaultr
r
r�(test_get_extra_info_on_closed_connectionqs	

z?SslProtoHandshakeTests.test_get_extra_info_on_closed_connection)�__name__�
__module__�__qualname__rrrr!r&r(r+r-r0r
r
)rrrs
r�__main__)�__doc__r'ZunittestrZssl�ImportErrorr	rrrZskipIfZTestCaserr1�mainr
r
r
r�<module>s
"k