test(conductor): Add validation tests for Tech Lead JSON retry logic
This commit is contained in:
@@ -4,12 +4,20 @@ from src import conductor_tech_lead
|
||||
import pytest
|
||||
|
||||
class TestConductorTechLead(unittest.TestCase):
|
||||
def test_generate_tickets_parse_error(self) -> None:
|
||||
def test_generate_tickets_retry_failure(self) -> None:
|
||||
with patch('src.ai_client.send') as mock_send:
|
||||
mock_send.return_value = "invalid json"
|
||||
# conductor_tech_lead.generate_tickets now raises RuntimeError on error
|
||||
# conductor_tech_lead.generate_tickets now raises RuntimeError on error after 3 attempts
|
||||
with pytest.raises(RuntimeError):
|
||||
conductor_tech_lead.generate_tickets("brief", "skeletons")
|
||||
assert mock_send.call_count == 3
|
||||
|
||||
def test_generate_tickets_retry_success(self) -> None:
|
||||
with patch('src.ai_client.send') as mock_send:
|
||||
mock_send.side_effect = ["invalid json", '[{"Task": "Test"}]']
|
||||
tickets = conductor_tech_lead.generate_tickets("brief", "skeletons")
|
||||
assert tickets == [{"Task": "Test"}]
|
||||
assert mock_send.call_count == 2
|
||||
|
||||
def test_generate_tickets_success(self) -> None:
|
||||
with patch('src.ai_client.send') as mock_send:
|
||||
|
||||
Reference in New Issue
Block a user