o
    >h                     @  s   d Z ddlmZ ddlmZmZmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ G dd	 d	ejZG d
d dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZdS )zD
Tests for Deferred handling by L{twisted.trial.unittest.TestCase}.
    )annotations)deferreactorthreads)Failure)runWithWarningsSuppressed)unittest)suppressc                   @  s$   e Zd Zdd Zdd Zdd ZdS )DeferredSetUpOKc                 C     t d}|| j |S Nvaluer   succeedaddCallback_cb_setUpCalledselfd r   z/var/www/vedio/testing/chatpythonscript.ninositsolution.com/env/lib/python3.10/site-packages/twisted/trial/test/detests.pysetUp      
zDeferredSetUpOK.setUpc                 C  s
   d| _ d S NT)_setUpCalledr   ignoredr   r   r   r         
zDeferredSetUpOK._cb_setUpCalledc                 C  s   |  | j d S N)
assertTruer   r   r   r   r   test_ok      zDeferredSetUpOK.test_okN)__name__
__module____qualname__r   r   r!   r   r   r   r   r
      s    r
   c                   @      e Zd ZdZdd Zdd ZdS )DeferredSetUpFailFc                 C  s   t tdS )Nzi fail)r   failr   FailTestr    r   r   r   r       r"   zDeferredSetUpFail.setUpc                 C  s   dt _| d d S )NTzI should not get called)r'   
testCalledr(   r    r   r   r   r!   #   s   zDeferredSetUpFail.test_okNr#   r$   r%   r*   r   r!   r   r   r   r   r'          r'   c                   @  (   e Zd ZdZdd Zdd Zdd ZdS )	DeferredSetUpCallbackFailFc                 C  r   r   r   r   r   r   r   r   +   r   zDeferredSetUpCallbackFail.setUpc                 C  s   |  d d S )Nzdeliberate failurer(   r   r   r   r   r   0      z)DeferredSetUpCallbackFail._cb_setUpCalledc                 C  
   dt _d S r   )r.   r*   r    r   r   r   r!   3   r   z!DeferredSetUpCallbackFail.test_okN)r#   r$   r%   r*   r   r   r!   r   r   r   r   r.   (   
    r.   c                   @  r&   )DeferredSetUpErrorFc                 C  s   t tdS )Nzdeliberate error)r   r(   RuntimeErrorr    r   r   r   r   :   r0   zDeferredSetUpError.setUpc                 C  r1   r   )r3   r*   r    r   r   r   r!   =   r   zDeferredSetUpError.test_okNr+   r   r   r   r   r3   7   r,   r3   c                   @  r&   )DeferredSetUpNeverFireFc                 C     t  S r   r   Deferredr    r   r   r   r   D      zDeferredSetUpNeverFire.setUpc                 C  r1   r   )r5   r*   r    r   r   r   r!   G   r   zDeferredSetUpNeverFire.test_okNr+   r   r   r   r   r5   A   r,   r5   c                   @  r-   )	DeferredSetUpSkipFc                 C  r   r   )r   r   r   _cb1r   r   r   r   r   N   r   zDeferredSetUpSkip.setUpc                 C  s
   t d)Nzskip mer   SkipTestr   r   r   r   r;   S   r   zDeferredSetUpSkip._cb1c                 C  r1   r   )r:   r*   r    r   r   r   r!   V   r   zDeferredSetUpSkip.test_okN)r#   r$   r%   r*   r   r;   r!   r   r   r   r   r:   K   r2   r:   c                   @  s   e Zd ZdZdd Zdd Zdd Zdd	 Zd
d Zdd Z	dd Z
eeddgeje
Z
ejdd Zdd Zdd Zdd Zdd Zdd Zdd Zd e_d!S )"DeferredTestsFc                 C  s   |  | d S r   r/   r   reasonr   r   r   _cb_fail]   r0   zDeferredTests._cb_failc                 C  s   t |r   )r4   r?   r   r   r   	_cb_error`   r9   zDeferredTests._cb_errorc                 C  s
   t |r   r<   r?   r   r   r   _cb_skipc   r   zDeferredTests._cb_skipc                 C     d| j _d S r   	__class__touchedr   r   r   r   _touchClassf      zDeferredTests._touchClassc                 C  rD   )NFrE   r    r   r   r   r   i   rI   zDeferredTests.setUpc                 C  s
   t dS )Nsuccess)r   r   r    r   r   r   	test_passl   r   zDeferredTests.test_passc                 c  s    |  d  d V  d S r   rH   r    r   r   r   test_passGeneratedo   s   

