o
    @Bia	                     @   s   d dl Z d dlZd dlZzd dlmZ W n ey#   d dlmZ Y nw d dlmZ d dl	m
Z
 d dlZe jjddde jjejdk d	de jjejd
ddu dde jdG dd de
ZdS )    N)Mock)WebSocketServerFactory)TestCaseTzpytest sucks)reason)   r   zrequires Python 3.3+USE_ASYNCIOFzonly for asyncio
event_loopc                   @   s2   e Zd Zejjdddd Zejjdd ZdS )TestT)forbid_global_loopc                 C   s$   t |d}| }t }|| d S )N)loop)r   r   connection_made)selfr   factoryserver	transport r   l/var/www/html/Trade-python/venv/lib/python3.10/site-packages/autobahn/asyncio/test/test_asyncio_websocket.pytest_websocket_custom_loop   s   
zTest.test_websocket_custom_loopc                    sx   dd  g  fdd}t  }| }||_t }|| dg d|_|  | dt | dd	  d S )
Nc                 S   s   t  }t || |   |S N)txaiocreate_futureresolvexfr   r   r   foo%   s   z.Test.test_async_on_connect_server.<locals>.fooc                    s(   t  } fdd}t ||d  |S )Nc                    s"    d}| |fddd  |S )N*   c                    s
     | S r   )append)v)valuesr   r   <lambda>1   s   
 zSTest.test_async_on_connect_server.<locals>.on_connect.<locals>.cb.<locals>.<lambda>)add_callbacksr   r   r   r   r   cb/   s   zATest.test_async_on_connect_server.<locals>.on_connect.<locals>.cb)r   r   r!   )reqr   r#   r"   r   r   
on_connect,   s   z5Test.test_async_on_connect_server.<locals>.on_connect   
)	s   GET /ws HTTP/1.1s   Host: www.example.coms   Sec-WebSocket-Version: 13s,   Origin: http://www.example.com.malicious.coms,   Sec-WebSocket-Extensions: permessage-deflates+   Sec-WebSocket-Key: tXAxWFUqnhi86Ajj7dRY5g==s   Connection: keep-alive, Upgrades   Upgrade: websocketr&      i  r   )	r   	onConnectr   r   joindataprocessHandshakeassertEquallen)r   r%   r   r   r   r   r"   r   test_async_on_connect_server    s   

z!Test.test_async_on_connect_serverN)	__name__
__module____qualname__pytestmarkasyncior   xfailr.   r   r   r   r   r	      s
    
	r	   )r2   ossysunittest.mockr   ImportErrormockautobahn.asyncio.websocketr   unittestr   r   r3   skipifversion_infoenvirongetusefixturesr	   r   r   r   r   <module>   s     
