49 lines
1.6 KiB
Python
49 lines
1.6 KiB
Python
import pytest
|
|
from unittest.mock import AsyncMock, patch, MagicMock
|
|
|
|
|
|
def test_gitea_comment_success():
|
|
mock_client = MagicMock()
|
|
mock_client.create_issue_comment = AsyncMock(
|
|
return_value={"id": 42, "body": "test comment"}
|
|
)
|
|
|
|
with patch(
|
|
"agent.tools.gitea_comment.get_gitea_client", return_value=mock_client
|
|
), patch(
|
|
"agent.tools.gitea_comment._get_repo_info",
|
|
return_value=("quant", "galaxis-po"),
|
|
):
|
|
from agent.tools.gitea_comment import gitea_comment
|
|
result = gitea_comment(message="test comment", issue_number=1)
|
|
assert result["success"] is True
|
|
assert result["comment_id"] == 42
|
|
|
|
|
|
def test_gitea_comment_missing_issue_number():
|
|
from agent.tools.gitea_comment import gitea_comment
|
|
result = gitea_comment(message="test", issue_number=0)
|
|
assert result["success"] is False
|
|
assert "issue_number" in result["error"]
|
|
|
|
|
|
def test_gitea_comment_api_error():
|
|
import httpx
|
|
mock_client = MagicMock()
|
|
mock_client.create_issue_comment = AsyncMock(
|
|
side_effect=httpx.HTTPStatusError(
|
|
"404", request=MagicMock(), response=MagicMock(status_code=404)
|
|
)
|
|
)
|
|
|
|
with patch(
|
|
"agent.tools.gitea_comment.get_gitea_client", return_value=mock_client
|
|
), patch(
|
|
"agent.tools.gitea_comment._get_repo_info",
|
|
return_value=("quant", "galaxis-po"),
|
|
):
|
|
from agent.tools.gitea_comment import gitea_comment
|
|
result = gitea_comment(message="test", issue_number=999)
|
|
assert result["success"] is False
|
|
assert "error" in result
|