Skip to main content
Glama
verify_efficiency_manual.py2.81 kB
import asyncio import json import sys import os from unittest.mock import MagicMock, patch # Add current directory to path sys.path.append(os.getcwd()) from mcp_kql_server.memory import MemoryManager from mcp_kql_server.mcp_server import _schema_find_tables_operation async def run_tests(): print("Starting Manual Verification...") import tempfile import shutil # Create temp directory temp_dir = tempfile.mkdtemp() db_path = os.path.join(temp_dir, "test_memory.db") try: # Setup mm = MemoryManager(db_path) mm.semantic_search = MagicMock() mm.semantic_search.encode.return_value = b'\x00' * 4 # Test 1: Semantic Search print("Test 1: Semantic Table Search...", end="") mm.store_schema("c1", "d1", "Users", {"columns": {"Name": "s"}}) with patch.object(mm, 'find_relevant_tables') as mock_find: mock_find.return_value = [{"table": "Users", "score": 0.9}] results = mm.find_relevant_tables("c1", "d1", "q") assert len(results) == 1 assert results[0]["table"] == "Users" print("PASSED") # Test 2: Caching print("Test 2: Query Caching...", end="") query = "T | take 1" res = json.dumps([{"a": 1}]) mm.cache_query_result(query, res, 1) cached = mm.get_cached_result(query) assert cached == res assert mm.get_cached_result("other") is None print("PASSED") # Test 3: Join Hints print("Test 3: Join Hints...", end="") mm.store_join_hint("A", "B", "on X") hints = mm.get_join_hints(["A"]) assert len(hints) == 1 assert "A joins with B on on X" in hints[0] print("PASSED") # Test 4: Find Tables Operation print("Test 4: Find Tables Operation...", end="") with patch('mcp_kql_server.mcp_server.memory_manager', mm): # We need to patch the method on the instance we just injected with patch.object(mm, 'find_relevant_tables') as mock_find: mock_find.return_value = [{"table": "T1", "score": 0.8}] result = await _schema_find_tables_operation("c", "d", "q") data = json.loads(result) assert data["success"] is True assert len(data["tables"]) == 1 print("PASSED") print("\nALL TESTS PASSED SUCCESSFULLY!") except Exception as e: print(f"\nFAILED: {e}") import traceback traceback.print_exc() sys.exit(1) finally: try: shutil.rmtree(temp_dir) except Exception: pass # Ignore cleanup errors on Windows (file in use) if __name__ == "__main__": asyncio.run(run_tests())

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/4R9UN/mcp-kql-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server