ā Back to File Tree
test_agents.py
Language: python |
Path: test_agents.py |
Lines: 80
"""Quick test script for all agents."""
import asyncio
from backend.src.agents import DatabaseAgent, InfrastructureAgent, CostAgent, SecurityAgent
async def test_agents() -> None:
"""Test all agents with sample context."""
print("š Testing Tech Stack Advisor Agents\n")
# Sample context
context = {
"user_query": "Building a real-time chat application for 100K daily users",
"dau": 100_000,
"qps": 500,
"rps": 500,
"data_gb": 200,
"data_type": "structured",
"consistency": "strong",
"workload_type": "realtime",
"budget_conscious": True,
"data_sensitivity": "medium",
"public_facing": True,
}
print("š Context:")
print(f" Query: {context['user_query']}")
print(f" DAU: {context['dau']:,}")
print(f" QPS: {context['qps']}")
print()
# Test Database Agent
print("1ļøā£ Testing Database Agent...")
db_agent = DatabaseAgent()
print(f" Agent: {db_agent.name}")
print(f" Role: {db_agent.role}")
print(f" Tools: {len(db_agent.tools)}")
print(f" ā Database Agent initialized")
print()
# Test Infrastructure Agent
print("2ļøā£ Testing Infrastructure Agent...")
infra_agent = InfrastructureAgent()
print(f" Agent: {infra_agent.name}")
print(f" Role: {infra_agent.role}")
print(f" Tools: {len(infra_agent.tools)}")
print(f" ā Infrastructure Agent initialized")
print()
# Test Cost Agent
print("3ļøā£ Testing Cost Agent...")
cost_agent = CostAgent()
print(f" Agent: {cost_agent.name}")
print(f" Role: {cost_agent.role}")
print(f" Tools: {len(cost_agent.tools)}")
print(f" ā Cost Agent initialized")
print()
# Test Security Agent
print("4ļøā£ Testing Security Agent...")
security_agent = SecurityAgent()
print(f" Agent: {security_agent.name}")
print(f" Role: {security_agent.role}")
print(f" Tools: {len(security_agent.tools)}")
print(f" ā Security Agent initialized")
print()
print("ā
All agents initialized successfully!")
print("\nš Summary:")
print(f" Total agents: 4")
print(f" Total tools: {sum([len(a.tools) for a in [db_agent, infra_agent, cost_agent, security_agent]])}")
print()
print("šÆ Next Steps:")
print(" - Implement LangGraph orchestration workflow")
print(" - Create FastAPI endpoints")
print(" - Set up Qdrant vector store for RAG")
print(" - Build Streamlit frontend")
if __name__ == "__main__":
asyncio.run(test_agents())