from datetime import datetime
from pathlib import Path

import pytest

from toargridding.grids import RegularGrid
from toargridding.metadata import TimeSample
from toargridding.toar_rest_client import AnalysisService

test_data = list((Path(__file__).parent / "data").iterdir())


@pytest.fixture
def regular_grid():
    return RegularGrid(10, 10)


# TODO investigate -1 day discrepancy in time index
@pytest.fixture
def time():
    start = datetime(2009, 12, 31)
    end = datetime(2011, 1, 1)
    sampling = "daily"

    return TimeSample(start, end, sampling)


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