a
    é´«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 ƒ �P}tj|dd��}| | ¡ W d   ƒ n1 s60    Y  | ¡ W  d   ƒ S 1 s\0    Y  d S )NÚw)ÚfileobjÚmode)r   ÚgzipÚGzipFileÚwriteÚgetvalue)Zresponse_bytesÚbioZzipper© r   ú`/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/io/test_http_headers.pyÚ
gzip_bytes   s    (r   c                 C   s   | j dd� d¡S ©NF)Úindexúutf-8)Zto_csvÚencode©Údfr   r   r   Úcsv_responder!   s    r   c                 C   s   t t| ƒƒS ©N)r   r   r   r   r   r   Úgz_csv_responder%   s    r   c                 C   s   |   ¡  d¡S )Nr   )Úto_jsonr   r   r   r   r   Újson_responder)   s    r   c                 C   s   t t| ƒƒS r   )r   r   r   r   r   r   Úgz_json_responder-   s    r   c                 C   s   | j dd� d¡S r   )Zto_htmlr   r   r   r   r   Úhtml_responder1   s    r   c                 C   s   | j ddd�S )NFÚpyarrow)r   Úengine)Ú
to_parquetr   r   r   r   Úparquetpyarrow_reponder5   s    r    c                 C   sR   dd l }| jdddd d� | dd¡�}| ¡ W  d   ƒ S 1 sD0    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    ür(   c                 C   s<   t ƒ �"}|  |¡ | ¡ W  d   ƒ S 1 s.0    Y  d S r   )r   Z	to_pickler   ©r   r   r   r   r   Úpickle_respnderL   s    
r*   c                 C   s@   t ƒ �&}| j|dd� | ¡ W  d   ƒ S 1 s20    Y  d S )NF)Zwrite_index)r   Zto_statar   r)   r   r   r   Ústata_responderR   s    r+   zresponder, read_methodc                  O   s   t j| i |¤Žd S )Nr   )ÚpdZ	read_html)ÚargsÚkwargsr   r   r   Ú<lambda>_   ó    r/   r   )r   )Zmarksr!   r$   zTODO(infer_string)ÚreasonÚstorage_optionsú
User-AgentZfooÚbar©r3   ZAuthc                 C   sØ   t  ddgi¡}g d¢}d| jv rBddi}|d u r8|}qF||O }nd }t|ƒ |rZ| ¡ ng ¡}|j| |ƒ|d� ||j|d�}t 	||¡ t
|jd	 jƒ}	|D ]*}
|	 |
¡}|r |
|v r |||
 ks J ‚q |	rÔJ ‚d S )
NÚaÚb)zAccept-EncodingÚHostÚ
Connectionr3   ÚgzzContent-Encodingr   )ÚcontentÚheaders)r2   r   )r,   Ú	DataFrameÚ__name__ÚsetÚunionÚkeysZserve_contentÚurlÚtmZassert_frame_equalÚdictÚrequestsr<   Úpop)Z	responderZread_methodZ
httpserverr2   ÚexpectedÚdefault_headersÚextraZexpected_headersÚresultZrequest_headersÚheaderÚexpr   r   r   Útest_request_headersX   s(    (

ÿ
rM   r   c                 C   sj   dddœ}t  | ¡ t ddgi¡}d}t jt|d��  |jd|| d	� W d   ƒ n1 s\0    Y  d S )
NZcustomZother_customr5   Zcolumn_nameZ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)r2   r   )ÚpytestZimportorskipr,   r=   ZraisesÚ
ValueErrorr   )r   r<   Ztrue_dfÚmsgr   r   r   Ú,test_to_parquet_to_disk_with_storage_optionsš   s    	þ
ÿrR   )-Ú__doc__Ú	functoolsr   r   Úior   rO   Zpandas._configr   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasr,   Zpandas._testingZ_testingrC   ÚmarkZ
single_cpuÚnetworkÚfilterwarningsZ
pytestmarkr   r   r   r   r   r   r    r(   r*   r+   ZparametrizeZread_csvÚ	read_jsonÚparamZread_parquetZ
skip_if_noZ&skip_array_manager_not_yet_implementedZxfailZread_pickleZ
read_statarM   rR   r   r   r   r   Ú<module>   s„   ÿý	þýüüæþýþþþ