
    ZTh                     r    d dl Z d dlZd dlmZ d dlmZ d dlmZmZ  G d d      Z	 G d de      Z
d	 Zd
 Zy)    N)ProtocolError)HTTPResponse)SiftRestConfig_RestServicec                   >    e Zd ZU eed<   eed<   dedefdZdefdZy)MockResponsestatus_codetextc                      || _         || _        y Nr	   r
   )selfr	   r
   s      W/home/www/backend.miabetepe.com/venv/lib/python3.12/site-packages/sift_py/_rest_test.py__init__zMockResponse.__init__   s    &	    returnc                 @    t        j                  | j                        S r   )jsonloadsr
   r   s    r   r   zMockResponse.json   s    zz$))$$r   N)	__name__
__module____qualname__int__annotations__strr   dictr    r   r   r   r   
   s,    
IC s %d %r   r   c                       e Zd Zd Zy)TestRetryServicec                 R    | j                   j                  | j                   d      S )Nz/dummy)_sessionget	_base_urir   s    r   	get_dummyzTestRetryService.get_dummy   s#    }}  DNN#36!:;;r   N)r   r   r   r%   r   r   r   r    r       s    <r   r    c                     dddfd	}| j                  d|d       ddd	}t        |      }|j                         }k(  sJ |j                  d
k(  sJ y )N   r   c                     dz  dk(  rt        d      k  r"t        t        j                  d      di d      S t        t        j                  d      di d      S )	N   zSimulated connection errors   Gateway Timeouti  T)bodystatusheaderspreload_contents   Success   )r   r   ioBytesIO)	r   connmethodurltimeoutchunkedkwargs
call_countn_triess	          r   fake_make_requestz4test_http_adapter_retries.<locals>.fake_make_request    sj    a
? <=='!ZZ 23C]a   ZZ
+CUY r   z7urllib3.connectionpool.HTTPConnectionPool._make_requestT)side_effectautospec	dummy.comdummyuriapikeyr.   )NF)patchr    r%   r	   )mockerr9   test_configserviceresponser7   r8   s        @@r   test_http_adapter_retriesrF      sy    GJ LLA%   #K {+G  "H   3&&&r   c                    | j                  dd      }|j                  }|j                  }t        dd      |_        ddd	}t	        |      }d
|j
                  j                  v sJ |j
                  j                  d
   dk(  sJ y )Nzsift_py.rest.requests.SessionT)r;   r.   z{"key": "value"}r   r<   r=   r>   AuthorizationzBearer dummy)rA   return_valuer#   r   r    r"   r,   )rB   mock_sessionmock_session_instancemock_getrest_configrD   s         r   'test_rest_service_authorization_headersrN   C   s    << ?$<OL(55$((H(S?QRH #K {+Gg..66666##O4FFFr   )r/   r   urllib3.exceptionsr   urllib3.responser   sift_py.restr   r   r   r    rF   rN   r   r   r   <module>rR      s6    	  , ) 5	% 	%<| <
%'PGr   