o
    Û­j  ã                   @   s®  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
  mZ ddlZddlmZ ejjejjej d¡gZdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Z ej !deej"feej#fedd„ fej$eeej%dd�e &d¡d �ej$eeej%d!d�e &d!¡e &d"¡ej'ejj(eƒ d#d$�gd �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*d+„ ƒƒZ+ej !d,dd!g¡d-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              	   C   sj   t ƒ �(}tj|dd��}| | ¡ W d   ƒ n1 sw   Y  | ¡ W  d   ƒ S 1 s.w   Y  d S )NÚw)ÚfileobjÚmode)r   ÚgzipÚGzipFileÚwriteÚgetvalue)Úresponse_bytesÚbioÚzipper© r   ú^/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/io/test_http_headers.pyÚ
gzip_bytes   s   ÿ$ýr   c                 C   ó   | j dd� d¡S ©NF)Úindexúutf-8)Úto_csvÚencode©Údfr   r   r   Úcsv_responder!   ó   r   c                 C   ó   t t| ƒƒS ©N)r   r   r   r   r   r   Úgz_csv_responder%   ó   r   c                 C   s   |   ¡  d¡S )Nr   )Úto_jsonr   r   r   r   r   Újson_responder)   ó   r!   c                 C   r   r   )r   r!   r   r   r   r   Úgz_json_responder-   r   r#   c                 C   r   r   )Úto_htmlr   r   r   r   r   Úhtml_responder1   r   r%   c                 C   s   | j ddd�S )NFÚpyarrow)r   Úengine)Ú
to_parquetr   r   r   r   Úparquetpyarrow_reponder5   r"   r)   c                 C   sR   dd l }| jdddd d� | dd¡�}| ¡ W  d   ƒ S 1 s"w   Y  d S )Nr   z'memory://fastparquet_user_agent.parquetFÚfastparquet)r   r'   ÚcompressionÚrb)Úfsspecr(   ÚopenÚread)r   r-   Úfr   r   r   Úparquetfastparquet_responder9   s   ü$ÿr1   c                 C   s<   t ƒ �}|  |¡ | ¡ W  d   ƒ S 1 sw   Y  d S r   )r   Ú	to_pickler   ©r   r   r   r   r   Úpickle_respnderL   s   
$þr4   c                 C   s@   t ƒ �}| j|dd� | ¡ W  d   ƒ S 1 sw   Y  d S )NF)Úwrite_index)r   Úto_statar   r3   r   r   r   Ústata_responderR   s   $þr7   zresponder, read_methodc                  O   s   t j| i |¤Žd S )Nr   )ÚpdÚ	read_html)ÚargsÚkwargsr   r   r   Ú<lambda>_   s    r<   r&   )r'   )Úmarksr*   r-   zTODO(infer_string)ÚreasonÚstorage_optionsú
User-AgentÚfooÚbar©r@   ÚAuthc                 C   sØ   t  ddgi¡}g d¢}d| jv r!ddi}|d u r|}n||O }nd }t|ƒ |r-| ¡ ng ¡}|j| |ƒ|d� ||j|d�}t 	||¡ t
|jd	 jƒ}	|D ]}
|	 |
¡}|re|
|v re|||
 kseJ ‚qP|	rjJ ‚d S )
NÚaÚb)zAccept-EncodingÚHostÚ
Connectionr@   ÚgzzContent-Encodingr   )ÚcontentÚheaders)r?   r   )r8   Ú	DataFrameÚ__name__ÚsetÚunionÚkeysÚserve_contentÚurlÚtmÚassert_frame_equalÚdictÚrequestsrK   Úpop)Ú	responderÚread_methodÚ
httpserverr?   ÚexpectedÚdefault_headersÚextraÚexpected_headersÚresultÚrequest_headersÚheaderÚexpr   r   r   Útest_request_headersX   s*   (

ÿ
€rc   r'   c                 C   sl   dddœ}t  | ¡ t ddgi¡}d}t jt|d�� |jd|| d	� W d   ƒ d S 1 s/w   Y  d S )
NÚcustomÚother_customrC   Ú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)r?   r'   )ÚpytestÚimportorskipr8   rL   ÚraisesÚ
ValueErrorr(   )r'   rK   Útrue_dfÚmsgr   r   r   Ú,test_to_parquet_to_disk_with_storage_optionsš   s   	þ
ÿ"ÿro   )-Ú__doc__Ú	functoolsr   r   Úior   ri   Úpandas._configr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr8   Úpandas._testingÚ_testingrS   ÚmarkÚ
single_cpuÚnetworkÚfilterwarningsÚ
pytestmarkr   r   r   r!   r#   r%   r)   r1   r4   r7   ÚparametrizeÚread_csvÚ	read_jsonÚparamÚread_parquetÚ
skip_if_noÚ&skip_array_manager_not_yet_implementedÚxfailÚread_pickleÚ
read_statarc   ro   r   r   r   r   Ú<module>   s†    ÿý	þýüüæþýþþþ