U
    •uÄcT  ã                   @   sZ   d dl Z d dlmZ d dlmZ d dlmZ eeƒG dd„ deƒƒZG dd„ de j	ƒZ
dS )	é    N)Úpatch)Úimplementer)ÚIReactorTimec                   @   s<   e Zd ZdZdZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Z	dS )ÚFakeReactorzH
    This just fakes out enough reactor methods so .run() can work.
    Fc                 C   s   d| _ || _g | _d S )NF)Ústop_calledÚto_raiseÚdelayed)Úselfr   © r
   úoc:\users\psant\downloads\hotstarbackend\school\venv\Lib\site-packages\autobahn\twisted\test\test_wamp_runner.pyÚ__init__)   s    zFakeReactor.__init__c                 O   s
   | j ‚d S ©N)r   ©r	   ÚargsÚkwr
   r
   r   Úrun.   s    zFakeReactor.runc                 C   s
   d| _ d S )NT)r   )r	   r
   r
   r   Ústop1   s    zFakeReactor.stopc                 O   s   | j  ||||f¡ d S r   )r   Úappend)r	   ÚdelayÚfuncr   Úkwargsr
   r
   r   Ú	callLater4   s    zFakeReactor.callLaterc                 O   s   t dƒ‚d S )NzConnectTCP shouldn't get called)ÚRuntimeErrorr   r
   r
   r   Ú
connectTCP7   s    zFakeReactor.connectTCPN)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r
   r
   r
   r   r   "   s   r   c                   @   s,   e Zd Zedƒedƒedƒdd„ ƒƒƒZdS )ÚTestWampTwistedRunnerztxaio.use_twistedztxaio.start_loggingztxaio.configc              	   G   sœ   z(ddl m} ddlm} ddlm} W n tk
rF   t d¡‚Y nX |ddƒ}|dƒ}t	d	t
|ƒƒ�*}| j||jd
d„ dd� |  |j¡ W 5 Q R X dS )zz
        Ensure the runner doesn't swallow errors and that it exits the
        reactor properly if there is one.
        r   )ÚApplicationRunner)ÚConnectionRefusedError)Úreactorz
No twistedzws://localhost:1ÚrealmzIt's a trap!ztwisted.internet.reactorc                 S   s   d S r   r
   )Ú_r
   r
   r   Ú<lambda>X   ó    z:TestWampTwistedRunner.test_connect_error.<locals>.<lambda>T)Zstart_reactorN)Zautobahn.twisted.wampr   Ztwisted.internet.errorr    Útwisted.internetr!   ÚImportErrorÚunittestÚSkipTestr   r   ÚassertRaisesr   Ú
assertTruer   )r	   r   r   r    r!   ÚrunnerÚ	exceptionZmockreactorr
   r
   r   Útest_connect_errorA   s     
  ýz(TestWampTwistedRunner.test_connect_errorN)r   r   r   r   r.   r
   r
   r
   r   r   ;   s   r   )r(   Zunittest.mockr   Zzope.interfacer   Ztwisted.internet.interfacesr   Úobjectr   ÚTestCaser   r
   r
   r
   r   Ú<module>   s   