
    i)$                         d dl Z d dlZd dlZd dlZd dlZd dlmZ ddlmZ  ej	        d          Z
 ej	        d          Z G d d	ej                  Z G d
 dej                  ZdS )    N)mocked   )UnstubbedStepErrorzmy-app)app_idtestc                       e Zd ZddZdS )TestTriggerAsyncreturnNc                 b   t                               dt          j        d                    dt          j        dt
          t          df         fd            }t          j        |t          j	        d          t                    }|j        t          j        j        u sJ |j        d	k    sJ d S )
Nr   eventfn_idtriggerctxr
   .c                     K   dt           dt           fd j                             fd fdf           d {V S )Nvaluer
   c                 
   K   | S N )r   s    e/root/projects/qq-shell/venv/lib/python3.11/site-packages/inngest/experimental/mocked/trigger_test.pyfooz7TestTriggerAsync.test_parallel.<locals>.fn.<locals>.foo   s          c                  <     j                             dd          S Nasteprunr   r   s   r   <lambda>z<TestTriggerAsync.test_parallel.<locals>.fn.<locals>.<lambda>       CHLLc377 r   c                  <     j                             dd          S Nbr   r    s   r   r!   z<TestTriggerAsync.test_parallel.<locals>.fn.<locals>.<lambda>   r"   r   )strgroupparallelr    s   `@r   fnz*TestTriggerAsync.test_parallel.<locals>.fn   s      
      ++7777777777        r   namer   r%   )clientcreate_functioninngestTriggerEventContexttupler&   r   r   Eventclient_mockstatusStatus	COMPLETEDoutputselfr)   ress      r   test_parallelzTestTriggerAsync.test_parallel   s    			(v666 
  

 

		'/ 		eCHo 		 		 			

 

		 nRF!;!;!;[IIzV]44444zZ''''''r   r
   N)__name__
__module____qualname__r<   r   r   r   r	   r	      s(        ( ( ( ( ( (r   r	   c                   ~    e Zd ZddZddZddZddZddZddZdd	Z	dd
Z
ddZddZddZddZddZddZdS )TestTriggerSyncr
   Nc                 H   t                               dt          j        d                    dt          j        dt
          fd            }t          j        |t          j        d          t                    }|j
        t          j        j        u sJ |j        dk    sJ d S )	Nr   r   r   r   r
   c                     dS )Nhir   r   s    r   r)   z)TestTriggerSync.test_no_steps.<locals>.fn(   s	    
 4r   r*   rE   r-   r.   r/   r0   ContextSyncr&   r   r   r3   r4   r5   r6   r7   r8   r9   s      r   test_no_stepszTestTriggerSync.test_no_steps'   s    			(v666 
  

 

	G' 	C 	 	 		

 

	 nRF!;!;!;[IIzV]44444zT!!!!!!r   c                 H   t                               dt          j        d                    dt          j        dt
          fd            }t          j        |t          j        d          t                    }|j
        t          j        j        u sJ |j        dk    sJ d S )	Nr   r   r   r   r
   c                 v    | j                             dd            | j                             dd            dS )Nr   c                      d S r   r   r   r   r   r!   z<TestTriggerSync.test_two_steps.<locals>.fn.<locals>.<lambda>9       d r   r%   c                      d S r   r   r   r   r   r!   z<TestTriggerSync.test_two_steps.<locals>.fn.<locals>.<lambda>:   rM   r   rE   r   rF   s    r   r)   z*TestTriggerSync.test_two_steps.<locals>.fn4   s9    
 HLLll+++HLLll+++4r   r*   rE   rG   r9   s      r   test_two_stepszTestTriggerSync.test_two_steps3   s    			(v666 
  

 

	G' 	C 	 	 		

 

	
 nRF!;!;!;[IIzV]44444zT!!!!!!r   c                 D   t                               dt          j        d                    dt          j        dt
          t                   fd            }t          j        |t          j	        d          t                    }|j        t          j        j        u sJ dS )	z
        TODO: Figure out how to support this use case. Since the client in the
        Inngest function is real, it's trying to send the event to a real
        Inngest server.
        r   r   r   r   r
   c                     t                               t          j        d          t          j        d          g          S )Nother-eventr*   )r-   	send_syncr/   r3   rF   s    r   r)   z,TestTriggerSync.test_client_send.<locals>.fnH   sA    
 ##M}555M}555  r   r*   N)r-   r.   r/   r0   rH   listr&   r   r   r3   r4   r5   r6   FAILEDr9   s      r   test_client_sendz TestTriggerSync.test_client_sendA   s     
		(v666 
  

 

	G' 	DI 	 	 		

 

	 nRF!;!;!;[IIzV]1111111r   c                 b   t                               dt          j        d                    dt          j        dt
          t                   fd            }t          j        |t          j	        d          t                    }|j        t          j        j        u sJ |j        ddgk    sJ d S )	Nr   r   r   r   r
   c                     | j                             dt          j        d          t          j        d          g          S )Nr   zevent-1r*   zevent-2)r   
