"""Unit test per build_info(): env (Docker) vs fallback VERSION file (local).""" from __future__ import annotations from pathlib import Path from presa_mano.version import build_info _VERSION_FILE = Path(__file__).resolve().parents[1] / "VERSION" def test_build_info_prefers_env(monkeypatch): monkeypatch.setenv("APP_VERSION", "1.2.3") monkeypatch.setenv("BUILD_TIME", "2026-06-03 14:22 UTC") info = build_info() assert info == {"version": "1.2.3", "build_time": "2026-06-03 14:22 UTC"} def test_build_info_falls_back_to_version_file(monkeypatch): monkeypatch.delenv("APP_VERSION", raising=False) monkeypatch.delenv("BUILD_TIME", raising=False) info = build_info() file_ver = _VERSION_FILE.read_text(encoding="utf-8").strip() assert file_ver in info["version"] assert info["version"].endswith("(local)") assert info["build_time"] == "(local)"