1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
U
Z±dÆã@sšddlZddlmZddlZddlZddlmZmZmZddl    Zddl
m Z m Z ddl mZmZmZdd    „ZejGd
d „d ejjƒƒZd d „Zdd„ZdS)éN)Úpartial)ÚAF_INETÚ SOCK_STREAMÚ IPPROTO_TCPé)Ú
client_ctxÚ
SERVER_CTXé)Úopen_ssl_over_tcp_streamÚopen_ssl_over_tcp_listenersÚserve_ssl_over_tcpc
Ãsf|4IdHšJz,| d¡IdH}|s&q8| |¡IdHqWntjk
rPYnXW5QIdHRXdS)Ni')Ú receive_someÚsend_allÚtrioÚBrokenResourceError)ÚstreamÚdata©rú\d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\trio/tests/test_highlevel_ssl_helpers.pyÚ echo_handlersrc@s$eZdZe ¡Zdd„Zdd„ZdS)ÚFakeHostnameResolvercÇstttd|jfgS)NÚ)rrrÚsockaddr©ÚselfÚargsrrrÚ getaddrinfo%sz FakeHostnameResolver.getaddrinfocÇst‚dS)N)ÚNotImplementedErrorrrrrÚ getnameinfo(sz FakeHostnameResolver.getnameinfoN)Ú__name__Ú
__module__Ú __qualname__ÚattrÚibrrrrrrrr!src Ãs
t ¡4IdHšè}| tttdtdd¡IdH\}|4IdHš¨|jj     ¡}t
|ƒ}tj  |¡t ddƒIdH}|4IdHš,t  tj¡| ¡IdHW5QRXW5QIdHRXt dd|dIdH}|4IdHš,t  tj¡| ¡IdHW5QRXW5QIdHRXt dd|dIdH}|4IdHšRt|tjƒsDt‚|jdksTt‚| d¡IdH| d    ¡IdHdks~t‚W5QIdHRX|jršt‚t dd|d
d    d IdH}|4IdHš|jsÌt‚W5QIdHRX|j ¡W5QIdHRXW5QIdHRXdS) Nrú    127.0.0.1©Úhostztrio-test-1.example.orgéPzxyzzy.example.org)Ú ssl_contextóxrT)r(Úhttps_compatibleZhappy_eyeballs_delay)rZ open_nurseryÚstartrr rrÚtransport_listenerÚsocketÚ getsocknamerZset_custom_hostname_resolverr
ÚpytestZraisesrÚ do_handshakeÚ
isinstanceZ    SSLStreamÚAssertionErrorÚserver_hostnamerr Ú_https_compatibleZ cancel_scopeÚcancel)rZnurseryÚlistenerrZhostname_resolverrrrrÚ1test_open_ssl_over_tcp_stream_and_everything_else.sRÿ   (ÿ (ÿ * ú r7c
Ãs¾tdtddIdH\}|4IdHšLt|tjƒs4t‚|j}t|tjƒsJt‚|j     ¡ddks`t‚|j
rjt‚W5QIdHRXtdtdddIdH\}|4IdHš|j
sªt‚W5QIdHRXdS)Nrr$r%T)r&r*) r rr1rZ SSLListenerr2r,ZSocketListenerr-r.r4)r6ÚtlrrrÚ test_open_ssl_over_tcp_listenerscsÿr9)r/Ú    functoolsrr"rZ trio.socketrrrZ trio.testingZtest_sslrrZ_highlevel_ssl_helpersr
r r rÚsÚabcZHostnameResolverrr7r9rrrrÚ<module>s  5