Initial commit: VoIdeaAI - voice-first AI idea assistant
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
"""Tests for RolloutAgent."""
|
||||
|
||||
import pytest
|
||||
|
||||
from app.agents.rollout_agent import RolloutAgent
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def rollout_agent():
|
||||
return RolloutAgent()
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_rollout_agent_initialization(rollout_agent):
|
||||
"""Test RolloutAgent initializes correctly."""
|
||||
assert rollout_agent.name == "rollout_agent"
|
||||
assert rollout_agent.version == "1.0.0"
|
||||
assert rollout_agent._current_stage == 0
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_rollout_agent_health_check(rollout_agent):
|
||||
"""Test RolloutAgent health check."""
|
||||
result = await rollout_agent.health_check()
|
||||
assert result is True
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_rollout_agent_get_status(rollout_agent):
|
||||
"""Test RolloutAgent get status."""
|
||||
result = await rollout_agent._get_status()
|
||||
assert result.success
|
||||
assert "current_stage" in result.data
|
||||
assert result.data["stage_name"] == "development"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_rollout_agent_promote(rollout_agent):
|
||||
"""Test RolloutAgent promote."""
|
||||
result = await rollout_agent._promote_to_next_stage()
|
||||
assert result.success
|
||||
assert result.data["stage_name"] == "3_users"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_rollout_agent_rollback(rollout_agent):
|
||||
"""Test RolloutAgent rollback."""
|
||||
await rollout_agent._promote_to_next_stage()
|
||||
result = await rollout_agent._rollback(0)
|
||||
assert result.success
|
||||
assert result.data.get("rollback_history")
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_rollout_agent_pause_resume(rollout_agent):
|
||||
"""Test RolloutAgent pause and resume."""
|
||||
pause_result = await rollout_agent._pause_rollout()
|
||||
assert pause_result.success
|
||||
|
||||
resume_result = await rollout_agent._resume_rollout()
|
||||
assert resume_result.success
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_rollout_agent_health_check_metrics(rollout_agent):
|
||||
"""Test RolloutAgent health check."""
|
||||
result = await rollout_agent._check_stage_health()
|
||||
assert hasattr(result, "success")
|
||||
assert "metrics" in result.data
|
||||
assert "issues" in result.data
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_rollout_agent_final_stage_cannot_promote(rollout_agent):
|
||||
"""Test RolloutAgent cannot promote past final stage."""
|
||||
rollout_agent._current_stage = 5
|
||||
result = await rollout_agent._promote_to_next_stage()
|
||||
assert result.success is False
|
||||
Reference in New Issue
Block a user