a
    !f;                     @   s8   d Z G dd deZG dd deZG dd deZdS )zShared testing utilities.c                   @   s$   e Zd Zdd Zdd Zdd ZdS )_Monkeyc                    sT    | _ t|dkrtdt fdd|D | _| D ]\}}t || q:d S )N    z-_Monkey was used with nothing to monkey-patchc                    s   g | ]}|t  |fqS  )getattr).0keymoduler   P/var/www/html/python-backend/venv/lib/python3.9/site-packages/gcloud/_testing.py
<listcomp>       z$_Monkey.__init__.<locals>.<listcomp>)r   len
ValueErrordict
to_restoreitemssetattr)selfr   kwr   valuer   r   r	   __init__   s    z_Monkey.__init__c                 C   s   | S Nr   r   r   r   r	   	__enter__   s    z_Monkey.__enter__c                 C   s&   | j  D ]\}}t| j|| q
d S r   )r   r   r   r   )r   exc_typeexc_valexc_tbr   r   r   r   r	   __exit__    s    z_Monkey.__exit__N__name__
__module____qualname__r   r   r   r   r   r   r	   r      s   r   c                   @   s&   e Zd Zd	ddZdd Zdd ZdS )
_NamedTemporaryFile c                 C   s0   dd l }dd l}|j|d\}| _|| d S )Nr   )suffix)ostempfilemkstempnameclose)r   r#   r$   r%   Z
filehandler   r   r	   r   '   s    z_NamedTemporaryFile.__init__c                 C   s   | S r   r   r   r   r   r	   r   -   s    z_NamedTemporaryFile.__enter__c                 C   s   dd l }|| j d S )Nr   )r$   remover'   )r   r   r   r   r$   r   r   r	   r   0   s    z_NamedTemporaryFile.__exit__N)r"   r   r   r   r   r	   r!   %   s   
r!   c                   @   s   e Zd Zdd Zdd ZdS )_GAXPageIteratorc                 C   s   || _ || _d S r   )_items
page_token)r   r   r,   r   r   r	   r   7   s    z_GAXPageIterator.__init__c                 C   s   | j d  }| _ |S r   )r+   )r   r   r   r   r	   next;   s    z_GAXPageIterator.nextN)r   r   r    r   r-   r   r   r   r	   r*   5   s   r*   N)__doc__objectr   r!   r*   r   r   r   r	   <module>   s   