Spaces:
Sleeping
Sleeping
| 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() | |