mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-03-31 22:32:28 +00:00
feat: sync
This commit is contained in:
136
scripts/test-sync.py
Normal file
136
scripts/test-sync.py
Normal file
@@ -0,0 +1,136 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Quick test script for tfcode sync functionality.
|
||||
Tests credential validation and tool sync directly.
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
# Set environment for testing
|
||||
os.environ["TF_WORKSPACE_ID"] = "6586b7e6-683e-4ee6-a6cf-24c19729b5ff"
|
||||
os.environ["TF_API_KEY"] = "EWZooLROIS57EVW3BKGu7Pv6LNe4D6m4gkDjukx3"
|
||||
os.environ["TF_REGION"] = "dev"
|
||||
|
||||
def main():
|
||||
print("=" * 60)
|
||||
print("tfcode Sync Test")
|
||||
print("=" * 60)
|
||||
print()
|
||||
|
||||
# Test 1: Load config
|
||||
print("Test 1: Load Configuration")
|
||||
print("-" * 40)
|
||||
try:
|
||||
from tf_sync.config import load_config, get_region_urls, Region
|
||||
|
||||
config = load_config()
|
||||
print(f"✓ Workspace ID: {config.workspace_id}")
|
||||
print(f"✓ Region: {config.region.value}")
|
||||
|
||||
urls = get_region_urls(config.region)
|
||||
print(f"✓ API URL: {urls['base_url']}")
|
||||
print(f"✓ MCP Proxy URL: {urls['mcp_proxy_url']}")
|
||||
print()
|
||||
except Exception as e:
|
||||
print(f"✗ Failed: {e}")
|
||||
print()
|
||||
sys.exit(1)
|
||||
|
||||
# Test 2: Validate credentials
|
||||
print("Test 2: Validate Credentials")
|
||||
print("-" * 40)
|
||||
try:
|
||||
from tf_sync.config import validate_credentials
|
||||
|
||||
result = validate_credentials(config)
|
||||
|
||||
if result.success:
|
||||
print("✓ Credentials valid")
|
||||
if result.workspace_name:
|
||||
print(f" Workspace: {result.workspace_name}")
|
||||
if result.workspace_id:
|
||||
print(f" ID: {result.workspace_id}")
|
||||
else:
|
||||
print(f"✗ Validation failed: {result.error}")
|
||||
sys.exit(1)
|
||||
print()
|
||||
except Exception as e:
|
||||
print(f"✗ Failed: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
print()
|
||||
sys.exit(1)
|
||||
|
||||
# Test 3: Sync tools
|
||||
print("Test 3: Sync Tools")
|
||||
print("-" * 40)
|
||||
try:
|
||||
from tf_sync.tools import sync_tools, ToolType
|
||||
|
||||
result = sync_tools(config)
|
||||
|
||||
if result.success:
|
||||
print(f"✓ Synced {len(result.tools)} tools")
|
||||
print()
|
||||
|
||||
if result.by_type:
|
||||
print("By type:")
|
||||
for tool_type, count in result.by_type.items():
|
||||
print(f" {tool_type}: {count}")
|
||||
print()
|
||||
|
||||
# Show first 5 tools
|
||||
if result.tools:
|
||||
print("Sample tools:")
|
||||
for tool in result.tools[:5]:
|
||||
type_emoji = {
|
||||
ToolType.MCP_SERVER: "🔌",
|
||||
ToolType.AGENT_SKILL: "🤖",
|
||||
ToolType.DATABASE_SCRIPT: "🗄️",
|
||||
ToolType.API_FUNCTION: "🌐",
|
||||
}.get(tool.tool_type, "📦")
|
||||
|
||||
print(f" {type_emoji} {tool.name} ({tool.tool_type.value})")
|
||||
if tool.description:
|
||||
print(f" {tool.description[:60]}...")
|
||||
print(f" Auth: {tool.auth_via}")
|
||||
|
||||
if len(result.tools) > 5:
|
||||
print(f" ... and {len(result.tools) - 5} more")
|
||||
else:
|
||||
print(f"✗ Sync failed: {result.error}")
|
||||
sys.exit(1)
|
||||
print()
|
||||
except Exception as e:
|
||||
print(f"✗ Failed: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
print()
|
||||
sys.exit(1)
|
||||
|
||||
# Test 4: Sync by type
|
||||
print("Test 4: Sync MCP Servers Only")
|
||||
print("-" * 40)
|
||||
try:
|
||||
from tf_sync.tools import sync_tools_by_type
|
||||
|
||||
result = sync_tools_by_type(config, [ToolType.MCP_SERVER])
|
||||
|
||||
if result.success:
|
||||
print(f"✓ Found {len(result.tools)} MCP servers")
|
||||
for tool in result.tools:
|
||||
print(f" - {tool.name}")
|
||||
else:
|
||||
print(f"✗ Failed: {result.error}")
|
||||
print()
|
||||
except Exception as e:
|
||||
print(f"✗ Failed: {e}")
|
||||
print()
|
||||
|
||||
print("=" * 60)
|
||||
print("All tests completed!")
|
||||
print("=" * 60)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user