o
    ¼>hˆ&  ã                   @  s¬   d Z ddlmZ ddlZddlmZ ddlmZ ddl	m
Z
mZ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ƒZG dd„ deƒZ[dS )z0
Tests for returning Deferreds from a TestCase.
é    )ÚannotationsN)Údefer)ÚFailure)ÚreporterÚunittestÚutil)Údetestsc                   @  sH   e Zd Zddd„Zddd	„Zdd
d„Zddd„Zddd„Zddd„ZdS )Ú
SetUpTestsÚklassútype[pyunit.TestCase]Úreturnú,tuple[reporter.TestResult, pyunit.TestSuite]c                 C  ó"   t  ¡ }t ¡ }| |¡}||fS ©N©ÚpyunitÚ
TestLoaderr   Ú
TestResultÚloadTestsFromTestCase©Úselfr
   ÚloaderÚrÚs© r   ú€/var/www/vedio/testing/chatpythonscript.ninositsolution.com/env/lib/python3.10/site-packages/twisted/trial/test/test_deferred.pyÚ
_loadSuite   ó   
zSetUpTests._loadSuiteÚNonec                 C  s8   |   tj¡\}}||ƒ |  | ¡ ¡ |  |jd¡ d S )Né   )r   r   ÚDeferredSetUpOKÚ
assertTrueÚwasSuccessfulÚassertEqualÚtestsRun©r   ÚresultÚsuiter   r   r   Útest_success   s   zSetUpTests.test_successc                 C  óx   |   tjj¡ |  tj¡\}}||ƒ |   | ¡ ¡ |  |jd¡ |  t|j	ƒd¡ |  t|j
ƒd¡ |   tjj¡ d S ©Nr   r   )ÚassertFalser   ÚDeferredSetUpFailÚ
testCalledr   r"   r#   r$   ÚlenÚfailuresÚerrorsr%   r   r   r   Ú	test_fail    ó   zSetUpTests.test_failc                 C  r)   r*   )r+   r   ÚDeferredSetUpCallbackFailr-   r   r"   r#   r$   r.   r/   r0   r%   r   r   r   Útest_callbackFail*   r2   zSetUpTests.test_callbackFailc                 C  r)   r*   )r+   r   ÚDeferredSetUpErrorr-   r   r"   r#   r$   r.   r/   r0   r%   r   r   r   Ú
test_error4   r2   zSetUpTests.test_errorc                 C  sŠ   |   tjj¡ |  tj¡\}}||ƒ |  | ¡ ¡ |  |jd¡ |  t	|j
ƒd¡ |  t	|jƒd¡ |  t	|jƒd¡ |   tjj¡ d S r*   )r+   r   ÚDeferredSetUpSkipr-   r   r!   r"   r#   r$   r.   r/   r0   Úskipsr%   r   r   r   Ú	test_skip>   s   zSetUpTests.test_skipN©r
   r   r   r   ©r   r   )	Ú__name__Ú
__module__Ú__qualname__r   r(   r1   r4   r6   r9   r   r   r   r   r	      s    







r	   c                   @  s4   e Zd Zddd„Zddd„Zdd
d„Zddd„ZdS )ÚNeverFireTestsr   r   c                 C  s   t j| _dt _d S )Ngš™™™™™¹?)r   ÚDEFAULT_TIMEOUT_DURATIONÚ_oldTimeout©r   r   r   r   ÚsetUpK   s   
zNeverFireTests.setUpc                 C  s   | j t_d S r   )rA   r   r@   rB   r   r   r   ÚtearDownO   s   zNeverFireTests.tearDownr
   r   r   c                 C  r   r   r   r   r   r   r   r   R   r   zNeverFireTests._loadSuitec                 C  s¬   |   tjj¡ |  tj¡\}}||ƒ |   | ¡ ¡ |  |jd¡ |  t|j	ƒd¡ |  t|j
