import json
import unittest
from pathlib import Path


ROOT = Path(__file__).resolve().parents[1]


class PipelineFixturesTest(unittest.TestCase):
    def test_package_manifest_references_existing_inputs(self) -> None:
        manifest = json.loads((ROOT / "package/manifest.json").read_text())
        referenced = manifest["contracts"] + manifest["profiles"] + manifest["routes"]
        self.assertTrue(all((ROOT / path).is_file() for path in referenced))

    def test_local_target_has_health_check_and_rollback(self) -> None:
        deployment = (ROOT / "deploy/local-simulator.yaml").read_text()
        self.assertIn("healthCheck:", deployment)
        self.assertIn("rollback:", deployment)
        self.assertIn("enabled: true", deployment)


if __name__ == "__main__":
    unittest.main()
