test_server.py•2.48 kB
#!/usr/bin/env python3
"""
Test script for the Exa Websets MCP Server
"""
import asyncio
import json
from server import create_webset, create_marketing_agencies_webset, create_tech_companies_webset
async def test_create_basic_webset():
"""Test creating a basic webset"""
print("Testing basic webset creation...")
try:
result = await create_webset(
query="AI startups in San Francisco",
count=5,
entity="company",
external_id="test-ai-startups-sf"
)
print("✅ Basic webset creation successful:")
print(json.dumps(result, indent=2))
return True
except Exception as e:
print(f"❌ Basic webset creation failed: {e}")
return False
async def test_create_marketing_agencies():
"""Test creating marketing agencies webset"""
print("\nTesting marketing agencies webset...")
try:
result = await create_marketing_agencies_webset(
location="California",
focus="tech companies",
count=5
)
print("✅ Marketing agencies webset successful:")
print(json.dumps(result, indent=2))
return True
except Exception as e:
print(f"❌ Marketing agencies webset failed: {e}")
return False
async def test_create_tech_companies():
"""Test creating tech companies webset"""
print("\nTesting tech companies webset...")
try:
result = await create_tech_companies_webset(
location="New York",
stage="Series A",
count=5
)
print("✅ Tech companies webset successful:")
print(json.dumps(result, indent=2))
return True
except Exception as e:
print(f"❌ Tech companies webset failed: {e}")
return False
async def main():
"""Run all tests"""
print("Starting Exa Websets MCP Server Tests...")
print("=" * 50)
tests = [
test_create_basic_webset,
test_create_marketing_agencies,
test_create_tech_companies
]
results = []
for test in tests:
results.append(await test())
print("\n" + "=" * 50)
print(f"Test Summary: {sum(results)}/{len(results)} tests passed")
if all(results):
print("🎉 All tests passed! The server is working correctly.")
else:
print("⚠️ Some tests failed. Check the output above for details.")
if __name__ == "__main__":
asyncio.run(main())