reverse-skill-mcp / tests /test_reverse_skill.py
Cameronk199's picture
Add pinned specialist references for on-demand context
89f9d25 verified
Raw
History Blame Contribute Delete
1.74 kB
import unittest
from reverse_skill import (
draft_reverse_security_plan,
get_reverse_skill_context,
get_reverse_skill_scope_contract,
route_reverse_task,
)
class ReverseSkillTests(unittest.TestCase):
def test_routes_android_to_apk_specialist(self):
result = route_reverse_task("Reverse this Android APK with JADX", artifact="APK")
self.assertIn("PRIMARY ROUTE: apk-reverse", result)
self.assertIn("REQUIRED GATE", result)
def test_routes_unknown_task_to_generic_fallback(self):
result = route_reverse_task("Understand an unknown compiled artifact")
self.assertIn("PRIMARY ROUTE: reverse-engineering", result)
def test_context_rejects_unknown_route_without_execution(self):
result = get_reverse_skill_context("not-a-route")
self.assertIn("Unknown route", result)
def test_context_can_return_pinned_route_reference(self):
result = get_reverse_skill_context("api-security", detail="reference")
self.assertIn("BEGIN REFERENCE", result)
self.assertIn("api-security", result.lower())
def test_scope_template_is_explicit(self):
result = get_reverse_skill_scope_contract()
self.assertIn("auth.status: pending | granted", result)
self.assertIn("network_profile", result)
def test_plan_stays_draft_without_authorization(self):
result = draft_reverse_security_plan("Assess an API", artifact="REST API", network_profile="authorized_target_only")
self.assertIn("PLAN STATUS: draft / read-only", result)
self.assertIn("BLOCKED for target-facing work", result)
self.assertIn("no commands, scans, target requests", result)
if __name__ == "__main__":
unittest.main()