ƒd¡ |   tjj¡ t|j
d d tƒsFJ ‚|  |j
d d  tj¡¡ d S r*   )r+   r   ÚDeferredSetUpNeverFirer-   r   r"   r#   r$   r.   r/   r0   Ú
isinstancer   r!   Úcheckr   ÚTimeoutErrorr%   r   r   r   Ú
test_setUpZ   s    zNeverFireTests.test_setUpNr;   r:   )r<   r=   r>   rC   rD   r   rI   r   r   r   r   r?   J   s
    


r?   c                   @  s    e Zd Zddd„Zddd	„Zd
S )Ú
TestTesterÚnameÚstrr   úpyunit.TestCasec                 C  s   t dƒ‚)Nzmust override me)ÚNotImplementedError©r   rK   r   r   r   ÚgetTesth   s   zTestTester.getTestúreporter.TestResultc                 C  s   t  ¡ }|  |¡ |¡ |S r   )r   r   rP   Úrun)r   rK   r&   r   r   r   ÚrunTestk   s   zTestTester.runTestN)rK   rL   r   rM   )rK   rL   r   rQ   )r<   r=   r>   rP   rS   r   r   r   r   rJ   g   s    
rJ   c                   @  s€   e Zd Zddd„Zddd	„Zdd
d„Zejddge_ddd„Z	ddd„Z
ddd„Zddd„Zddd„Zddd„Zddd„ZdS )ÚDeferredTestsrK   rL   r   údetests.DeferredTestsc                 C  ó
   t  |¡S r   )r   rT   rO   r   r   r   rP   r   ó   
zDeferredTests.getTestr   c                 C  ó*   |   d¡}|  | ¡ ¡ |  |jd¡ d S ©NÚ	test_passr   ©rS   r!   r"   r#   r$   ©r   r&   r   r   r   rZ   u   ó   
zDeferredTests.test_passc                 C  s8   |   d¡}|  | ¡ ¡ |  |jd¡ |  tjj¡ d S )NÚtest_passGeneratedr   ©rS   r!   r"   r#   r$   r   rT   Útouchedr\   r   r   r   r^   z   s   
z DeferredTests.test_passGeneratedz6twisted.internet.defer.deferredGenerator is deprecated)Úmessagec                 C  s8   |   d¡}|  | ¡ ¡ |  |jd¡ |  tjj¡ dS )zQ
        The body of a L{defer.inlineCallbacks} decorated test gets run.
        Útest_passInlineCallbacksr   Nr_   r\   r   r   r   rb   „   s   
z&DeferredTests.test_passInlineCallbacksc                 C  ó<   |   d¡}|  | ¡ ¡ |  |jd¡ |  t|jƒd¡ d S )Nr1   r   ©rS   r+   r"   r#   r$   r.   r/   r\   r   r   r   r1      ó   
zDeferredTests.test_failc                 C  rc   )NÚtest_failureInCallbackr   rd   r\   r   r   r   rf   “   re   z$DeferredTests.test_failureInCallbackc                 C  rc   )NÚtest_errorInCallbackr   )rS   r+   r"   r#   r$   r.   r0   r\   r   r   r   rg   ™   re   z"DeferredTests.test_errorInCallbackc                 C  sJ   |   d¡}|  | ¡ ¡ |  |jd¡ |  t|jƒd¡ |  tj	j
¡ d S ©Nr9   r   )rS   r!   r"   r#   r$   r.   r8   r+   r   rT   r`   r\   r   r   r   r9   Ÿ   s
   
