import os
import runpy
import unittest
from pathlib import Path
ROOT = Path(__file__).resolve().parent.parent
VERSION_FILE = ROOT / "version.py"
class TestVersionMetadata(unittest.TestCase):
def test_pyproject_uses_canonical_version_attr(self):
pyproject_text = (ROOT / "pyproject.toml").read_text(encoding="utf-8")
self.assertIn('version = { attr = "version.__version__" }', pyproject_text)
def test_version_uses_canonical_default(self):
original = os.environ.pop("MINDIE_SD_VERSION_OVERRIDE", None)
try:
version_ns = runpy.run_path(str(VERSION_FILE))
self.assertTrue(version_ns["__version__"])
self.assertEqual(version_ns["__version__"], "3.0.0")
finally:
if original is not None:
os.environ["MINDIE_SD_VERSION_OVERRIDE"] = original
def test_version_honors_override(self):
original = os.environ.get("MINDIE_SD_VERSION_OVERRIDE")
os.environ["MINDIE_SD_VERSION_OVERRIDE"] = "9.9.9T20260415"
try:
version_ns = runpy.run_path(str(VERSION_FILE))
self.assertEqual(version_ns["__version__"], "9.9.9post20260415")
finally:
if original is None:
os.environ.pop("MINDIE_SD_VERSION_OVERRIDE", None)
else:
os.environ["MINDIE_SD_VERSION_OVERRIDE"] = original
if __name__ == "__main__":
unittest.main()