from itertools import product from datetime import datetime from pathlib import Path import pytest from toargridding.grids import RegularGrid from toargridding.metadata import TimeSample, Metadata, TOARVariable from toargridding.toar_rest_client import AnalysisService test_data = list((Path(__file__).parent / "data").iterdir()) TEST_SAMPLINGS = ["daily"] TEST_STATS = ["mean"] @pytest.fixture def regular_grid(): return RegularGrid(10, 10) # TODO investigate -1 day discrepancy in time index @pytest.fixture(params=TEST_SAMPLINGS) def time(request): start = datetime(2009, 12, 31) end = datetime(2011, 1, 1) sampling = request.param return TimeSample(start, end, sampling) @pytest.fixture def toar_variable_ozon(): return TOARVariable( "o3", "ozone", "Ozone", "mole_fraction_of_ozone_in_air", "nmol mol-1", "O3", 5, ) @pytest.fixture def metadata_ozone_mean(toar_variable_ozon, time): return Metadata(toar_variable_ozon, time, "mean") def load_local_data(*args, **kwargs): with open(test_data[2], "r+b") as f: return f.read() @pytest.fixture def local_analysis_service(monkeypatch): service = AnalysisService("foo") monkeypatch.setattr(service, "query_timeseries_and_metadata", load_local_data) return service