"""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")