
    Yd                         d dl Z d dlmZ d dlZd dlZd dlmZmZ ed        Zd Z	d Z
d Zej                  j                   d        Zej                  j                   d	        Zy)
    N)	MagicMock)run_hookrun_syncc                  J   K   t        j                  d       d {    y7 w)Ng{Gz?*   )asynciosleep     :/usr/lib/python3/dist-packages/nbclient/tests/test_util.pysome_async_functionr   
   s      
--
 s   #!#c                      d } t        j                         }t        j                  |       |j                   |              }||u sJ y )Nc                  P   K   t               dk(  sJ t        j                         S wNr   )r   r   get_running_loopr
   r   r   _testz7test_nested_asyncio_with_existing_ioloop.<locals>._test   s&     "$***''))s   $&)r   new_event_loopset_event_looprun_until_complete)r   loop
event_loops      r   (test_nested_asyncio_with_existing_ioloopr      sE    * !!#D4 ((1Jr   c                  L    t        j                  d        t               dk(  sJ y r   )r   r   r   r
   r   r   "test_nested_asyncio_with_no_ioloopr      s!    4  B&&&r   c                      t        j                  t        j                                t        j                  j
                  j                         fdfdfd} j                  |        y )Nc                     K   t        j                  t        j                  d            } j                  | d        |  d {    y7 w)Ng?c                 "    | j                         S N)result)fs    r   <lambda>zOtest_nested_asyncio_with_tornado.<locals>.some_async_function.<locals>.<lambda>)   s    AHHJ r   r   )r   ensure_futurer	   
add_future)futureioloops    r   r   z=test_nested_asyncio_with_tornado.<locals>.some_async_function&   s@     !(!6!6w}}S7I!J&"67 	s   AAA
Ac                  $     t                      S r   )r   )r   s   r   some_sync_functionz<test_nested_asyncio_with_tornado.<locals>.some_sync_function-   s    ,x+,..r   c                  R   K             d {   dk(  sJ         dk(  sJ y 7 wr   r
   )r   r'   s   r   runz-test_nested_asyncio_with_tornado.<locals>.run0   s1     (**b000!#r))) +s   '%')r   r   r   tornador%   IOLoopcurrentr   )r)   r%   r   r'   s    @@@r    test_nested_asyncio_with_tornador-       sQ     71134^^""**,F/*
 OOCr   c                  l   K   t               } t        |        d {    | j                  dk(  sJ y 7 w)N   )r   r   
call_count)r'   s    r   test_run_hook_syncr1   8   s6     "
%
&&&((A--- 's   424c                     K   t        t                     } t        |        d {    | j                  dk(  sJ y 7 w)N)return_valuer/   )r   r   r   r0   )hooks    r   test_run_hook_asyncr5   ?   s8     "5"78D
4.??a s   #><>)r   unittest.mockr   pytestr*   nbclient.utilr   r   r   r   r   r-   markr1   r5   r
   r   r   <module>r:      ss     #   , 
 

'
0 . .    r   