zDeferredTests.test_skipc                 C  s`   |   d¡}|  | ¡ ¡ |  |jd¡ |  t|jƒd¡ |  t|jƒd¡ |  t|jƒd¡ d S ©NÚtest_expectedFailurer   r   )	rS   r!   r"   r#   r$   r.   r0   r/   ÚexpectedFailuresr\   r   r   r   Ú	test_todo¦   s   
zDeferredTests.test_todoc                 C  s.   |   d¡}|  |jd¡ |  | ¡ |j¡ d S )NÚtest_threadr   )rS   r#   r$   r!   r"   r0   r\   r   r   r   rm   ®   s   
zDeferredTests.test_threadN)rK   rL   r   rU   r;   )r<   r=   r>   rP   rZ   r^   r   ÚsuppressÚsupressrb   r1   rf   rg   r9   rl   rm   r   r   r   r   rT   q   s    



ÿ

	



rT   c                   @  sz   e Zd Zddd„Zd d
d„Zd!dd„Zd!dd„Zd!dd„Zd!dd„Zd!dd„Z	d!dd„Z
d!dd„Zd!dd„Zd!dd„ZdS )"ÚTimeoutTestsrK   rL   r   údetests.TimeoutTestsc                 C  rV   r   )r   rp   rO   r   r   r   rP   µ   rW   zTimeoutTests.getTestÚerrorr   r   c                 C  s   |   | tj¡tj¡ d S r   )r#   rG   r   rH   )r   rr   r   r   r   Ú_wasTimeout¸   s   zTimeoutTests._wasTimeoutc                 C  rX   rY   r[   r\   r   r   r   rZ   »   r]   zTimeoutTests.test_passc                 C  rX   )NÚtest_passDefaultr   r[   r\   r   r   r   rt   À   r]   zTimeoutTests.test_passDefaultc                 C  óh   |   d¡}|  | ¡ ¡ |  |jd¡ |  t|jƒd¡ t|jd d tƒs(J ‚|  	|jd d ¡ d S )NÚtest_timeoutr   r   ©
rS   r+   r"   r#   r$   r.   r0   rF   r   rs   r\   r   r   r   rv   Å   ó   
zTimeoutTests.test_timeoutc                 C  ru   )NÚtest_timeoutZeror   r   rw   r\   r   r   r   ry   Í   rx   zTimeoutTests.test_timeoutZeroc                 C  rc   rh   )rS   r!   r"   r#   r$   r.   r8   r\   r   r   r   r9   Õ   re   zTimeoutTests.test_skipc                 C  ru   ri   )
rS   r!   r"   r#   r$   r.   rk   rF   r   rs   r\   r   r   r   rl   Û   rx   zTimeoutTests.test_todoc                 C  sH   |   d¡}|  | ¡ ¡ |  |jd¡ tjjd usJ ‚|  tjj¡ d S )NÚtest_errorPropagationr   )	rS   r+   r"   r#   r$   r   rp   ÚtimedOutrs   r\   r   r   r   rz   ã   s
   
z"TimeoutTests.test_errorPropagationc                 C  sh   t  ¡ }| tj¡}t ¡ }| |¡ |  t	|j
ƒd¡ t|j
d d tƒs(J ‚|  |j
d d ¡ d S r*   )r   r   r   r   ÚTestClassTimeoutAttributer   r   rR   r#   r.   r0   rF   r   rs   )r   r   r'   r&   r   r   r   Útest_classTimeoutê   s   
zTimeoutTests.test_classTimeoutc                 C  sr   ddl m} | d|j¡}|  d¡}| ¡ r| ¡  |  | ¡ ¡ t	|j
d d tƒs-J ‚|  |j
d d ¡ d S )Nr   )Úreactoré   Útest_calledButNeverCallbackr   )Útwisted.internetr~   Ú	callLaterÚcrashrS   ÚactiveÚcancelr+   r"   rF   r0   r   rs   )r   r~   Úcallr&   r   r   r   Ú&test_callbackReturnsNonCallingDeferredó   s   
z3TimeoutTests.test_callbackReturnsNonCallingDeferredN)rK   rL   r   rq   )rr   r   r   r   r;   )r<   r=   r>   rP   rs   rZ   rt   rv   ry   r9   rl   rz   r}   r‡   r   r   r   r   rp   ´   s    









	rp   )Ú__doc__Ú
__future__r   r   r   r   r   Útwisted.python.failurer   Útwisted.trialr   r   Útwisted.trial.testr   ÚTestCaser	   r?   rJ   rT   rp   r   r   r   r   Ú<module>   s   9
CN