z DeferredTests.test_passGeneratedz7twisted.internet.defer.deferredGenerator was deprecated)messagec                 c  s    |  d dV  dS )zL
        Test case that is decorated with L{defer.inlineCallbacks}.
        NrL   r    r   r   r   test_passInlineCallbacks}   s   

z&DeferredTests.test_passInlineCallbacksc                 C  s   t | dS )NzI fail)r   r(   failureExceptionr    r   r   r   	test_fail   r"   zDeferredTests.test_failc                 C  r   )Nr(   )r   r   r   rA   r   r   r   r   test_failureInCallback   r   z$DeferredTests.test_failureInCallbackc                 C  r   )Nerrorr   r   r   rB   r   r   r   r   test_errorInCallback   r   z"DeferredTests.test_errorInCallbackc                 C  s&   t d}|| j || j |S )Nskip)r   r   r   rC   rH   r   r   r   r   	test_skip   s   
zDeferredTests.test_skipc                 C  s   t dd S )Nc                   S  s   d S r   r   r   r   r   r   <lambda>   s    z+DeferredTests.test_thread.<locals>.<lambda>)r   deferToThreadr    r   r   r   test_thread   r0   zDeferredTests.test_threadc                 C  r   )NtodorT   r   r   r   r   test_expectedFailure   r   z"DeferredTests.test_expectedFailurezExpected failureN)r#   r$   r%   rG   rA   rB   rC   rH   r   rK   rM   r   SUPPRESSr   deferredGeneratorinlineCallbacksrO   rQ   rR   rU   rW   rZ   r\   r[   r   r   r   r   r>   Z   s4    


r>   c                   @  s   e Zd ZU dZded< dd Zde_dd Zd	d
 Zde_dd Z	de	_dd Z
de
_de
_dd Zde_de_dd Zde_dd Zde_dS )TimeoutTestsNzFailure | NonetimedOutc                 C     t  }td|jd |S Nr   zhoorj!r   r8   r   	callLatercallbackr   r   r   r   rK      s   zTimeoutTests.test_pass   c                 C  rb   rc   rd   r   r   r   r   test_passDefault   s   zTimeoutTests.test_passDefaultc                 C  r6   r   r7   r    r   r   r   test_timeout   r9   zTimeoutTests.test_timeoutg?c                 C  r6   r   r7   r    r   r   r   test_timeoutZero   r9   zTimeoutTests.test_timeoutZeror   c                 C  r6   r   r7   r    r   r   r   r\      r9   z!TimeoutTests.test_expectedFailurezi will get it right, eventuallyc                 C  r6   r   r7   r    r   r   r   rW      r9   zTimeoutTests.test_skipc                   s"    fdd}t  }|| |S )Nc                   s   |  j _| S r   )rF   ra   )errr    r   r   ra      s   z4TimeoutTests.test_errorPropagation.<locals>.timedOut)r   r8   
addErrback)r   ra   r   r   r    r   test_errorPropagation   s   
z"TimeoutTests.test_errorPropagationc                 C  s(   t  }dd }|| |d |S )Nc                 S  r6   r   r7   )rr   r   r   	neverFire   r9   z;TimeoutTests.test_calledButNeverCallback.<locals>.neverFire   )r   r8   r   rf   )r   r   ro   r   r   r   test_calledButNeverCallback   s
   

z(TimeoutTests.test_calledButNeverCallback)r#   r$   r%   ra   __annotations__rK   timeoutrh   ri   rj   r\   r[   rW   rV   rm   rq   r   r   r   r   r`      s&   
 	

r`   c                   @  r&   )TestClassTimeoutAttributeg?c                 C  s   t  | _d S r   )r   r8   r   r    r   r   r   r      r0   zTestClassTimeoutAttribute.setUpc                 C  s   d| _ | jS r   )methodCalledr   r    r   r   r   
testMethod   s   z$TestClassTimeoutAttribute.testMethodN)r#   r$   r%   rs   r   rv   r   r   r   r   rt      r,   rt   N)__doc__
__future__r   twisted.internetr   r   r   twisted.python.failurer   twisted.python.utilr   twisted.trialr   twisted.trial.utilr	   r]   TestCaser
   r'   r.   r3   r5   r:   r>   r`   rt   r   r   r   r   <module>   s    

I>