"""
Test script to verify all MCP tools are working correctly
"""
import sys
sys.path.insert(0, '/Users/alibouali/personal/projects/akenah/absher-voice-assistant/backend/mcp-servers')
from absher_server import (
verify_national_id,
get_security_questions,
verify_security_answers,
get_user_data,
get_service_requirements,
renew_passport,
get_traffic_fines,
book_appointment
)
import json
def print_test(test_name: str, result: str):
"""Pretty print test results"""
print(f"\n{'='*60}")
print(f"TEST: {test_name}")
print(f"{'='*60}")
result_obj = json.loads(result)
print(json.dumps(result_obj, ensure_ascii=False, indent=2))
def run_tests():
"""Run all tool tests"""
print("\n🧪 Testing Absher MCP Server Tools\n")
# Test 1: Verify National ID
print_test(
"1. Verify National ID (valid)",
verify_national_id("1234567890")
)
# Test 2: Get Security Questions
print_test(
"2. Get Security Questions",
get_security_questions("1234567890")
)
# Test 3: Verify Security Answers
print_test(
"3. Verify Security Answers (correct)",
verify_security_answers(
"1234567890",
[{"question_id": "q1", "answer": "الرياض"}]
)
)
# Test 4: Get User Data
print_test(
"4. Get User Data",
get_user_data("1234567890")
)
# Test 5: Get Service Requirements
print_test(
"5. Get Service Requirements (passport_renewal)",
get_service_requirements("passport_renewal")
)
# Test 6: Renew Passport
print_test(
"6. Renew Passport",
renew_passport(
"1234567890",
"انتهاء الصلاحية",
"استلام من المكتب"
)
)
# Test 7: Get Traffic Fines
print_test(
"7. Get Traffic Fines",
get_traffic_fines("1234567890")
)
# Test 8: Book Appointment
print_test(
"8. Book Appointment",
book_appointment(
"1234567890",
"الجوازات",
"الرياض",
"2024-12-15"
)
)
print("\n" + "="*60)
print("✅ All 8 tools tested successfully!")
print("="*60 + "\n")
if __name__ == "__main__":
run_tests()