Files
abogen/tests/test_utils_cache.py
T

56 lines
1.4 KiB
Python

import os
import sys
from pathlib import Path
from typing import Iterable
import pytest
ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(ROOT))
@pytest.fixture(autouse=True)
def clear_utils_cache():
import abogen.utils as utils
getattr(utils.get_user_cache_root, "cache_clear")()
yield
getattr(utils.get_user_cache_root, "cache_clear")()
def _clear_env(monkeypatch: pytest.MonkeyPatch, keys: Iterable[str]) -> None:
for key in keys:
monkeypatch.delenv(key, raising=False)
def test_abogen_temp_dir_configures_hf_cache(monkeypatch, tmp_path):
import abogen.utils as utils
cache_root = tmp_path / "cache-root"
home_dir = tmp_path / "home"
monkeypatch.setenv("ABOGEN_TEMP_DIR", str(cache_root))
monkeypatch.setenv("HOME", str(home_dir))
_clear_env(
monkeypatch,
(
"XDG_CACHE_HOME",
"HF_HOME",
"HUGGINGFACE_HUB_CACHE",
"TRANSFORMERS_CACHE",
"ABOGEN_INTERNAL_CACHE_ROOT",
),
)
root = utils.get_user_cache_root()
expected_root = os.path.abspath(str(cache_root))
expected_hf = os.path.join(expected_root, "huggingface")
assert root == expected_root
assert os.environ["XDG_CACHE_HOME"] == expected_root
assert os.environ["HF_HOME"] == expected_hf
assert os.environ["HUGGINGFACE_HUB_CACHE"] == expected_hf
assert os.environ["TRANSFORMERS_CACHE"] == expected_hf