3
���h� � @ sp d dl Z d dlZd dljZd dlmZ ejdd� �Zejdd� �Z ejdd� �Z
ejd d
� �Zejdd� �ZdS )
� N)�read_csvc C s | dddd�S )zPath to the tips dataset�io�data�csvztips.csv� )�datapathr r �:/tmp/pip-build-5_djhm0z/pandas/pandas/tests/io/conftest.py� tips_file
s r c C s | dddd�S )zPath to a JSONL datasetr �parserr zitems.jsonlr )r r r r �
jsonl_file s r c C s t | dddd�dd�S )z#DataFrame with the salaries datasetr r
r zsalaries.csv� )�sep)r )r r r r �salaries_table s r c C s | dddd�S )Nr r Zfeatherzfeather-0_3_1.featherr )r r r r �feather_file s r c # s� t jd�}t jd�}tj� �� tjjdd� tjjdd� t jd�}d| fd | fd
| d fd| d
fd|fd|fg�� �fdd�}z`|j� }|j� d}|j ddd�� � j
|d� ||� � j
ddd� |d� |jj� � V W d|j
� X W dQ R X dS )a4
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.
�s3fs�boto3ZAWS_ACCESS_KEY_IDZ
foobar_keyZAWS_SECRET_ACCESS_KEYZ
foobar_secret�motoz
tips#1.csvztips.csvztips.csv.gzz.gzztips.csv.bz2z.bz2zitems.jsonlzsimple_dataset.featherc s@ x:�D ]2\}}t |d��}� j| �j||d� W d Q R X qW d S )N�rb)ZKeyZBody)�open�BucketZ
put_object)Zbucket_nameZs3_key� file_name�f)�conn�
test_s3_filesr r �add_tips_filesE s z#s3_resource.<locals>.add_tips_fileszpandas-test�s3z us-east-1)Zregion_name)r Zcant_get_itZprivate)r ZACLN)�pytestZimportorskip�tmZ!ensure_safe_environment_variables�os�environ�
setdefaultZmock_s3�start�resourceZ
create_bucketZS3FileSystemZclear_instance_cache�stop) r r r r r r r r Zbucketr )r r r �s3_resource! s2
r$ )
r r Zpandas._testingZ_testingr Zpandas.io.parsersr Zfixturer r r r r$ r r r r �<module> s
|