File: //usr/lib/python3/dist-packages/twisted/test/__pycache__/test_ssl.cpython-38.pyc
U
W[&] � @ s� d Z ddlmZmZ ddlmZ ddlmZ ddlm Z m
Z
mZmZ ddl
mZ ddlmZ ddlmZ dd lmZ dd
lmZ ddlmZ ddlZddlZz0dd
lmamZ ddlma ddlm Z m!Z! W n" e"k
r� dd� Z#e#� Y nX zddlm$Z% W n e"k
�r dZ%Y nX ddl&m'Z' G dd� dej(�Z)G dd� dej(�Z*G dd� de j+�Z,G dd� de j+�Z-e'ej.�G dd� de j+��Z/dd� Z0d d!� Z1G d"d#� d#�Z2tdk �r�G d$d%� d%tj3�Z4G d&d'� d'eej5�Z6G d(d)� d)ej5�Z7G d*d+� d+e7�Z8G d,d-� d-ej5�Z9G d.d/� d/ej5e2�Z:G d0d1� d1�Z;G d2d3� d3ej5�Z<G d4d5� d5ej5�Z=e�>e
d�dk�r�e6e7e8e9e:e<e=fD ]Z?d6e?_@�qxdS )7z
Tests for twisted SSL support.
� )�division�absolute_import)�FilePath)�unittest)�protocol�reactor�
interfaces�defer)�ConnectionDone)�basic)�
requireModule)�platform)�ProperlyCloseFilesMixin)�waitUntilAllDisconnectedN)�SSL�crypto)�ssl)�ClientTLSContext�certPathc C s d a ad S �N)r r � r r �7/usr/lib/python3/dist-packages/twisted/test/test_ssl.py�_noSSL s r )�tls)�implementerc @ sB e Zd ZdZdddgZddgZdd� Zd d
� Zdd� Zd
d� Z dS )�UnintelligentProtocola
@ivar deferred: a deferred that will fire at connection lost.
@type deferred: L{defer.Deferred}
@cvar pretext: text sent before TLS is set up.
@type pretext: C{bytes}
@cvar posttext: text sent after TLS is set up.
@type posttext: C{bytes}
s
first lines last thing before tls starts� STARTTLSs first thing after tls starteds last thing everc C s t �� | _d S r �r �Deferred�deferred��selfr r r �__init__= s zUnintelligentProtocol.__init__c C s | j D ]}| �|� qd S r )�pretext�sendLine)r! �lr r r �connectionMadeA s
z$UnintelligentProtocol.connectionMadec C s@ |dkr<| j �t� | jj� | jD ]}| �|� q"| j �� d S )N� READY)� transport�startTLSr �factory�client�posttextr$ �loseConnection)r! �liner% r r r �lineReceivedF s
z"UnintelligentProtocol.lineReceivedc C s | j �d � d S r �r �callback�r! �reasonr r r �connectionLostN s z$UnintelligentProtocol.connectionLostN)
�__name__�
__module__�__qualname__�__doc__r# r, r"