Files
lai_automatisierung/old_2026-08-31/tests/test_database.py
2026-08-31 02:46:58 +02:00

36 lines
1.1 KiB
Python

from unittest.mock import MagicMock, Mock
from test_config import settings
from lai_automation.database import FailureRepository
def test_heartbeat_refreshes_only_an_active_claim() -> None:
repository = FailureRepository(settings())
connection = MagicMock()
cursor = MagicMock()
repository.connection = MagicMock()
repository.connection.return_value.__enter__.return_value = connection
connection.cursor.return_value.__enter__.return_value = cursor
repository.heartbeat(17)
statement, parameters = cursor.execute.call_args.args
assert "SET updated_at = NOW()" in statement
assert "status = 'agent_running'" in statement
assert parameters == (17,)
connection.commit.assert_called_once()
def test_complete_clears_previous_agent_error() -> None:
repository = FailureRepository(settings())
repository._finish = Mock()
repository.complete(17, {"classification": "already_fixed"})
repository._finish.assert_called_once_with(
17,
"resolved",
{"classification": "already_fixed", "agent_error": None},
)