File: //usr/local/lib/python3.7/test/test_asyncio/__pycache__/test_sslproto.cpython-37.opt-1.pyc
B
��g�f � @ sR d Z ddlZddlZddlZddlZddlZddlmZ yddlZW n ek
r\ dZY nX ddl Z ddl m
Z
ddl mZ ddl mZ ddl m
Z
ddlmZ dd lmZ e�edkd
�G dd� dej��ZG d
d� dej�Ze�edkd
�G dd� deej��Ze�edkd
�e�ee d�d�G dd� deej���Zedk�rNe�� dS )zTests for asyncio/sslproto.py.� N)�mock)�log)� protocols)�sslproto)�tasks)�utils)�
functionalz
No ssl modulec s� e Zd Z� fdd�Zddd�dd�Zdd�dd �Zd
d� Zdd
� Zdd� Zdd� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Z� ZS )�SslProtoHandshakeTestsc s$ t � �� t�� | _| �| j� d S )N)�super�setUp�asyncioZnew_event_loop�loopZset_event_loop)�self)� __class__� �;/usr/local/lib/python3.7/test/test_asyncio/test_sslproto.pyr s
zSslProtoHandshakeTests.setUpN)�waiter�protoc C sR t �� }|d krt�� }tj| j|||dd�}| �|j� � |� | �
|jj� |S )Ng�������?)�ssl_handshake_timeout)�
test_utils�dummy_ssl_contextr �Protocolr �SSLProtocolr
�assertIs�_app_transport�get_protocolZ
addCleanup�close)r r r �
sslcontext� ssl_protor r r �ssl_protocol s z#SslProtoHandshakeTests.ssl_protocol)�do_handshakec C s^ t �� }t �� }d|j_|r&||j_ndd� }||j_t jd|d�� |�|� W d Q R X |S )N� c S s g S )Nr )�callbackr r r �mock_handshake0 s z>SslProtoHandshakeTests.connection_made.<locals>.mock_handshakezasyncio.sslproto._SSLPipe)�return_value)r �Mock�shutdownr$ r Zside_effectZpatch�connection_made)r r r � transportZsslpiper# r r r r'