MCPcopy Create free account
hub / github.com/cft0808/edict / SkillManagerTests

Class SkillManagerTests

tests/test_skill_manager.py:26–88  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24
25
26class SkillManagerTests(unittest.TestCase):
27 def test_default_skills_do_not_use_removed_openclaw_hub(self):
28 with tempfile.TemporaryDirectory() as tmp:
29 skill_manager = _load_skill_manager(Path(tmp) / ".openclaw")
30
31 self.assertIn("mmx_cli", skill_manager.OFFICIAL_SKILLS_HUB)
32 self.assertTrue(
33 all(
34 "openclaw-ai/skills-hub" not in url
35 for url in skill_manager.OFFICIAL_SKILLS_HUB.values()
36 )
37 )
38
39 def test_custom_hub_base_restores_hub_skill_urls(self):
40 with tempfile.TemporaryDirectory() as tmp:
41 skill_manager = _load_skill_manager(
42 Path(tmp) / ".openclaw",
43 hub_base="https://example.com/openclaw-skills",
44 )
45
46 self.assertEqual(
47 skill_manager.OFFICIAL_SKILLS_HUB["code_review"],
48 "https://example.com/openclaw-skills/code_review/SKILL.md",
49 )
50 self.assertEqual(
51 skill_manager.OFFICIAL_SKILLS_HUB["test_framework"],
52 "https://example.com/openclaw-skills/test_framework/SKILL.md",
53 )
54 self.assertEqual(
55 skill_manager.OFFICIAL_SKILLS_HUB["mmx_cli"],
56 "https://raw.githubusercontent.com/MiniMax-AI/cli/main/skill/SKILL.md",
57 )
58
59 def test_import_official_hub_uses_per_skill_recommended_agents(self):
60 with tempfile.TemporaryDirectory() as tmp:
61 skill_manager = _load_skill_manager(Path(tmp) / ".openclaw")
62
63 calls = []
64
65 def fake_add_remote(agent_id, skill_name, source_url, description=""):
66 calls.append((agent_id, skill_name, source_url, description))
67 return True
68
69 with mock.patch.object(skill_manager, "add_remote", fake_add_remote):
70 self.assertTrue(skill_manager.import_official_hub([]))
71
72 self.assertEqual(
73 calls,
74 [
75 (
76 "menxia",
77 "mmx_cli",
78 "https://raw.githubusercontent.com/MiniMax-AI/cli/main/skill/SKILL.md",
79 "默认 skill:mmx_cli",
80 ),
81 (
82 "shangshu",
83 "mmx_cli",

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected