Spaces:
Running
Running
File size: 1,451 Bytes
b4ac377 | 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 43 44 45 46 | """Tests for package version resolution."""
from __future__ import annotations
from importlib import metadata
import openenv
def test_load_package_version_prefers_openenv_core(monkeypatch) -> None:
calls: list[str] = []
def fake_version(distribution_name: str) -> str:
calls.append(distribution_name)
if distribution_name == "openenv-core":
return "0.2.3"
raise metadata.PackageNotFoundError
monkeypatch.setattr(openenv.metadata, "version", fake_version)
assert openenv._load_package_version() == "0.2.3"
assert calls == ["openenv-core"]
def test_load_package_version_falls_back_to_openenv(monkeypatch) -> None:
def fake_version(distribution_name: str) -> str:
if distribution_name == "openenv-core":
raise metadata.PackageNotFoundError
if distribution_name == "openenv":
return "0.2.0"
raise AssertionError(f"Unexpected distribution name: {distribution_name}")
monkeypatch.setattr(openenv.metadata, "version", fake_version)
assert openenv._load_package_version() == "0.2.0"
def test_load_package_version_returns_zero_when_uninstalled(monkeypatch) -> None:
monkeypatch.setattr(
openenv.metadata,
"version",
lambda distribution_name: (_ for _ in ()).throw(metadata.PackageNotFoundError),
)
assert openenv._load_package_version() == "0.0.0"
|