from __future__ import annotations import unittest from govoplan_core.core.modules import ModuleManifest from govoplan_scheduling.backend.manifest import get_manifest class SchedulingManifestTests(unittest.TestCase): def test_manifest_contract(self) -> None: manifest = get_manifest() self.assertIsInstance(manifest, ModuleManifest) self.assertEqual(manifest.id, "scheduling") self.assertIn("poll", manifest.dependencies) self.assertIn("evaluation", manifest.optional_dependencies) self.assertIn("poll.availability_matrix", {interface.name for interface in manifest.requires_interfaces}) if __name__ == "__main__": unittest.main()