B
    x\d
                 @   sv   d dl mZ d dlZd dlZd dlm  mZ d dlm	Z	 ej
dd Zej
dd Zej
dd	 Zej
d
d ZdS )    )LooseVersionN)read_csvc             C   s   | ddddS )zPath to the tips datasetioparserdataztips.csv )datapathr   r   7lib/python3.7/site-packages/pandas/tests/io/conftest.py	tips_file   s    r
   c             C   s   | ddddS )zPath a JSONL datasetr   r   r   zitems.jsonlr   )r   r   r   r	   
jsonl_file   s    r   c             C   s   t | ddddddS )z#DataFrame with the salaries datasetr   r   r   zsalaries.csv	)sep)r   )r   r   r   r	   salaries_table   s    r   c          	   #   s  t d t d}t d}t|jtdk r:t d t  tj	dd tj	dd	 t d
}d| fd| d fd| d fd|fg fdd}zV|
 }|  d}|jddd  j|d ||  jddd |d  V  W d|  X W dQ R X dS )a/  Fixture for mocking S3 interaction.

    The primary bucket name is "pandas-test". The following datasets
    are loaded.

    - tips.csv
    - tips.csv.gz
    - tips.csv.bz2
    - items.jsonl

    A private bucket "cant_get_it" is also created. The boto3 s3 resource
    is yielded by the fixture.
    Zs3fsboto3botocorez1.11.0z+botocore is leaking resources before 1.11.0ZAWS_ACCESS_KEY_IDZ
foobar_keyZAWS_SECRET_ACCESS_KEYZfoobar_secretmotoztips.csvztips.csv.gzz.gzztips.csv.bz2z.bz2zitems.jsonlc          
      s@   x:D ]2\}}t |d} | j||d W d Q R X qW d S )Nrb)ZKeyZBody)openBucketZ
put_object)Zbucket_nameZs3_key	file_namef)conntest_s3_filesr   r	   add_tips_filesD   s
    
z#s3_resource.<locals>.add_tips_fileszpandas-tests3z	us-east-1)Zregion_name)r   Zcant_get_itZprivate)r   ZACLN)pytestZimportorskipr   __version__skiptmZ!ensure_safe_environment_variablesosenviron
setdefaultZmock_s3startresourceZcreate_bucketstop)r
   r   r   r   r   r   r   Zbucketr   )r   r   r	   s3_resource   s2    









r%   )Zdistutils.versionr   r   r   Zpandas.util.testingutilZtestingr   Zpandas.io.parsersr   Zfixturer
   r   r   r%   r   r   r   r	   <module>   s   