galaxis-agent/tests/test_gitea_comment.py

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