from __future__ import annotations import importlib.util from pathlib import Path import sys import unittest META_ROOT = Path(__file__).resolve().parents[1] TOOLS_ROOT = META_ROOT / "tools" / "gitea" if str(TOOLS_ROOT) not in sys.path: sys.path.insert(0, str(TOOLS_ROOT)) SCRIPT = TOOLS_ROOT / "gitea-dispatch-package-set.py" SPEC = importlib.util.spec_from_file_location("gitea_dispatch_package_set", SCRIPT) assert SPEC is not None and SPEC.loader is not None MODULE = importlib.util.module_from_spec(SPEC) sys.modules[SPEC.name] = MODULE SPEC.loader.exec_module(MODULE) class PackageSetDispatchTests(unittest.TestCase): def test_meta_package_resolves_to_exact_tagged_repository_targets(self) -> None: targets = MODULE.package_targets() self.assertEqual(73, len(targets)) self.assertEqual(73, len({target.distribution for target in targets})) by_name = {target.distribution: target for target in targets} self.assertEqual("v0.1.37", by_name["govoplan-core"].tag) self.assertEqual("v0.1.20", by_name["govoplan-access"].tag) self.assertEqual("v0.1.20", by_name["govoplan-dms"].tag) self.assertEqual("v0.1.20", by_name["govoplan-erp"].tag) self.assertEqual("v0.1.20", by_name["govoplan-fit-connect"].tag) self.assertEqual("v0.1.21", by_name["govoplan-idm"].tag) self.assertEqual("v0.1.21", by_name["govoplan-xrechnung"].tag) self.assertTrue(by_name["govoplan-core"].tag_exists) self.assertTrue(by_name["govoplan-access"].has_webui) self.assertEqual( "@govoplan/access-webui", by_name["govoplan-access"].webui_package, ) if __name__ == "__main__": unittest.main()