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
   /var/www/vedio/testing/chatpythonscript.ninositsolution.com/env/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   