File tree Expand file tree Collapse file tree 1 file changed +27
-0
lines changed Expand file tree Collapse file tree 1 file changed +27
-0
lines changed Original file line number Diff line number Diff line change
1
+ import os
2
+ from contextlib import contextmanager
1
3
from io import StringIO
2
4
3
5
import numpy as np
@@ -60,6 +62,31 @@ def open(*args):
60
62
assert_frame_equal (df1 , df2 )
61
63
62
64
65
+ @td .skip_if_no ("gcsfs" )
66
+ def test_to_parquet_gcs_new_file (monkeypatch , tmpdir ):
67
+ """Regression test for writing to a not-yet-existent GCS Parquet file."""
68
+ df1 = DataFrame (
69
+ {
70
+ "int" : [1 , 3 ],
71
+ "float" : [2.0 , np .nan ],
72
+ "str" : ["t" , "s" ],
73
+ "dt" : date_range ("2018-06-18" , periods = 2 ),
74
+ }
75
+ )
76
+
77
+ class MockGCSFileSystem :
78
+ @contextmanager
79
+ def open (self , path , mode = 'r' , * args ):
80
+ if 'w' not in mode :
81
+ raise FileNotFoundError
82
+ with open (os .path .join (tmpdir , 'test.parquet' ), mode ) as f :
83
+ yield f
84
+
85
+ monkeypatch .setattr ("gcsfs.GCSFileSystem" , MockGCSFileSystem )
86
+ df1 .to_parquet ("gs://test/test.csv" , index = True , engine = 'fastparquet' ,
87
+ compression = None )
88
+
89
+
63
90
@td .skip_if_no ("gcsfs" )
64
91
def test_gcs_get_filepath_or_buffer (monkeypatch ):
65
92
df1 = DataFrame (
You can’t perform that action at this time.
0 commit comments