summaryrefslogtreecommitdiff
path: root/tests/test_release_metadata.py
blob: 24c1e33f274921f2cc4a50112dc71016fa88cb10 (plain)
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
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()