send_eventr/   r3   rF   s    r   r)   z+TestTriggerSync.test_send_event.<locals>.fnX   sF    
 8&&My111My111  r   r*   00000000000000000000000000)r-   r.   r/   r0   rH   rT   r&   r   r   r3   r4   r5   r6   r7   r8   r9   s      r   test_send_eventzTestTriggerSync.test_send_eventW   s    			(v666 
  

 

	G' 	DI 	 	 		

 

	 nRF!;!;!;[IIzV]44444z((
 
 
 
 
 
 
r   c                 Z   t                               dt          j        d                    dt          j        dt
          j        fd            }t          j        |t          j	        d          t          dd	i
          }|j        t          j        j        u sJ |j        d	k    sJ d S )Nr   r   r   r   r
   c                 <    | j                             ddd          S )Nr   r   bar)r   function_id)r   invoke_by_idrF   s    r   r)   z'TestTriggerSync.test_invoke.<locals>.fnm   s,    
 8((! )   r   r*   r   rE   
step_stubs)r-   r.   r/   r0   rH   typingAnyr   r   r3   r4   r5   r6   r7   r8   r9   s      r   test_invokezTestTriggerSync.test_invokel   s    			(v666 
  

 

	G' 	FJ 	 	 		

 

	 nMv&&&T{	
 
 
 zV]44444zT!!!!!!r   c                 b   t                               dt          j        d                    dt          j        dt
          t          df         fd            }t          j        |t          j	        d          t                    }|j        t          j        j        u sJ |j        d	k    sJ d S )
Nr   r   r   r   r
   .c                 H      j                              fd fdf          S )Nc                  <     j                             dd           S )Nr   c                      dS r   r   r   r   r   r!   zMTestTriggerSync.test_parallel.<locals>.fn.<locals>.<lambda>.<locals>.<lambda>       c r   r   rF   s   r   r!   z;TestTriggerSync.test_parallel.<locals>.fn.<locals>.<lambda>       CHLLkk:: r   c                  <     j                             dd           S )Nr%   c                      dS r$   r   r   r   r   r!   zMTestTriggerSync.test_parallel.<locals>.fn.<locals>.<lambda>.<locals>.<lambda>   rj   r   r   rF   s   r   r!   z;TestTriggerSync.test_parallel.<locals>.fn.<locals>.<lambda>   rk   r   )r'   r(   rF   s   `r   r)   z)TestTriggerSync.test_parallel.<locals>.fn   s<    
 9%%::::::::  r   r*   r,   )r-   r.   r/   r0   rH   r2   r&   r   r   r3   r4   r5   r6   r7   r8   r9   s      r   r<   zTestTriggerSync.test_parallel   s    			(v666 
  

 

	G' 	E#s(O 	 	 		

 

	 nRF!;!;!;[IIzV]44444zZ''''''r   c                 H   t                               dt          j        d                    dt          j        dt
          fd            }t          j        |t          j        d          t                    }|j
        t          j        j        u sJ |j        dk    sJ d S )	Nr   r   r   r   r
   c                 b    | j                             dt          j        d                     dS )Nr   r   secondsrE   )r   sleepdatetime	timedeltarF   s    r   r)   z&TestTriggerSync.test_sleep.<locals>.fn   s-    
 HNN3 21 = = =>>>4r   r*   rE   rG   r9   s      r   
test_sleepzTestTriggerSync.test_sleep   s    			(v666 
  

 

	G' 	C 	 	 		

 

	 nRF!;!;!;[IIzV]44444zT!!!!!!r   c           
         t                               dt          j        d                    dt          j        dt
          j        t          t          j        f         fd            }t          j
        |t          j        d          t          dt          j        d	d
id          i          }|j        t          j        j        u sJ |j        d	d
ik    sJ d S )Nr   r   r   r   r
   c                 x    | j                             ddt          j        d                    }|J |j        S Nr   rR   r   rp   )r   timeout)r   wait_for_eventrs   rt   datar   r   s     r   r)   z/TestTriggerSync.test_wait_for_event.<locals>.fn   sM    
 H++# *1555 ,  E
 $$$:r   r*   r   r   r   rR   )r{   r+   ra   )r-   r.   r/   r0   rH   rc   Mappingr&   JSONr   r   r3   r4   r5   r6   r7   r8   r9   s      r   test_wait_for_eventz#TestTriggerSync.test_wait_for_event   s    			(v666 
  

 

	G' 	FN3;L,M 	 	 		

 

	 nMv&&&W]
GGG	
 
 
 zV]44444zeQZ''''''r   c                 @   t                               dt          j        d                    dt          j        dd fd            }t          j        |t          j        d          t          dt
          j	        i	          }|j
        t
          j        j        u sJ d S )
