import pytest import responses from aider_gitea.gitea_client import GiteaClient class TestGiteaClient: def setup_method(self): """Set up test fixtures.""" self.gitea_url = "https://gitea.example.com" self.token = "test_token" self.client = GiteaClient(self.gitea_url, self.token) self.owner = "test_owner" self.repo = "test_repo" @responses.activate def test_get_pull_request_comments(self): """Test retrieving comments for a pull request.""" pull_number = 123 expected_comments = [ { "id": 1, "body": "This is a test comment", "user": {"login": "test_user"}, "created_at": "2023-01-01T00:00:00Z", }, { "id": 2, "body": "Another test comment", "user": {"login": "another_user"}, "created_at": "2023-01-02T00:00:00Z", }, ] # Mock the API response url = f"{self.gitea_url}/api/v1/repos/{self.owner}/{self.repo}/pulls/{pull_number}/comments" responses.add( responses.GET, url, json=expected_comments, status=200, ) # Call the method comments = self.client.get_pull_request_comments(self.owner, self.repo, pull_number) # Verify the result assert comments == expected_comments assert len(responses.calls) == 1 assert responses.calls[0].request.url == url