forked from Alishahryar1/free-claude-code
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_version.py
More file actions
42 lines (27 loc) · 1.39 KB
/
Copy pathtest_version.py
File metadata and controls
42 lines (27 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import tomllib
from importlib.metadata import PackageNotFoundError
from importlib.metadata import version as distribution_version
from pathlib import Path
import pytest
import free_claude_code.core.version as version_module
def test_package_version_uses_installed_distribution_metadata() -> None:
assert version_module.package_version() == distribution_version("free-claude-code")
def test_package_version_has_explicit_uninstalled_source_fallback(
monkeypatch: pytest.MonkeyPatch,
) -> None:
def missing(_distribution_name: str) -> str:
raise PackageNotFoundError("free-claude-code")
monkeypatch.setattr(version_module, "distribution_version", missing)
assert version_module.package_version() == "0+unknown"
def test_package_version_does_not_hide_invalid_installed_metadata(
monkeypatch: pytest.MonkeyPatch,
) -> None:
def invalid(_distribution_name: str) -> str:
raise ValueError("invalid metadata")
monkeypatch.setattr(version_module, "distribution_version", invalid)
with pytest.raises(ValueError, match="invalid metadata"):
version_module.package_version()
def test_project_release_version_matches_installed_metadata() -> None:
repo_root = Path(__file__).resolve().parents[2]
pyproject = tomllib.loads((repo_root / "pyproject.toml").read_text("utf-8"))
assert pyproject["project"]["version"] == distribution_version("free-claude-code")