import json from pathlib import Path import re import tomllib import unittest from parley import __version__ ROOT = Path(__file__).resolve().parent.parent class ReleaseMetadataTests(unittest.TestCase): def test_versions_are_consistent(self) -> None: with (ROOT / "pyproject.toml").open("rb") as source: project = tomllib.load(source)["project"] self.assertEqual(project["name"], "parley") project_version = project["version"] pkgbuild = (ROOT / "packaging/arch/PKGBUILD").read_text(encoding="utf-8") package_version = re.search(r"^pkgver=(.+)$", pkgbuild, re.MULTILINE) self.assertIsNotNone(package_version) self.assertEqual(__version__, "1.1.0") self.assertEqual(project_version, __version__) self.assertEqual(package_version.group(1), __version__) def test_extension_targets_current_shell(self) -> None: metadata = json.loads( (ROOT / "extension/metadata.json").read_text(encoding="utf-8") ) self.assertEqual(metadata["version"], 2) self.assertEqual(metadata["url"], "https://github.com/yuvadm/parley") if __name__ == "__main__": unittest.main()