blob: ff35bb7c6c23d0e6033815b272b60546d7f53e02 [file]
import unittest
from unittest.mock import patch, MagicMock
import asyncio
from gerrit_mcp_server.main import post_review_comment
class TestPostReviewComment(unittest.TestCase):
@patch('gerrit_mcp_server.main.run_curl')
def test_post_review_comment_with_labels(self, mock_run_curl):
mock_run_curl.return_value = (0, '{"done": true}', '')
asyncio.run(post_review_comment('123', 'test.py', 1, 'test comment', labels={'Verified': 1}, gerrit_base_url='https://gerrit-review.googlesource.com'))
expected_payload_str = '{"comments": {"test.py": [{"line": 1, "message": "test comment", "unresolved": true}]}, "labels": {"Verified": 1}}'
mock_run_curl.assert_called_with(
[
'-X',
'POST',
'-H',
'Content-Type: application/json',
'--data',
expected_payload_str,
'https://gerrit-review.googlesource.com/changes/123/revisions/current/review'
],
'https://gerrit-review.googlesource.com'
)
if __name__ == '__main__':
unittest.main()