Spaces:
Running
Running
| """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" | |