
    BfE                         d Z ddlmZ  G d de          Z G d de          Zd Z e            Z[ G d d	e          Z G d
 de          Z	dS )zShared testing utilities.    )absolute_importc                   $    e Zd ZdZd Zd Zd ZdS )_MonkeyzBContext-manager for replacing module names in the scope of a test.c                     | _         |st          d          fd|D             | _        |                                D ]\  }}t	          ||           d S )Nz-_Monkey was used with nothing to monkey-patchc                 2    i | ]}|t          |          S  )getattr).0keymodules     m/home/panchajanya/Development/work/volatility3/lib/python3.11/site-packages/google/cloud/_testing/__init__.py
<dictcomp>z$_Monkey.__init__.<locals>.<dictcomp>   s%    CCC3 4 4CCC    )r   
ValueError
to_restoreitemssetattr)selfr   kwr   values    `   r   __init__z_Monkey.__init__   sw     	NLMMMCCCCCCC((** 	( 	(JCFC''''	( 	(r   c                     | S Nr   r   s    r   	__enter__z_Monkey.__enter__       r   c                 p    | j                                         D ]\  }}t          | j        ||           d S r   )r   r   r   r   )r   exc_typeexc_valexc_tbr   r   s         r   __exit__z_Monkey.__exit__"   sD    ///11 	- 	-JCDKe,,,,	- 	-r   N)__name__
__module____qualname____doc__r   r   r!   r   r   r   r   r      sG        LL( ( (  - - - - -r   r   c                   "    e Zd ZddZd Zd ZdS )_NamedTemporaryFile c                 |    dd l }dd l}|                    |          \  }| _        |                    |           d S )Nr   )suffix)ostempfilemkstempnameclose)r   r*   r+   r,   
filehandles        r   r   z_NamedTemporaryFile.__init__(   sI    			 ( 0 0 0 ? ?
DI
r   c                     | S r   r   r   s    r   r   z_NamedTemporaryFile.__enter__/   r   r   c                 B    dd l }|                    | j                   d S )Nr   )r+   remover.   )r   r   r   r    r+   s        r   r!   z_NamedTemporaryFile.__exit__2   s%    			
		$)r   N)r(   )r"   r#   r$   r   r   r!   r   r   r   r'   r'   '   sF                 r   r'   c                  H    dd l } dd ldd l| j        fd            }|S )Nr   c               3   f   K                                    } | V                      |            d S r   )mkdtemprmtree)temp_dirshutilr,   s    r   _tempdir_mgrz$_tempdir_maker.<locals>._tempdir_mgr=   s9      ##%%hr   )
contextlibr9   r,   contextmanager)r;   r:   r9   r,   s     @@r   _tempdir_makerr=   8   sV    MMMOOO           
 r   c                   H    e Zd ZdZd Zed	d            Zd Zd Zd Z	d Z
dS )
_GAXBaseAPIFc                 :    | j                             |           d S r   )__dict__update)r   r   s     r   r   z_GAXBaseAPI.__init__Q   s    R     r   Nc                 X    ddl m} ddlm} d} |dd || |          } ||d d d           S )Nr   )	_RPCState)GrpcRendezvouszSome error details.r   )grpc._channelrD   google.cloud.exceptionsrE   )status_codetrailingrD   rE   details	exc_states         r   _make_grpc_errorz_GAXBaseAPI._make_grpc_errorT   sX    ++++++::::::'Ib$+wGG	~itT:::r   c                 B    ddl m} |                     |j                  S Nr   )
StatusCode)grpcrO   rL   	NOT_FOUNDr   rO   s     r   _make_grpc_not_foundz _GAXBaseAPI._make_grpc_not_found]   s+    ######$$Z%9:::r   c                 B    ddl m} |                     |j                  S rN   )rP   rO   rL   FAILED_PRECONDITIONrR   s     r   _make_grpc_failed_preconditionz*_GAXBaseAPI._make_grpc_failed_preconditionb   s+    ######$$Z%CDDDr   c                 B    ddl m} |                     |j                  S rN   )rP   rO   rL   ALREADY_EXISTSrR   s     r   _make_grpc_already_existsz%_GAXBaseAPI._make_grpc_already_existsg   s+    ######$$Z%>???r   c                 B    ddl m} |                     |j                  S rN   )rP   rO   rL   DEADLINE_EXCEEDEDrR   s     r   _make_grpc_deadline_exceededz(_GAXBaseAPI._make_grpc_deadline_exceededl   s+    ######$$Z%ABBBr   r   )r"   r#   r$   _random_gax_errorr   staticmethodrL   rS   rV   rY   r\   r   r   r   r?   r?   N   s        ! ! ! ; ; ; \;; ; ;
E E E
@ @ @
C C C C Cr   r?   c                       e Zd Zd Zd ZdS )_GAXPageIteratorc                 b    t          |          | _        |                    d          | _        d S )N
page_token)iter_pagesgetrb   )r   pageskwargss      r   r   z_GAXPageIterator.__init__s   s&    5kk **\22r   c                 *    t          | j                  S )zIterate to the next page.)nextrd   r   s    r   __next__z_GAXPageIterator.__next__w   s    DK   r   N)r"   r#   r$   r   rj   r   r   r   r`   r`   r   s2        3 3 3! ! ! ! !r   r`   N)
r%   
__future__r   objectr   r'   r=   _tempdirr?   r`   r   r   r   <module>rn      s       & & & & & &- - - - -f - - -&    &   "  " >!C !C !C !C !C& !C !C !CH! ! ! ! !v ! ! ! ! !r   