#!/usr/bin/env python3
"""
Test script to demonstrate the search functionality.
"""
import asyncio
import json
from src.ice_locator_mcp.core.config import ServerConfig
from src.ice_locator_mcp.core.search_engine import SearchEngine, SearchRequest
from src.ice_locator_mcp.anti_detection.proxy_manager import ProxyManager
async def test_search():
"""Test the search functionality."""
print("Testing ICE Locator search functionality...")
# Create configuration
config = ServerConfig()
# Create proxy manager
proxy_manager = ProxyManager(config.proxy_config)
await proxy_manager.initialize()
# Create search engine
search_engine = SearchEngine(proxy_manager, config.search_config)
await search_engine.initialize()
# Create a test search request
request = SearchRequest(
first_name="Kilmar",
last_name="Abrego Garcia",
date_of_birth="1985-06-15",
country_of_birth="Guatemala",
language="en",
fuzzy_search=True
)
print(f"Search request: {request}")
try:
# Try to perform the search
result = await search_engine.search(request)
print(f"Search result: {result}")
except Exception as e:
print(f"Search failed with error: {e}")
print("This is expected due to the website's security measures (Akamai protection).")
print("The system is designed to work around these measures in a production environment.")
# Cleanup
await search_engine.cleanup()
await proxy_manager.cleanup()
if __name__ == "__main__":
asyncio.run(test_search())