
    bMh                        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                            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        !                    deej"        feej#        fed f ej$        e eej%        d           ej&        d                     ej$        e eej%        d           ej&        d           ej&        d          ej'        ej        (                     e            d          g          eej)        fe ej*        feej"        feej#        fg	          ej        !                    ddddidddg          d                         Z+ej        !                    d ddg          d!             Z,dS )"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 }|                    |            d d d            n# 1 swxY w Y   |                                cd d d            S # 1 swxY w Y   d S )Nw)fileobjmode)r   gzipGzipFilewritegetvalue)response_bytesbiozippers      a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/io/test_http_headers.py
gzip_bytesr      s    	 c]3S111 	)VLL(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)||~~                 s3   A3AA3A	A3A	A33A7:A7c                 T    |                      d                              d          S NF)indexutf-8)to_csvencodedfs    r   csv_responderr   !   s$    9959!!((111    c                 :    t          t          |                     S N)r   r   r   s    r   gz_csv_responderr   %   s    mB''(((r   c                 P    |                                                      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                 T    |                      d                              d          S r   )to_htmlr   r   s    r   html_responderr'   1   s$    ::E:""))'222r   c                 0    |                      dd          S )NFpyarrow)r   engine)
to_parquetr   s    r   parquetpyarrow_reponderr,   5   s    ==uY=777r   c                     dd l }|                     dddd            |                    dd          5 }|                                cd d d            S # 1 swxY w Y   d S )Nr   z'memory://fastparquet_user_agent.parquetFfastparquet)r   r*   compressionrb)fsspecr+   openread)r   r1   fs      r   parquetfastparquet_responderr5   9   s     MMMMM1	     
>	E	E vvxx                 s   AAAc                     t                      5 }|                     |           |                                cd d d            S # 1 swxY w Y   d S r   )r   	to_pickler   r   r   s     r   pickle_respnderr9   L   s    	 c
S||~~                 s   )AA	A	c                     t                      5 }|                     |d           |                                cd d d            S # 1 swxY w Y   d S )NF)write_index)r   to_statar   r8   s     r   stata_responderr=   R   s    	 c
CU+++||~~                 s   +AAAzresponder, read_methodc                  0    t          j        | i |d         S )Nr   )pd	read_html)argskwargss     r   <lambda>rC   _   s    BL$$A&$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          |                              |r|                                ng           }|                     | |          |            ||j        |          }t          j	        ||           t          |j        d	         j                  }	|D ]+}
|	                    |
          }|r|
|v r|||
         k    sJ ,|	rJ d S )
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   sU   P |S3%L))HMMMOy!!!#V,"#OOu$OO?++11"19r  YYx%8%8%HHH[IIIF&(+++:.q19::O" 2 2!!&)) 	2v88/&11111r   r*   c                    ddd}t          j        |            t          j        ddgi          }d}t          j        t
          |          5  |                    d|| 	           d d d            d S # 1 swxY w Y   d S )
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
 lMN+;<==G	C  
z	-	-	- X X.PVWWWX X X X X X X X X X X X X X X X X Xs   A44A8;A8)-__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%                  - - - - - - ) ) ) ) ) ) ) ) )           K
K
KG 
  2 2 2) ) )( ( (* * *3 3 38 8 8  &     	$	&DD	
 	#GBOI666"-	**	
 	
 	

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