78 lines
2.1 KiB
Python
78 lines
2.1 KiB
Python
"""Tests for AuditAgent."""
|
|
|
|
import pytest
|
|
|
|
from app.agents.audit_agent import AuditAgent
|
|
|
|
|
|
@pytest.fixture
|
|
def audit_agent():
|
|
return AuditAgent()
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_audit_agent_initialization(audit_agent):
|
|
"""Test AuditAgent initializes correctly."""
|
|
assert audit_agent.name == "audit_agent"
|
|
assert audit_agent.version == "1.0.0"
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_audit_agent_health_check(audit_agent):
|
|
"""Test AuditAgent health check."""
|
|
result = await audit_agent.health_check()
|
|
assert isinstance(result, bool)
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_audit_agent_run(audit_agent):
|
|
"""Test AuditAgent run."""
|
|
context = {"action": "quick", "paths": ["app"]}
|
|
result = await audit_agent.run(context)
|
|
assert hasattr(result, "success")
|
|
assert hasattr(result, "message")
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_audit_agent_quick_audit(audit_agent):
|
|
"""Test AuditAgent quick audit."""
|
|
result = await audit_agent._run_quick_audit(["app"])
|
|
assert hasattr(result, "success")
|
|
assert hasattr(result, "data")
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_audit_agent_docs_check(audit_agent):
|
|
"""Test AuditAgent docs check."""
|
|
result = await audit_agent._check_docs()
|
|
assert hasattr(result, "success")
|
|
assert "missing_docs" in result.data
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_audit_agent_status_transitions(audit_agent):
|
|
"""Test AuditAgent status transitions."""
|
|
assert audit_agent.status.value == "idle"
|
|
|
|
await audit_agent.set_running("audit")
|
|
assert audit_agent.status.value == "running"
|
|
|
|
await audit_agent.set_idle()
|
|
assert audit_agent.status.value == "idle"
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_audit_agent_metrics(audit_agent):
|
|
"""Test AuditAgent metrics."""
|
|
metrics = await audit_agent.get_metrics()
|
|
assert "agent_id" in metrics
|
|
assert "status" in metrics
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_audit_agent_full_audit(audit_agent):
|
|
"""Test AuditAgent full audit."""
|
|
context = {"action": "full", "paths": ["app"]}
|
|
result = await audit_agent.run(context)
|
|
assert hasattr(result, "success")
|
|
assert hasattr(result, "data") |