o
    )›ŒhT  ã                   @   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
   úc/var/www/Befach/backend/venv/lib/python3.10/site-packages/autobahn/twisted/test/test_wamp_runner.pyÚ__init__)   s   
zFakeReactor.__init__c                 O   s   | j ‚©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ƒ‚)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y    t d¡‚w |ddƒ}|dƒ}t	d	t
|ƒƒ}| j||jd
d„ dd |  |j¡ W d  ƒ dS 1 sOw   Y  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   s    z:TestWampTwistedRunner.test_connect_error.<locals>.<lambda>T)Ústart_reactorN)Úautobahn.twisted.wampr   Útwisted.internet.errorr    Útwisted.internetr!   ÚImportErrorÚunittestÚSkipTestr   r   ÚassertRaisesr   Ú
assertTruer   )r	   r   r   r    r!   ÚrunnerÚ	exceptionÚmockreactorr
   r
   r   Útest_connect_errorA   s    
ÿ
ý"úz(TestWampTwistedRunner.test_connect_errorN)r   r   r   r   r1   r
   r
   r
   r   r   ;   s
    r   )r*   Úunittest.mockr   Úzope.interfacer   Útwisted.internet.interfacesr   Úobjectr   ÚTestCaser   r
   r
   r
   r   Ú<module>   s   