Ë
    CØïiþ  ã                   ór  — d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ ej                  j                  deddfd„«       Zej                  j                  dd„«       Zej                  j                  dd	„«       Zej                  j                  dd
„«       Zej                  j                  deddfd„«       Zy)é    N)ÚMockerFixture)ÚModel)ÚAPIRequestorÚmockerÚreturnc                 óš   ‡— i Šˆfd„}| j                  d|«       d}t        j                  d|¬«       ‰j                  d«      }||k(  sJ ‚y )Nc                 ó¸   •— |d   Št        j                  «       }d|_        d|j                  d<   t	        j
                  i «      j                  d«      |_        |S )NÚheaderséÈ   zapplication/jsonzcontent-typezutf-8)ÚrequestsÚResponseÚstatus_coder
   ÚjsonÚdumpsÚencodeÚ_content)ÚselfÚargsÚkwargsÚrÚgot_headerss       €úY/var/www/html/aiagents/fe/lib/python3.12/site-packages/openai/tests/test_api_requestor.pyÚfake_requestz4test_requestor_sets_request_id.<locals>.fake_request   sO   ø€ à˜YÑ'ˆÜ×ÑÓˆØˆŒØ$6ˆ�	‰	�.Ñ!Ü—Z‘Z “^×*Ñ*¨7Ó3ˆŒ
Øˆó    z!requests.sessions.Session.requestÚ1234Úxxx)Ú
request_idzX-Request-Id)Úpatchr   ÚretrieveÚget)r   r   Úfake_request_idÚgot_request_idr   s       @r   Útest_requestor_sets_request_idr#      sO   ø€ ð €Kôð ‡L�LÐ4°lÔCØ€OÜ	‡N�N�5 _Õ5Ø —_‘_ ^Ó4€NØ˜_Ò,Ð,Ñ,r   c                  óŽ   — t        dd¬«      } ddi}| j                  d|d¬«      }d|v sJ ‚|d   dk(  sJ ‚d	|v sJ ‚|d	   d
k(  sJ ‚y )NÚtest_keyÚopen_ai©ÚkeyÚapi_typeÚTest_HeaderÚUnit_Test_Headerr    Útest_id©ÚmethodÚextrar   ÚAuthorizationúBearer test_key©r   Úrequest_headers©Úapi_requestorr
   s     r   Útest_requestor_open_ai_headersr6   !   s{   € ä  Z¸)ÔD€MØÐ0Ð1€GØ×+Ñ+Ø˜G°	ð ,ó €Gð ˜GÑ#Ð#Ð#Ø�=Ñ!Ð%7Ò7Ð7Ð7Ø˜gÑ%Ð%Ð%Ø�?Ñ#Ð'8Ò8Ð8Ñ8r   c                  óŽ   — t        dd¬«      } ddi}| j                  d|d¬«      }d|v sJ ‚|d   dk(  sJ ‚d	|v sJ ‚|d	   dk(  sJ ‚y )
Nr%   Úazurer'   r*   r+   r    r,   r-   zapi-keyr2   r4   s     r   Útest_requestor_azure_headersr9   .   sz   € ä  Z¸'ÔB€MØÐ0Ð1€GØ×+Ñ+Ø˜G°	ð ,ó €Gð ˜GÑ#Ð#Ð#Ø�=Ñ!Ð%7Ò7Ð7Ð7Ø˜ÑÐÐØ�9Ñ Ò+Ð+Ñ+r   c                  óŽ   — t        dd¬«      } ddi}| j                  d|d¬«      }d|v sJ ‚|d   dk(  sJ ‚d	|v sJ ‚|d	   d
k(  sJ ‚y )Nr%   Úazure_adr'   r*   r+   r    r,   r-   r0   r1   r2   r4   s     r   Útest_requestor_azure_ad_headersr<   ;   s{   € ä  Z¸*ÔE€MØÐ0Ð1€GØ×+Ñ+Ø˜G°	ð ,ó €Gð ˜GÑ#Ð#Ð#Ø�=Ñ!Ð%7Ò7Ð7Ð7Ø˜gÑ%Ð%Ð%Ø�?Ñ#Ð'8Ò8Ð8Ñ8r   c                 óR  ‡‡— ddl m} t        |d«       t        dd¬«      }| j	                  «       Š| j                  dˆfd„«       |j                  d	d
«       ‰j                  j                  «        |j                  d	d
«       ‰j                  j                  «        | j                  dd«       | j	                  «       Š| j                  dˆfd„«       |j                  d	d
«       ‰j                  j                  «        ‰j                  j                  «        t        |d«       y )Nr   )Ú_thread_contextÚsessionr%   r;   r'   z"openai.api_requestor._make_sessionc                  ó   •— ‰ S ©N© )Úmock_sessions   €r   ú<lambda>z/test_requestor_cycle_sessions.<locals>.<lambda>S   s   ø€ ¸|€ r   r    zhttp://example.comz.openai.api_requestor.MAX_SESSION_LIFETIME_SECSc                  ó   •— ‰ S rA   rB   )Úmock_session_2s   €r   rD   z/test_requestor_cycle_sessions.<locals>.<lambda>`   s   ø€ ¸~€ r   )Úopenai.api_requestorr>   Údelattrr   Ú	MagicMockr   Úrequest_rawÚrequestÚassert_calledÚcloseÚassert_not_called)r   r>   r5   rC   rF   s      @@r   Útest_requestor_cycle_sessionsrO   H   sò   ù€ õ 5äˆO˜YÔ'ä  Z¸*ÔE€Mà×#Ñ#Ó%€LØ
‡L�LÐ5Ó7KÔLð ×Ñ˜eÐ%9Ô:Ø×Ñ×&Ñ&Ô(Ø×Ñ˜eÐ%9Ô:Ø×Ñ×(Ñ(Ô*à
‡L�LÐAÀ1ÔEð ×%Ñ%Ó'€NØ
‡L�LÐ5Ó7MÔNØ×Ñ˜eÐ%9Ô:Ø×Ñ×$Ñ$Ô&Ø×Ñ×(Ñ(Ô*äˆO˜YÕ'r   )r   N)r   Úpytestr   Úpytest_mockr   Úopenair   rG   r   ÚmarkÚ	requestorr#   r6   r9   r<   rO   rB   r   r   ú<module>rU      sÉ   ðÛ ã Û Ý %å Ý -ð ‡�×Ñð-¨=ð -¸Tò -ó ð-ð* ‡�×Ñò	9ó ð	9ð ‡�×Ñò	,ó ð	,ð ‡�×Ñò	9ó ð	9ð ‡�×Ñð(¨-ð (¸Dò (ó ñ(r   