
    Sj                         d dl Z d dlmZmZ d dlZd dlmZ  G d de j                        Ze	dk(  r e j                          yy)    N)patch	MagicMock)FirecrawlAppc                       e Zd Z ed      d        Z ed      d        Z ed      d        Z ed      d        Z ed      d        Z ed      d        Z	y)	TestTimeoutConversionzrequests.postc                 "   t               }d|_        dddid|j                  _        ||_        t	        t
        j                  j                  dd            }|j                  d	d
       |j                  \  }}| j                  |d   d       y )N   TmarkdownTest contentsuccessdataTEST_API_KEYdummy-api-key-for-testingapi_keyhttps://example.comi`  timeoutr   g     @P@r   status_codejsonreturn_valuer   osenvironget
scrape_url	call_argsassertEqualself	mock_postmock_responseappargskwargss         P/root/.hermes/venv/lib/python3.12/site-packages/tests/test_timeout_conversion.py"test_scrape_url_timeout_conversionz8TestTimeoutConversion.test_scrape_url_timeout_conversion	   s    !$'!N+
' "/	2::>>.B]#^_,e< **f	*D1    c                    t               }d|_        dddid|j                  _        ||_        t	        t
        j                  j                  dd            }|j                  d	       |j                  \  }}| j                  |d
   d       y )Nr	   Tr
   r   r   r   r   r   r   r        A@r   r    s         r'   test_scrape_url_default_timeoutz5TestTimeoutConversion.test_scrape_url_default_timeout   s    !$'!N+
' "/	2::>>.B]#^_,- **f	*D1r)   c                    t               }d|_        ||_        t        t        j
                  j                  dd            }ddi}ddi}|j                  d	||       |j                  \  }}| j                  |d   d
       y )Nr	   r   r   r   r   0u  Content-Typeapplication/jsonhttps://example.com/apir+   
r   r   r   r   r   r   r   _post_requestr   r   r!   r"   r#   r$   r   headersr%   r&   s           r'   $test_post_request_timeout_conversionz:TestTimeoutConversion.test_post_request_timeout_conversion-   s    !$'!!.	2::>>.B]#^_5!!#563T7C **f	*D1r)   c                    t               }d|_        ||_        t        t        j
                  j                  dd            }ddd}dd	i}|j                  d
||       |j                  \  }}| j                  |d   d       y )Nr	   r   r   r   r.   r   )r   urlr/   r0   r1   r   r+   r2   r4   s           r'   !test_post_request_default_timeoutz7TestTimeoutConversion.test_post_request_default_timeout=   s    !$'!!.	2::>>.B]#^_ )>?!#563T7C **f	*D1r)   c                    t               }d|_        dddid|j                  _        ||_        t	        t
        j                  j                  dd            }|j                  d	d
       |j                  \  }}| j                  |d   d       |j                  d	d       |j                  \  }}| j                  |d   d       y )Nr	   Tr
   r   r   r   r   r   r   i  r   r   g      @r   g      @r   r    s         r'   test_timeout_edge_casesz-TestTimeoutConversion.test_timeout_edge_casesM   s    !$'!N+
' "/	2::>>.B]#^_,d; **f	*C0,a8 **f	*C0r)   c                    t               }d|_        ||_        t        t        j
                  j                  dd            }ddi}ddi}|j                  d	||       |j                  \  }}| j                  |d
          y )Nr	   r   r   r   r8   r   r/   r0   r1   r   )
r   r   r   r   r   r   r   r3   r   assertIsNoner4   s           r'    test_post_request_no_timeout_keyz6TestTimeoutConversion.test_post_request_no_timeout_keyc   s~    !$'!!.	2::>>.B]#^_,-!#563T7C **f&+,r)   N)
__name__
__module____qualname__r   r(   r,   r6   r9   r;   r>    r)   r'   r   r      s    
?2 2" ?2 2" ?2 2 ?2 2 ?1 1* ?- -r)   r   __main__)unittestunittest.mockr   r   r   	firecrawlr   TestCaser   r?   mainrB   r)   r'   <module>rI      s@     * 	 "j-H-- j-Z zHMMO r)   