1010
1111import scmdata
1212import scmdata .testing
13- from scmdata .errors import NonUniqueMetadataError , RemoteQueryError
13+ from scmdata .errors import RemoteQueryError
1414from scmdata .remote import (
1515 CACHE_SIZE ,
1616 RemoteDataset ,
@@ -101,6 +101,7 @@ def test_api_caches(
101101 timeseries_facets_response ,
102102 func ,
103103):
104+
104105 if func == "meta" :
105106 mock_request .return_value = timeseries_meta_response
106107 api_func = _read_api_meta
@@ -113,6 +114,8 @@ def test_api_caches(
113114 else :
114115 raise ValueError ("Unknown option" )
115116
117+ api_func .cache_clear ()
118+
116119 api_func (NDCS_URL , scenario = "test" )
117120 api_func (NDCS_URL , scenario = "test" )
118121 api_func (NDCS_URL , scenario = "other" )
@@ -182,6 +185,17 @@ def remote_ds():
182185 return ds
183186
184187
188+ def test_remote_repr (remote_ds ):
189+ res = repr (remote_ds )
190+
191+ assert re .search (r"<MockRemoteDataset> \(timeseries:" , res )
192+ assert re .search (f"URL: { remote_ds .url ()} " , res )
193+
194+
195+ def test_remote_len (remote_ds ):
196+ assert len (remote_ds ) == 13568
197+
198+
185199def test_remote_dataset_filtering (remote_ds ):
186200 filtered_ds = remote_ds .filter (variable = "Population" )
187201 assert filtered_ds .filters == {"variable" : "Population" }
@@ -202,20 +216,18 @@ def test_remote_query(remote_ds):
202216 assert isinstance (res_filtered , scmdata .ScmRun )
203217 assert MockRemoteDataset ._data_queries == [{}, {"variable" : "Emissions|CO2" }]
204218
205- assert res .metadata ["source" ] == res
206- assert res_filtered .metadata ["source" ] == res_filtered
207-
208219
209220@patch ("scmdata.remote._read_api_timeseries" )
210221def test_remote_query_mocked (mock_timeseries , caplog ):
211222 caplog .set_level (logging .INFO )
223+ mock_timeseries .return_value = scmdata .ScmRun ()
212224
213225 ds = RemoteDataset (NDCS_URL ).filter (variable = "test" )
214226 ds .filter_options = Mock (return_value = ["variable" ])
215227 res = ds .query ()
216228
217229 assert res == mock_timeseries .return_value
218- assert res .source == ds
230+ assert res .metadata [ " source" ] == ds
219231
220232 assert len (caplog .messages ) == 1
221233 mock_timeseries .assert_called_with (NDCS_URL , ** {"variable" : "test" })
0 commit comments