
    afT                         d dl Z d dlmZ d dlmZ d dlmZ  ee           G d de                      Z G d de j	                  Z
dS )	    N)patch)implementer)IReactorTimec                   4    e Zd ZdZdZd Zd Zd Zd Zd Z	dS )	FakeReactorzH
    This just fakes out enough reactor methods so .run() can work.
    Fc                 0    d| _         || _        g | _        d S )NF)stop_calledto_raisedelayed)selfr
   s     X/var/www/html/env/lib/python3.11/site-packages/autobahn/twisted/test/test_wamp_runner.py__init__zFakeReactor.__init__)   s          c                     | j         N)r
   r   argskws      r   runzFakeReactor.run.   s
    mr   c                     d| _         d S )NT)r	   )r   s    r   stopzFakeReactor.stop1   s    r   c                 B    | j                             ||||f           d S r   )r   append)r   delayfuncr   kwargss        r   	callLaterzFakeReactor.callLater4   s'    UD$788888r   c                      t          d          )NzConnectTCP shouldn't get called)RuntimeErrorr   s      r   
connectTCPzFakeReactor.connectTCP7   s    <===r   N)
__name__
__module____qualname____doc__r	   r   r   r   r   r     r   r   r   r   "   sp          K  
       9 9 9> > > > >r   r   c                   z    e Zd Z ed           ed           ed          d                                     ZdS )TestWampTwistedRunnerztxaio.use_twistedztxaio.start_loggingztxaio.configc                 ~   	 ddl m} ddlm} ddlm} n"# t          $ r t          j        d          w xY w |dd          } |d          }t          d	t          |                    5 }|                     ||j        d
 d           |                     |j                   ddd           dS # 1 swxY w 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                     d S r   r%   )_s    r   <lambda>z:TestWampTwistedRunner.test_connect_error.<locals>.<lambda>X   s    d r   T)start_reactorN)autobahn.twisted.wampr)   twisted.internet.errorr*   twisted.internetr+   ImportErrorunittestSkipTestr   r   assertRaisesr   
assertTruer	   )r   r   r)   r*   r+   runner	exceptionmockreactors           r   test_connect_errorz(TestWampTwistedRunner.test_connect_errorA   sM   	2??????EEEEEE0000000 	2 	2 	2#L111	2 #"#5w??**>::	-{9/E/EFF 	5+&
NN$    
 OOK3444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5s    4+:B22B69B6N)r!   r"   r#   r   r<   r%   r   r   r'   r'   ;   sf         U
U !!
U>5 5  "!  5 5 5r   r'   )r5   unittest.mockr   zope.interfacer   twisted.internet.interfacesr   objectr   TestCaser'   r%   r   r   <module>rB      s   6        & & & & & & 4 4 4 4 4 4 \> > > > >& > > >05 5 5 5 5H- 5 5 5 5 5r   