Add redmine-communicator skill docs and setup tooling
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
import subprocess
|
||||
import sys
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
SKILL = ROOT / "skills" / "redmine-communicator"
|
||||
SETUP = SKILL / "scripts" / "setup_redmcp.py"
|
||||
|
||||
|
||||
class RedmineCommunicatorSkillTest(unittest.TestCase):
|
||||
def test_skill_files_exist_and_reference_redmcp_safety_rules(self):
|
||||
skill_md = (SKILL / "SKILL.md").read_text()
|
||||
reference = (SKILL / "references" / "redmcp-tools.md").read_text()
|
||||
|
||||
self.assertIn("redmine-communicator", skill_md)
|
||||
self.assertIn("redMCP", skill_md)
|
||||
self.assertIn("send_helpdesk_email=true", skill_md)
|
||||
self.assertIn("redmine_send_helpdesk_response", reference)
|
||||
self.assertIn("customer-visible", reference)
|
||||
|
||||
def test_setup_script_dry_run_prints_stdio_config(self):
|
||||
result = subprocess.run(
|
||||
[
|
||||
sys.executable,
|
||||
str(SETUP),
|
||||
"--redmine-url",
|
||||
"http://redmine.example.test",
|
||||
"--redmine-api-key",
|
||||
"secret-key",
|
||||
"--transport",
|
||||
"stdio",
|
||||
],
|
||||
cwd=ROOT,
|
||||
universal_newlines=True,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE,
|
||||
check=False,
|
||||
)
|
||||
|
||||
self.assertEqual(0, result.returncode, result.stderr)
|
||||
self.assertIn("mode=dry-run", result.stdout)
|
||||
self.assertIn("redmcp-server.php", result.stdout)
|
||||
self.assertNotIn("secret-key", result.stdout)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user