import tomllib import unittest from pathlib import Path PROJECT_ROOT = Path(__file__).resolve().parents[1] MANIFEST_PATH = PROJECT_ROOT / "src" / "anyimage" / "blender_manifest.toml" class ManifestTest(unittest.TestCase): @classmethod def setUpClass(cls): cls.manifest = tomllib.loads(MANIFEST_PATH.read_text(encoding="utf-8")) def test_declares_modern_extension_metadata(self): self.assertEqual(self.manifest["schema_version"], "1.0.0") self.assertEqual(self.manifest["id"], "anyimage") self.assertEqual(self.manifest["type"], "add-on") self.assertNotIn("bl_info", self.manifest) def test_declares_required_environment_permissions(self): self.assertEqual( set(self.manifest["permissions"]), {"network", "files"}, )