def test_eval_stack_contains(): s1 = EvalEnv({"foo": "bar"}) assert "foo" in s1 s2 = s1.push({"meh": "moh"}) assert "foo" in s2 assert "meh" in s2 assert "meh" not in s1
def test_eval_stack_as_dict(): s1 = EvalEnv({"foo": "bar"}) s2 = s1.push({"foo": "meh", "xev": "lol"}) s3 = s2.push({"xev": "zup", 1: 2, 3: 4}) assert s1.as_dict() == {"foo": "bar"} assert s2.as_dict() == {"foo": "meh", "xev": "lol"} assert s3.as_dict() == {"foo": "meh", "xev": "zup", 1: 2, 3: 4}
def test_eval_env_get_deep(): s1 = EvalEnv({"foo": "bar"}) s2 = s1.push({}) s3 = s2.push({}) assert s3.get("foo") == "bar" assert s3["foo"] == "bar" assert s3.get("meh", default="jop") == "jop" with pytest.raises(KeyError): _ = s3["meh"]
def test_eval_stack_overwrite(): s1 = EvalEnv({"foo": "bar"}) assert s1["foo"] == "bar" s2 = s1.push({"foo": "yoo"}) assert s1["foo"] == "bar" assert s2["foo"] == "yoo" s3 = s2.push(foo="meh") assert s1["foo"] == "bar" assert s2["foo"] == "yoo" assert s3["foo"] == "meh"
def test_eval_stack_push(): s1 = EvalEnv() s2 = s1.push({"foo": "bar", "xev": "lol"}) assert s2["foo"] == "bar" assert s2["xev"] == "lol" assert s2.get("foo") == "bar" assert s2.get("xev") == "lol" assert s1.get("foo") is None assert s1.get("xev") is None with pytest.raises(KeyError): _ = s1["foo"] with pytest.raises(KeyError): _ = s1["xev"]
def test_eval_stack_parameters(): s0 = EvalEnv() s1 = s0.push(parameters={"color": "red", "size": 1}) s2 = s1.push({"parameters": {"size": 3}}) s3 = s2.push(user="******") s4 = s3.push(parameters={"color": "green", "height": 88}) assert s0.collect_parameters() == {} assert s1.collect_parameters() == {"color": "red", "size": 1} assert s2.collect_parameters() == {"color": "red", "size": 3} assert s3.collect_parameters() == {"color": "red", "size": 3} assert s4.collect_parameters() == { "color": "green", "size": 3, "height": 88 }
def test_load_file_oscars_resample(get_jvm): catalog = get_layer_catalog() jvm_mock = get_jvm.return_value raster_layer = MagicMock() raster_layer.layerMetadata.return_value = '{' \ '"crs":"EPSG:4326",\n' \ '"cellType":"uint8",\n' \ '"bounds":{"minKey":{"col":0,"row":0},"maxKey":{"col":1,"row":1}},\n' \ '"extent":{"xmin":0,"ymin":0,"xmax":1,"ymax":1},\n' \ '"layoutDefinition":{\n' \ '"extent":{"xmin":0,"ymin":0,"xmax":1,"ymax":1},' \ '"tileLayout":{"layoutCols":1, "layoutRows":1, "tileCols":256, "tileRows":256}' \ '}' \ '}' jvm_mock.geopyspark.geotrellis.TemporalTiledRasterLayer.return_value = raster_layer load_params = LoadParameters(temporal_extent=("2010-01-01T10:36:00Z", "2012-01-01T10:36:00Z"), spatial_extent={'west': 4, 'east': 4.001, 'north': 52, 'south': 51.9999, 'crs': 4326}, target_resolution=[15,15], target_crs=3857, featureflags={"experimental":True} ) env = EvalEnv() env = env.push({"pyramid_levels": "single"}) factory_mock = jvm_mock.org.openeo.geotrellis.file.Sentinel2PyramidFactory extent_mock = jvm_mock.geotrellis.vector.Extent.return_value cellsize_call_mock = jvm_mock.geotrellis.raster.CellSize cellsize_mock = jvm_mock.geotrellis.raster.CellSize(15, 15) datacubeParams = jvm_mock.org.openeo.geotrelliscommon.DataCubeParameters.return_value collection = catalog.load_collection('COPERNICUS_30', load_params=load_params, env=env) assert(collection.metadata.spatial_dimensions[0].step == 0.002777777777777778) assert(collection.metadata.spatial_dimensions[1].step == 0.002777777777777778) jvm_mock.geotrellis.vector.Extent.assert_called_once_with(4.0, 51.9999, 4.001, 52.0) cellsize_call_mock.assert_called_with(15,15) factory_mock.assert_called_once_with('https://services.terrascope.be/catalogue', 'urn:eop:VITO:COP_DEM_GLO_30M_COG', ['DEM'], '/data/MTDA/DEM/COP_DEM_30M_COG', cellsize_mock, True) factory_mock.return_value.datacube_seq.assert_called_once_with(ANY, '2010-01-01T10:36:00+00:00', '2012-01-01T10:36:00+00:00', {}, '', datacubeParams)
def test_load_file_oscars(get_jvm): catalog = get_layer_catalog() jvm_mock = get_jvm.return_value raster_layer = MagicMock() raster_layer.layerMetadata.return_value = '{' \ '"crs":"EPSG:4326",\n' \ '"cellType":"uint8",\n' \ '"bounds":{"minKey":{"col":0,"row":0},"maxKey":{"col":1,"row":1}},\n' \ '"extent":{"xmin":0,"ymin":0,"xmax":1,"ymax":1},\n' \ '"layoutDefinition":{\n' \ '"extent":{"xmin":0,"ymin":0,"xmax":1,"ymax":1},' \ '"tileLayout":{"layoutCols":1, "layoutRows":1, "tileCols":256, "tileRows":256}' \ '}' \ '}' jvm_mock.geopyspark.geotrellis.TemporalTiledRasterLayer.return_value = raster_layer load_params = LoadParameters(temporal_extent=("2010-01-01T10:36:00Z", "2012-01-01T10:36:00Z"), spatial_extent={'west': 4, 'east': 4.001, 'north': 52, 'south': 51.9999, 'crs': 4326}) env = EvalEnv() env = env.push({"pyramid_levels": "single"}) collection = catalog.load_collection('COPERNICUS_30', load_params=load_params, env=env) assert(collection.metadata.spatial_dimensions[0].step == 0.002777777777777778) assert(collection.metadata.spatial_dimensions[1].step == 0.002777777777777778)