
    Oh                        d Z ddlmZ ddlZddlmZ ddlZddlmZ ddl	m
c mZ ddlZddlmZ ej$                  j&                  ej$                  j(                  ej$                  j+                  d      gZd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Z ej$                  jC                  deejD                  feejF                  fed f ejH                  e eejJ                  d       ejL                  d             ejH                  e eejJ                  d       ejL                  d       ejL                  d      ejN                  ej$                  jQ                   e       d      g      eejR                  fe ejT                  feejD                  feejF                  fg	      ej$                  jC                  ddddidddg      d               Z+ej$                  jC                  d ddg      d!        Z,y)"z9
Tests for the pandas custom headers in http(s) requests
    )partialN)BytesIO)using_string_dtypez=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc                     t               5 }t        j                  |d      5 }|j                  |        d d d        |j	                         cd d d        S # 1 sw Y   "xY w# 1 sw Y   y xY w)Nw)fileobjmode)r   gzipGzipFilewritegetvalue)response_bytesbiozippers      i/var/www/html/diagnosisapp-backend/venv/lib/python3.12/site-packages/pandas/tests/io/test_http_headers.py
gzip_bytesr      s]    	 c]]3S1 	)VLL(	)||~ 	) 	) s!   A"AA"A	A""A+c                 D    | j                  d      j                  d      S NF)indexutf-8)to_csvencodedfs    r   csv_responderr   !   s    9959!((11    c                 *    t        t        |             S N)r   r   r   s    r   gz_csv_responderr   %   s    mB'((r   c                 @    | j                         j                  d      S )Nr   )to_jsonr   r   s    r   json_responderr"   )   s    ::<w''r   c                 *    t        t        |             S r   )r   r"   r   s    r   gz_json_responderr$   -   s    nR())r   c                 D    | j                  d      j                  d      S r   )to_htmlr   r   s    r   html_responderr'   1   s    ::E:"))'22r   c                 (    | j                  dd      S )NFpyarrow)r   engine)
to_parquetr   s    r   parquetpyarrow_reponderr,   5   s    ==uY=77r   c                     dd l }| j                  dddd        |j                  dd      5 }|j                         cd d d        S # 1 sw Y   y xY w)Nr   z'memory://fastparquet_user_agent.parquetFfastparquet)r   r*   compressionrb)fsspecr+   openread)r   r1   fs      r   parquetfastparquet_responderr5   9   sU     MM1	   
>	E vvx  s   AAc                     t               5 }| j                  |       |j                         cd d d        S # 1 sw Y   y xY wr   )r   	to_pickler   r   r   s     r   pickle_respnderr9   L   s3    	 c
S||~  s   !6?c                     t               5 }| j                  |d       |j                         cd d d        S # 1 sw Y   y xY w)NF)write_index)r   to_statar   r8   s     r   stata_responderr=   R   s7    	 c
CU+||~  s	   #8Azresponder, read_methodc                  2    t        j                  | i |d   S )Nr   )pd	read_html)argskwargss     r   <lambda>rC   _   s    BLL$$A&$A!$D r   r)   )r*   )marksr.   r1   zTODO(infer_string)reasonstorage_options
User-AgentfoobarrG   Authc                    t        j                  ddgi      }g d}d| j                  v rddi}||}n||z  }nd }t        |      j	                  |r|j                         ng       }|j                   | |      |        ||j                  |      }t        j                  ||       t        |j                  d	   j                        }	|D ]%  }
|	j                  |
      }|s|
|v s|||
   k(  r%J  |	rJ y )
Nab)zAccept-EncodingHost
ConnectionrG   gzzContent-Encodingr
   )contentheaders)rF   r   )r?   	DataFrame__name__setunionkeysserve_contenturltmassert_frame_equaldictrequestsrS   pop)	responderread_method
httpserverrF   expecteddefault_headersextraexpected_headersresultrequest_headersheaderexps               r   test_request_headersrk   X   s   P ||S3%L)HMOy!!!#V,"#Ou$O?+11"1r Yx%8%HIF&(+:..q199:O" 2!!&)v8/&11112
 r   r*   c                     ddd}t        j                  |        t        j                  ddgi      }d}t        j                  t
        |      5  |j                  d|| 	       d d d        y # 1 sw Y   y xY w)
Ncustomother_customrJ   column_namecolumn_valuezxstorage_options passed with file object or non-fsspec file path|storage_options passed with buffer, or non-supported URL)matchz/tmp/junk.parquet)rF   r*   )pytestimportorskipr?   rT   raises
ValueErrorr+   )r*   rS   true_dfmsgs       r   ,test_to_parquet_to_disk_with_storage_optionsrx      s     G
 llMN+;<=G	C  
z	- X.PVWX X Xs   A..A7)-__doc__	functoolsr   r
   ior   rr   pandas._configr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr?   pandas._testing_testingr[   mark
single_cpunetworkfilterwarnings
pytestmarkr   r   r   r"   r$   r'   r,   r5   r9   r=   parametrizeread_csv	read_jsonparamread_parquet
skip_if_no&skip_array_manager_not_yet_implementedxfailread_pickle
read_statark   rx    r   r   <module>r      s       - ) )   KK
KK
KKG
2)(*38& 	$	&D	
 	#BOOI6"--	*	

 	(BOOM: m,h'99!!"4"6?R!S		
	
 
"..)	"--(	2;;'	BLL)5> 	ue,?N6 XXr   