o
    wOi                     @   sb   d dl Z d dlZd dlZd dlZzd dlZW n ey%   d dlmZ Y nw G dd dejZdS )    N)mockc                   @   s0   e Zd Zdd Zd
ddZd
ddZdd	 ZdS )TestClientApiBasec                 C   s   t  | _d S N)etcdClientclient)self r	   L/home/ubuntu/.local/lib/python3.10/site-packages/etcd/tests/unit/__init__.pysetUp   s   zTestClientApiBase.setUpNc                 C   sR   t |trt|d}n|d}ttjj	 }||_
||_|p$d|j_|S )Nzutf-8abcd1234)
isinstancedictjsondumpsencoder   create_autospecurllib3responseHTTPResponsestatusdata	getheaderreturn_value)r   sd
cluster_idr   rr	   r	   r
   _prepare_response   s   

z#TestClientApiBase._prepare_responsec                 C   s$   | j |||d}tj|d| j_d S )N)r   )r   )r   r   	MagicMockr   api_execute)r   r   r   r   respr	   r	   r
   	_mock_api   s   zTestClientApiBase._mock_apic                 C   s   t j||d| j_d S )N)side_effect)r   Mockr   r    )r   excmsgr	   r	   r
   _mock_exception    s   z!TestClientApiBase._mock_exceptionr   )__name__
__module____qualname__r   r   r"   r'   r	   r	   r	   r
   r      s
    

r   )r   unittestr   r   r   ImportErrorTestCaser   r	   r	   r	   r
   <module>   s    