Nr   r   r   r   r
   c                 n    | j                             ddt          j        d                    }|J d S rx   r   rz   rs   rt   r|   s     r   r)   z7TestTriggerSync.test_wait_for_event_timeout.<locals>.fn   sF    
 H++# *1555 ,  E
 =====r   r*   r   ra   )r-   r.   r/   r0   rH   r   r   r3   r4   Timeoutr5   r6   r7   r9   s      r   test_wait_for_event_timeoutz+TestTriggerSync.test_wait_for_event_timeout   s    			(v666 
  

 

	!G' 	!D 	! 	! 	!	

 

	! nMv&&&V^,	
 
 
 zV]4444444r   c                 T   t                               dt          j        d                    dt          j        dd fd            }t          j        t                    5  t          j	        |t          j
        d          t                     d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   r
   c                 f    | j                             ddt          j        d                     d S rx   r   rF   s    r   r)   z;TestTriggerSync.test_wait_for_event_not_stubbed.<locals>.fn   sD    
 H### *1555 $     r   r*   )r-   r.   r/   r0   rH   pytestraisesr   r   r   r3   r4   )r:   r)   s     r   test_wait_for_event_not_stubbedz/TestTriggerSync.test_wait_for_event_not_stubbed   s	   			(v666 
  

 

	G' 	D 	 	 		

 

	 ]-.. 	H 	HN2w}&999;GGG	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	Hs   !/BB!$B!c                 R   dt                               dt          j        d                    dt          j        dt
          ffd            }t          j        |t          j        d          t                    }|j
        t          j        j        u sJ |j        d	k    sJ d S )
Nr   r   r   r   r   r
   c                 T    dt           ffd}| j                            d|          S )Nr
   c                  <     dz    dk     rt          d          dS Nr      oh norE   	Exception)counters   r   r   z6TestTriggerSync.test_retry_step.<locals>.fn.<locals>.a   s(    1Q;;#G,,,tr   r   )r&   r   r   )r   r   r   s     r   r)   z+TestTriggerSync.test_retry_step.<locals>.fn   s@    
s       8<<Q'''r   r*   rE   rG   r:   r)   r;   r   s      @r   test_retry_stepzTestTriggerSync.test_retry_step   s    			(v666 
  

 

	(G' 	(C 	( 	( 	( 	( 	(	

 

	( nRF!;!;!;[IIzV]44444zT!!!!!!r   c                    t                               ddt          j        d                    dt          j        dd fd            }t          j        |t          j        d          t                    }|j	        t
          j
        j        u sJ |j        J t          |j        t                    sJ t!          |j                  d	k    sJ d S )
Nr   r   r   r   retriesr   r   r
   c                 D    dd}| j                             d|           d S )Nr
   c                       t          d          Nr   r   r   r   r   r   z5TestTriggerSync.test_fail_step.<locals>.fn.<locals>.a   s    (((r   r   r=   r   )r   r   s     r   r)   z*TestTriggerSync.test_fail_step.<locals>.fn   s4    ) ) ) ) HLLa     r   r*   r   r-   r.   r/   r0   rH   r   r   r3   r4   r5   r6   rU   r8   
isinstanceerrorr   r&   r9   s      r   test_fail_stepzTestTriggerSync.test_fail_step   s    			(v666 
  

 


	!G' 	!D 	! 	! 	!

 


	! nRF!;!;!;[IIzV]11111z!!!#)Y/////39~~((((((r   c                 R   dt                               dt          j        d                    dt          j        dt
          ffd            }t          j        |t          j        d          t                    }|j
        t          j        j        u sJ |j        d	k    sJ d S )
Nr   r   r   r   r   r
   c                 <    dz  dk     rt          d          dS r   r   )r   r   s    r   r)   z)TestTriggerSync.test_retry_fn.<locals>.fn  s*     qLG{{(((4r   r*   rE   rG   r   s      @r   test_retry_fnzTestTriggerSync.test_retry_fn  s    			(v666 
  

 

	G' 	C 	 	 	 	 		

 

	 nRF!;!;!;[IIzV]44444zT!!!!!!r   c                    t                               ddt          j        d                    dt          j        dd fd            }t          j        |t          j        d          t                    }|j	        t
          j
        j        u sJ |j        J t          |j        t                    sJ t!          |j                  d	k    sJ d S )
Nr   r   r   r   r   r
   c                      t          d          r   r   rF   s    r   r)   z(TestTriggerSync.test_fail_fn.<locals>.fn  s     G$$$r   r*   r   r   r9   s      r   test_fail_fnzTestTriggerSync.test_fail_fn  s    			(v666 
  

 


	%G' 	%D 	% 	% 	%

 


	% nRF!;!;!;[IIzV]11111z!!!#)Y/////39~~((((((r   r=   )r>   r?   r@   rI   rO   rV   r[   re   r<   ru   r   r   r   r   r   r   r   r   r   r   rB   rB   &   s0       
" 
" 
" 
"" " " "2 2 2 2,
 
 
 
*" " " "*( ( ( ("" " " "( ( ( (25 5 5 5*H H H H" " " "*) ) ) )$" " " "$) ) ) ) ) )r   rB   )rs   rc   unittestr   r/   inngest.experimentalr   errorsr   Inngestr-   r4   TestCaser	   rB   r   r   r   <module>r      s         ' ' ' ' ' ' & & & & & &		)	)	)fnF+++( ( ( ( (x( ( ( (,|) |) |) |) |)h' |) |) |) |) |)r   