Initial commit: VoIdeaAI - voice-first AI idea assistant
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
"""Tests for ObserverAgent."""
|
||||
|
||||
import pytest
|
||||
|
||||
from app.agents.observer_agent import ObserverAgent
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def observer_agent():
|
||||
return ObserverAgent(session=None)
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_observer_agent_initialization(observer_agent):
|
||||
"""Test ObserverAgent initializes correctly."""
|
||||
assert observer_agent.name == "observer_agent"
|
||||
assert observer_agent.version == "1.0.0"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_observer_agent_health_check(observer_agent):
|
||||
"""Test ObserverAgent health check."""
|
||||
result = await observer_agent.health_check()
|
||||
assert result is True
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_observer_agent_run_without_session(observer_agent):
|
||||
"""Test ObserverAgent run without session."""
|
||||
result = await observer_agent.run()
|
||||
assert result.success is False
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_observer_agent_collect_disabled(observer_agent):
|
||||
"""Test ObserverAgent collect when disabled."""
|
||||
context = {
|
||||
"action": "collect",
|
||||
"metric_name": "test_metric",
|
||||
"metric_value": 1.0,
|
||||
}
|
||||
result = await observer_agent.run(context)
|
||||
assert result.success
|
||||
assert result.data.get("skipped") or result.data.get("enabled") is False
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_observer_agent_status(observer_agent):
|
||||
"""Test ObserverAgent status."""
|
||||
await observer_agent.set_running("observation")
|
||||
assert observer_agent.status.value == "running"
|
||||
|
||||
await observer_agent.set_idle()
|
||||
assert observer_agent.status.value == "idle"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_observer_agent_metrics(observer_agent):
|
||||
"""Test ObserverAgent metrics."""
|
||||
metrics = await observer_agent.get_metrics()
|
||||
assert "agent_id" in metrics
|
||||
assert "enabled" in metrics
|
||||
assert "status" in metrics
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_observer_agent_report_without_session(observer_agent):
|
||||
"""Test ObserverAgent report without session."""
|
||||
context = {"action": "report", "period": "daily"}
|
||||
result = await observer_agent.run(context)
|
||||
assert result.success is False
|
||||
Reference in New Issue
Block a user