diff --git a/test/ds/test_esa_cci_odp.py b/test/ds/test_esa_cci_odp.py index 9d3ea9054..674f716b9 100644 --- a/test/ds/test_esa_cci_odp.py +++ b/test/ds/test_esa_cci_odp.py @@ -118,52 +118,52 @@ def build_file_item(item_name: str, date_from: datetime, date_to: datetime, size file_size)) return reference_files_list - with unittest.mock.patch( - 'cate.ds.esa_cci_odp.EsaCciOdpDataSource._find_files', find_files_mock): - try: - new_ds = self.data_source.make_local('local_ds_test', None, - (datetime.datetime(1978, 11, 14, 0, 0), - datetime.datetime(1978, 11, 15, 23, 59))) - except: - raise ValueError(reference_path, os.listdir(reference_path)) - - self.assertEqual(new_ds.name, 'local.local_ds_test') - self.assertEqual(new_ds.temporal_coverage(), - (datetime.datetime(1978, 11, 14, 0, 0), - datetime.datetime(1978, 11, 15, 23, 59))) - - self.data_source.update_local(new_ds.name, (datetime.datetime(1978, 11, 15, 00, 00), - datetime.datetime(1978, 11, 16, 23, 59))) - self.assertEqual(new_ds.temporal_coverage(), TimeRangeLike.convert( - (datetime.datetime(1978, 11, 15, 0, 0), - datetime.datetime(1978, 11, 16, 23, 59)))) - - self.data_source.update_local(new_ds.name, (datetime.datetime(1978, 11, 14, 00, 00), - datetime.datetime(1978, 11, 15, 23, 59))) - self.assertEqual(new_ds.temporal_coverage(), TimeRangeLike.convert( - (datetime.datetime(1978, 11, 14, 0, 0), - datetime.datetime(1978, 11, 15, 23, 59)))) - - with self.assertRaises(ValueError) as context: - self.data_source.update_local("wrong_ds_name", (datetime.datetime(1978, 11, 15, 00, 00), - datetime.datetime(1978, 11, 16, 23, 59))) - self.assertTrue("Couldn't find local DataSource", context.exception.args[0]) - - new_ds_w_one_variable = self.data_source.make_local( - 'local_ds_test_2', None, (datetime.datetime(1978, 11, 14, 0, 0), - datetime.datetime(1978, 11, 15, 23, 59)), None, ['sm']) - self.assertEqual(new_ds_w_one_variable.name, 'local.local_ds_test_2') - ds = new_ds_w_one_variable.open_dataset() - self.assertSetEqual(set(ds.variables), {'sm', 'lat', 'lon', 'time'}) - - new_ds_w_region = self.data_source.make_local( - 'from_local_to_local_region', None, (datetime.datetime(1978, 11, 14, 0, 0), - datetime.datetime(1978, 11, 15, 23, 59)), - "10,10,20,20", ['sm']) # type: LocalDataSource - self.assertEqual(new_ds_w_region.name, 'local.from_local_to_local_region') - self.assertEqual(new_ds_w_region.spatial_coverage(), PolygonLike.convert("10,10,20,20")) - data_set = new_ds_w_region.open_dataset() - self.assertSetEqual(set(data_set.variables), {'sm', 'lat', 'lon', 'time'}) + with unittest.mock.patch('cate.ds.esa_cci_odp.EsaCciOdpDataSource._find_files', find_files_mock): + with unittest.mock.patch.object(EsaCciOdpDataStore, 'query', return_value=[]): + try: + new_ds = self.data_source.make_local('local_ds_test', None, + (datetime.datetime(1978, 11, 14, 0, 0), + datetime.datetime(1978, 11, 15, 23, 59))) + except: + raise ValueError(reference_path, os.listdir(reference_path)) + + self.assertEqual(new_ds.name, 'local.local_ds_test') + self.assertEqual(new_ds.temporal_coverage(), + (datetime.datetime(1978, 11, 14, 0, 0), + datetime.datetime(1978, 11, 15, 23, 59))) + + self.data_source.update_local(new_ds.name, (datetime.datetime(1978, 11, 15, 00, 00), + datetime.datetime(1978, 11, 16, 23, 59))) + self.assertEqual(new_ds.temporal_coverage(), TimeRangeLike.convert( + (datetime.datetime(1978, 11, 15, 0, 0), + datetime.datetime(1978, 11, 16, 23, 59)))) + + self.data_source.update_local(new_ds.name, (datetime.datetime(1978, 11, 14, 00, 00), + datetime.datetime(1978, 11, 15, 23, 59))) + self.assertEqual(new_ds.temporal_coverage(), TimeRangeLike.convert( + (datetime.datetime(1978, 11, 14, 0, 0), + datetime.datetime(1978, 11, 15, 23, 59)))) + + with self.assertRaises(ValueError) as context: + self.data_source.update_local("wrong_ds_name", (datetime.datetime(1978, 11, 15, 00, 00), + datetime.datetime(1978, 11, 16, 23, 59))) + self.assertTrue("Couldn't find local DataSource", context.exception.args[0]) + + new_ds_w_one_variable = self.data_source.make_local( + 'local_ds_test_2', None, (datetime.datetime(1978, 11, 14, 0, 0), + datetime.datetime(1978, 11, 15, 23, 59)), None, ['sm']) + self.assertEqual(new_ds_w_one_variable.name, 'local.local_ds_test_2') + ds = new_ds_w_one_variable.open_dataset() + self.assertSetEqual(set(ds.variables), {'sm', 'lat', 'lon', 'time'}) + + new_ds_w_region = self.data_source.make_local( + 'from_local_to_local_region', None, (datetime.datetime(1978, 11, 14, 0, 0), + datetime.datetime(1978, 11, 15, 23, 59)), + "10,10,20,20", ['sm']) # type: LocalDataSource + self.assertEqual(new_ds_w_region.name, 'local.from_local_to_local_region') + self.assertEqual(new_ds_w_region.spatial_coverage(), PolygonLike.convert("10,10,20,20")) + data_set = new_ds_w_region.open_dataset() + self.assertSetEqual(set(data_set.variables), {'sm', 'lat', 'lon', 'time'}) def test_data_store(self): self.assertIs(self.data_source.data_store, diff --git a/test/ds/test_local.py b/test/ds/test_local.py index ead45642d..68d85121d 100644 --- a/test/ds/test_local.py +++ b/test/ds/test_local.py @@ -8,6 +8,7 @@ from cate.core.ds import DATA_STORE_REGISTRY from cate.core.types import PolygonLike, TimeRangeLike from cate.ds.local import LocalDataStore, LocalDataSource +from cate.ds.esa_cci_odp import EsaCciOdpDataStore from collections import OrderedDict @@ -244,38 +245,39 @@ def test_open_dataset(self): def test_make_local(self): data_source = self._local_data_store.query('local_w_temporal')[0] - new_ds = data_source.make_local('from_local_to_local', None, - (datetime.datetime(1978, 11, 14, 0, 0), - datetime.datetime(1978, 11, 15, 23, 59))) - self.assertEqual(new_ds.name, 'local.from_local_to_local') - self.assertEqual(new_ds.temporal_coverage(), TimeRangeLike.convert( - (datetime.datetime(1978, 11, 14, 0, 0), - datetime.datetime(1978, 11, 15, 23, 59)))) - - data_source.update_local(new_ds.name, (datetime.datetime(1978, 11, 15, 00, 00), - datetime.datetime(1978, 11, 16, 23, 59))) - self.assertEqual(new_ds.temporal_coverage(), TimeRangeLike.convert( - (datetime.datetime(1978, 11, 15, 0, 0), - datetime.datetime(1978, 11, 16, 23, 59)))) - - with self.assertRaises(ValueError) as context: - data_source.update_local("wrong_ds_name", (datetime.datetime(1978, 11, 15, 00, 00), - datetime.datetime(1978, 11, 16, 23, 59))) - self.assertTrue("Couldn't find local DataSource", context.exception.args[0]) - - new_ds_w_one_variable = data_source.make_local('from_local_to_local_var', None, - (datetime.datetime(1978, 11, 14, 0, 0), - datetime.datetime(1978, 11, 15, 23, 59)), - None, ['sm']) - self.assertEqual(new_ds_w_one_variable.name, 'local.from_local_to_local_var') - data_set = new_ds_w_one_variable.open_dataset() - self.assertSetEqual(set(data_set.variables), {'sm', 'lat', 'lon', 'time'}) - - new_ds_w_region = data_source.make_local('from_local_to_local_region', None, - (datetime.datetime(1978, 11, 14, 0, 0), - datetime.datetime(1978, 11, 15, 23, 59)), - "10,10,20,20", ['sm']) # type: LocalDataSource - self.assertEqual(new_ds_w_region.name, 'local.from_local_to_local_region') - self.assertEqual(new_ds_w_region.spatial_coverage(), PolygonLike.convert("10,10,20,20")) - data_set = new_ds_w_region.open_dataset() - self.assertSetEqual(set(data_set.variables), {'sm', 'lat', 'lon', 'time'}) + with unittest.mock.patch.object(EsaCciOdpDataStore, 'query', return_value=[]): + new_ds = data_source.make_local('from_local_to_local', None, + (datetime.datetime(1978, 11, 14, 0, 0), + datetime.datetime(1978, 11, 15, 23, 59))) + self.assertEqual(new_ds.name, 'local.from_local_to_local') + self.assertEqual(new_ds.temporal_coverage(), TimeRangeLike.convert( + (datetime.datetime(1978, 11, 14, 0, 0), + datetime.datetime(1978, 11, 15, 23, 59)))) + + data_source.update_local(new_ds.name, (datetime.datetime(1978, 11, 15, 00, 00), + datetime.datetime(1978, 11, 16, 23, 59))) + self.assertEqual(new_ds.temporal_coverage(), TimeRangeLike.convert( + (datetime.datetime(1978, 11, 15, 0, 0), + datetime.datetime(1978, 11, 16, 23, 59)))) + + with self.assertRaises(ValueError) as context: + data_source.update_local("wrong_ds_name", (datetime.datetime(1978, 11, 15, 00, 00), + datetime.datetime(1978, 11, 16, 23, 59))) + self.assertTrue("Couldn't find local DataSource", context.exception.args[0]) + + new_ds_w_one_variable = data_source.make_local('from_local_to_local_var', None, + (datetime.datetime(1978, 11, 14, 0, 0), + datetime.datetime(1978, 11, 15, 23, 59)), + None, ['sm']) + self.assertEqual(new_ds_w_one_variable.name, 'local.from_local_to_local_var') + data_set = new_ds_w_one_variable.open_dataset() + self.assertSetEqual(set(data_set.variables), {'sm', 'lat', 'lon', 'time'}) + + new_ds_w_region = data_source.make_local('from_local_to_local_region', None, + (datetime.datetime(1978, 11, 14, 0, 0), + datetime.datetime(1978, 11, 15, 23, 59)), + "10,10,20,20", ['sm']) # type: LocalDataSource + self.assertEqual(new_ds_w_region.name, 'local.from_local_to_local_region') + self.assertEqual(new_ds_w_region.spatial_coverage(), PolygonLike.convert("10,10,20,20")) + data_set = new_ds_w_region.open_dataset() + self.assertSetEqual(set(data_set.variables), {'sm', 'lat', 'lon', 'time'})