Source code for pixcdust.tests.conftest
import os
from pathlib import Path
from typing import List
import pytest
from pixcdust.tests.init_tests import JsonTestsSettings, init_hydroweb_env
[docs]
def pytest_addoption(parser):
parser.addoption("--dl", action="store_true", default=False, help="run dowloaders tests")
[docs]
def pytest_collection_modifyitems(config, items):
if config.getoption("--dl"):
# option given: do not skip tests
return
skip_dl = pytest.mark.skip(reason="need --dl option to run")
for item in items:
if "downloader" in item.keywords:
item.add_marker(skip_dl)
@pytest.fixture(scope="session")
[docs]
def tests_settings() -> JsonTestsSettings:
return JsonTestsSettings()
@pytest.fixture(scope="session")
@pytest.fixture(scope="session")
@pytest.fixture(scope="session")
[docs]
def first_file(input_folder) -> Path:
return next(input_folder.glob("*/*_20240803T*nc"))
@pytest.fixture(scope="session")
[docs]
def tmp_folder(tests_settings) -> Path:
tests_settings.tmp_folder.mkdir(exist_ok=True)
return tests_settings.tmp_folder
@pytest.fixture()
[docs]
def hydroweb_env(tests_settings) -> None:
init_hydroweb_env(tests_settings)