hoe / Super-main-3 /tests /test_system.py
Cunt1257's picture
Upload 136 files
f02fdcc verified
Raw
History Blame Contribute Delete
1.94 kB
import pytest
import asyncio
from src.agents import AgentContext, AgentStatus, executor
from src.agents.examples import EchoAgent, SleepAgent, ComputeAgent
from src.telemetry import collector
@pytest.mark.asyncio
async def test_echo_agent():
agent = EchoAgent()
ctx = AgentContext(agent_id=agent.agent_id)
result = await executor.run(agent, ctx, message="test")
assert result.status == AgentStatus.COMPLETED
assert result.output["echo"] == "test"
assert result.duration_ms is not None
@pytest.mark.asyncio
async def test_compute_agent():
agent = ComputeAgent()
result = await executor.run(agent, numbers=[10, 20, 30])
assert result.status == AgentStatus.COMPLETED
assert result.output["sum"] == 60
assert result.output["average"] == 20.0
@pytest.mark.asyncio
async def test_agent_timeout():
agent = SleepAgent()
result = await executor.run(agent, timeout=1, seconds=5.0)
assert result.status == AgentStatus.TIMEOUT
assert result.error is not None
@pytest.mark.asyncio
async def test_retry_succeeds():
agent = EchoAgent()
result = await executor.run_with_retry(agent, message="retry_test", retries=2)
assert result.status == AgentStatus.COMPLETED
def test_telemetry_collector():
from src.telemetry.models import TelemetryEvent, EventType
collector.emit(TelemetryEvent(event_type=EventType.LOG, payload={"msg": "hello"}))
events = collector.get_events(limit=10)
assert len(events) >= 1
def test_telemetry_metric():
from src.telemetry.models import Metric
collector.record_metric(Metric(name="test.metric", value=42.0, unit="count"))
metrics = collector.get_metrics(limit=10)
assert any(m.name == "test.metric" for m in metrics)
def test_agent_registry():
from src.agents.registry import registry
types = registry.list_types()
assert "echo" in types
assert "sleep" in types
assert "compute" in types