import json
import os
import unittest
from tests import test_bootstrap # noqa: F401
class TestMcpResources(unittest.TestCase):
def test_help_and_example_resources_exist_and_are_readable(self):
# Avoid trying to connect to Blender at import time during tests.
os.environ.setdefault("BLENDER_MCP_TOOL_PROFILE", "full")
from blender_mcp.server import mcp
resources = mcp.get_resources()
self.assertIn("blender://help", resources)
self.assertIn("blender://help/quickstart", resources)
self.assertIn("blender://help/tools", resources)
self.assertIn("blender://help/troubleshooting", resources)
self.assertIn("blender://help/security", resources)
self.assertIn("blender://examples/ops/basic", resources)
self.assertIn("blender://examples/ops/modifiers", resources)
self.assertIn("blender://examples/workflows/asset_strategy", resources)
help_text = mcp.get_resource("blender://help").read()
self.assertIsInstance(help_text, str)
self.assertIn("BlenderMCP Help", help_text)
ex_basic = mcp.get_resource("blender://examples/ops/basic").read()
parsed = json.loads(ex_basic)
self.assertEqual(parsed["dsl_version"], "1")
self.assertIn("ops", parsed)
self.assertGreaterEqual(len(parsed["ops"]), 1)
if __name__ == "__main__":
unittest.main()