3
Ud                 @   s   d dl mZ d dlZd dlZd dlZd dlmZmZm	Z	 d dl
jZd dlmZ ejddd Zejddd	 Zejd
ejddd Zejddd ZdS )    )BytesION)	DataFrame
date_rangeread_csv)_test_decoratorsZgcsfsc                s   ddl m}m} |jj  tddgdtjgddgtdd	d
d G  fddd|}| j	d| t
ddgd}tj | d S )Nr   )AbstractFileSystemregistry      g       @tsz
2018-06-18   )periods)intfloatstrdtc                   s   e Zd Z fddZdS )z,test_read_csv_gcs.<locals>.MockGCSFileSystemc                 s   t  jddj S )NF)index)r   to_csvencode)argskwargs)df1 L/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/io/test_gcs.pyopen   s    z1test_read_csv_gcs.<locals>.MockGCSFileSystem.openN)__name__
__module____qualname__r   r   )r   r   r   MockGCSFileSystem   s   r   zgcsfs.GCSFileSystemzgs://test/test.csvr   )parse_dates)fsspecr   r   targetclearr   npnanr   setattrr   tmassert_frame_equal)monkeypatchr   r   r   df2r   )r   r   test_read_csv_gcs   s    
r+   c                s   ddl m}m} |jj  tddgdtjgddgtdd	d
d t	 dd _
G fddd|}| jd|  jddd  fdd}| jd| tddgdd}tj | d S )Nr   )r   r   r	   r
   g       @r   r   z
2018-06-18r   )r   )r   r   r   r   c               S   s   dS )NTr   r   r   r   r   <lambda>3   s    z!test_to_csv_gcs.<locals>.<lambda>c                   s   e Zd Z fddZdS )z*test_to_csv_gcs.<locals>.MockGCSFileSystemc                 s    j d  S )Nr   )seek)r   r   )r   r   r   r   6   s    
z/test_to_csv_gcs.<locals>.MockGCSFileSystem.openN)r   r   r   r   r   )r   r   r   r   5   s   r   zgcsfs.GCSFileSystemzgs://test/test.csvT)r   c                 s   t  jddj d d dfS )NT)r   F)r   r   r   )r   r   )r   r   r   mock_get_filepath_or_buffer=   s    z4test_to_csv_gcs.<locals>.mock_get_filepath_or_bufferz'pandas.io.common.get_filepath_or_bufferr   )r    Z	index_col)r!   r   r   r"   r#   r   r$   r%   r   r   closer&   r   r   r'   r(   )r)   r   r   r   r.   r*   r   )r   r   r   test_to_csv_gcs%   s"    

r0   fastparquetc                sx   ddl m}m} |jj  tddgdtjgddgtdd	d
d}G  fddd|}| j	d| |j
ddddd dS )zCRegression test for writing to a not-yet-existent GCS Parquet file.r   )r   r   r	   r
   g       @r   r   z
2018-06-18r   )r   )r   r   r   r   c                   s   e Zd Zd fdd	ZdS )z7test_to_parquet_gcs_new_file.<locals>.MockGCSFileSystemrc                s    d|krt ttjj d|S )Nwztest.parquet)FileNotFoundErrorr   ospathjoin)selfr6   moder   )tmpdirr   r   r   Z   s    z<test_to_parquet_gcs_new_file.<locals>.MockGCSFileSystem.openN)r2   )r   r   r   r   r   )r:   r   r   r   Y   s   r   zgcsfs.GCSFileSystemzgs://test/test.csvTr1   N)r   Zenginecompression)r!   r   r   r"   r#   r   r$   r%   r   r&   Z
to_parquet)r)   r:   r   r   r   r   r   )r:   r   test_to_parquet_gcs_new_fileI   s    
r<   c           
   C   s4   t jt } td dt| jks&tW d Q R X d S )Nzgs://test/test.csvzgcsfs library is required)pytestZraisesImportErrorr   r   valueAssertionError)er   r   r   test_gcs_not_present_exceptione   s    rB   )ior   r5   Znumpyr$   r=   Zpandasr   r   r   Zpandas._testingZ_testingr'   Zpandas.utilr   tdZ
skip_if_nor+   r0   r<   Zskip_if_installedrB   r   r   r   r   <module>   s   
$