@@ -17,43 +17,51 @@ def test_is_gcs_url():
1717
1818
1919@td .skip_if_no ('gcsfs' )
20- def test_read_csv_gcs (mock ):
20+ def test_read_csv_gcs (monkeypatch ):
2121 df1 = DataFrame ({'int' : [1 , 3 ], 'float' : [2.0 , np .nan ], 'str' : ['t' , 's' ],
2222 'dt' : date_range ('2018-06-18' , periods = 2 )})
23- with mock .patch ('gcsfs.GCSFileSystem' ) as MockFileSystem :
24- instance = MockFileSystem .return_value
25- instance .open .return_value = StringIO (df1 .to_csv (index = False ))
26- df2 = read_csv ('gs://test/test.csv' , parse_dates = ['dt' ])
23+
24+ class MockGCSFileSystem ():
25+ def open (* args ):
26+ return StringIO (df1 .to_csv (index = False ))
27+
28+ monkeypatch .setattr ('gcsfs.GCSFileSystem' , MockGCSFileSystem )
29+ df2 = read_csv ('gs://test/test.csv' , parse_dates = ['dt' ])
2730
2831 assert_frame_equal (df1 , df2 )
2932
3033
3134@td .skip_if_no ('gcsfs' )
32- def test_to_csv_gcs (mock ):
35+ def test_to_csv_gcs (monkeypatch ):
3336 df1 = DataFrame ({'int' : [1 , 3 ], 'float' : [2.0 , np .nan ], 'str' : ['t' , 's' ],
3437 'dt' : date_range ('2018-06-18' , periods = 2 )})
35- with mock .patch ('gcsfs.GCSFileSystem' ) as MockFileSystem :
36- s = StringIO ()
37- instance = MockFileSystem .return_value
38- instance .open .return_value = s
38+ s = StringIO ()
39+
40+ class MockGCSFileSystem ():
41+ def open (* args ):
42+ return s
3943
40- df1 .to_csv ('gs://test/test.csv' , index = True )
41- df2 = read_csv (StringIO (s .getvalue ()), parse_dates = ['dt' ], index_col = 0 )
44+ monkeypatch .setattr ('gcsfs.GCSFileSystem' , MockGCSFileSystem )
45+ df1 .to_csv ('gs://test/test.csv' , index = True )
46+ df2 = read_csv (StringIO (s .getvalue ()), parse_dates = ['dt' ], index_col = 0 )
4247
4348 assert_frame_equal (df1 , df2 )
4449
4550
4651@td .skip_if_no ('gcsfs' )
47- def test_gcs_get_filepath_or_buffer (mock ):
52+ def test_gcs_get_filepath_or_buffer (monkeypatch ):
4853 df1 = DataFrame ({'int' : [1 , 3 ], 'float' : [2.0 , np .nan ], 'str' : ['t' , 's' ],
4954 'dt' : date_range ('2018-06-18' , periods = 2 )})
50- with mock .patch ('pandas.io.gcs.get_filepath_or_buffer' ) as MockGetFilepath :
51- MockGetFilepath .return_value = (StringIO (df1 .to_csv (index = False )),
52- None , None , False )
53- df2 = read_csv ('gs://test/test.csv' , parse_dates = ['dt' ])
55+
56+ def mock_get_filepath_or_buffer (* args , ** kwargs ):
57+ return (StringIO (df1 .to_csv (index = False )),
58+ None , None , False )
59+
60+ monkeypatch .setattr ('pandas.io.gcs.get_filepath_or_buffer' ,
61+ mock_get_filepath_or_buffer )
62+ df2 = read_csv ('gs://test/test.csv' , parse_dates = ['dt' ])
5463
5564 assert_frame_equal (df1 , df2 )
56- assert MockGetFilepath .called
5765
5866
5967@pytest .mark .skipif (td .safe_import ('gcsfs' ),
0 commit comments