| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import logging
- import subprocess
- from hatch_build import PRICING_FILE_RELATIVE_PATH, CustomBuildHook
- def _build_hook_with_root(tmp_path) -> CustomBuildHook:
- hook = CustomBuildHook.__new__(CustomBuildHook)
- hook.root = str(tmp_path)
- return hook
- def test_skipping_download_still_warns_if_pricing_file_missing(monkeypatch, tmp_path, caplog):
- def _raise_no_git(*_args, **_kwargs):
- raise FileNotFoundError("git")
- monkeypatch.setattr(subprocess, "run", _raise_no_git)
- hook = _build_hook_with_root(tmp_path)
- caplog.set_level(logging.INFO)
- hook.initialize(version="0.0.0", build_data={})
- expected_path = tmp_path / PRICING_FILE_RELATIVE_PATH
- assert "Skipping pricing data download (branch is not 'main')." in caplog.text
- assert f"Pricing file not found at {expected_path}" in caplog.text
- def test_skipping_download_does_not_error_when_pricing_file_exists(monkeypatch, tmp_path, caplog):
- monkeypatch.setattr(subprocess, "run", lambda *_args, **_kwargs: subprocess.CompletedProcess([], 0, stdout="dev\n"))
- pricing_file_path = tmp_path / PRICING_FILE_RELATIVE_PATH
- pricing_file_path.parent.mkdir(parents=True, exist_ok=True)
- pricing_file_path.write_text("{}", encoding="utf-8")
- hook = _build_hook_with_root(tmp_path)
- caplog.set_level(logging.INFO)
- hook.initialize(version="0.0.0", build_data={})
- assert "Skipping pricing data download (branch is not 'main')." in caplog.text
- assert "Pricing file not found at" not in caplog.text
|