mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-16 10:40:16 +08:00
Merge pull request #324 from pzarfos/feature/get_pr_id_320
Added 'get_pr_id' function for the CodeCommit provider
This commit is contained in:
@ -233,8 +233,20 @@ class CodeCommitProvider(GitProvider):
|
||||
raise NotImplementedError("CodeCommit provider does not support publishing inline comments yet")
|
||||
|
||||
def get_title(self):
|
||||
return self.pr.get("title", "")
|
||||
return self.pr.title
|
||||
|
||||
def get_pr_id(self):
|
||||
"""
|
||||
Returns the PR ID in the format: "repo_name/pr_number".
|
||||
Note: This is an internal identifier for PR-Agent,
|
||||
and is not the same as the CodeCommit PR identifier.
|
||||
"""
|
||||
try:
|
||||
pr_id = f"{self.repo_name}/{self.pr_num}"
|
||||
return pr_id
|
||||
except:
|
||||
return ""
|
||||
|
||||
def get_languages(self):
|
||||
"""
|
||||
Returns a dictionary of languages, containing the percentage of each language used in the PR.
|
||||
|
@ -67,7 +67,7 @@ class PRDescription:
|
||||
try:
|
||||
logging.info(f"Generating a PR description {self.pr_id}")
|
||||
if get_settings().config.publish_output:
|
||||
self.git_provider.publish_comment("Preparing pr description...", is_temporary=True)
|
||||
self.git_provider.publish_comment("Preparing PR description...", is_temporary=True)
|
||||
|
||||
await retry_with_fallback_models(self._prepare_prediction)
|
||||
|
||||
|
@ -110,7 +110,7 @@ class TestCodeCommitProvider:
|
||||
# Mock the response from the AWS client for get_pull_request method
|
||||
api.boto_client.get_pull_request.return_value = {
|
||||
"pullRequest": {
|
||||
"pullRequestId": "3",
|
||||
"pullRequestId": "321",
|
||||
"title": "My PR",
|
||||
"description": "My PR description",
|
||||
"pullRequestTargets": [
|
||||
|
@ -1,6 +1,8 @@
|
||||
import pytest
|
||||
from unittest.mock import patch
|
||||
from pr_agent.git_providers.codecommit_provider import CodeCommitFile
|
||||
from pr_agent.git_providers.codecommit_provider import CodeCommitProvider
|
||||
from pr_agent.git_providers.codecommit_provider import PullRequestCCMimic
|
||||
from pr_agent.git_providers.git_provider import EDIT_TYPE
|
||||
|
||||
|
||||
@ -25,6 +27,21 @@ class TestCodeCommitFile:
|
||||
|
||||
|
||||
class TestCodeCommitProvider:
|
||||
def test_get_title(self):
|
||||
# Test that the get_title() function returns the PR title
|
||||
with patch.object(CodeCommitProvider, "__init__", lambda x, y: None):
|
||||
provider = CodeCommitProvider(None)
|
||||
provider.pr = PullRequestCCMimic("My Test PR Title", [])
|
||||
assert provider.get_title() == "My Test PR Title"
|
||||
|
||||
def test_get_pr_id(self):
|
||||
# Test that the get_pr_id() function returns the correct ID
|
||||
with patch.object(CodeCommitProvider, "__init__", lambda x, y: None):
|
||||
provider = CodeCommitProvider(None)
|
||||
provider.repo_name = "my_test_repo"
|
||||
provider.pr_num = 321
|
||||
assert provider.get_pr_id() == "my_test_repo/321"
|
||||
|
||||
def test_parse_pr_url(self):
|
||||
# Test that the _parse_pr_url() function can extract the repo name and PR number from a CodeCommit URL
|
||||
url = "https://us-east-1.console.aws.amazon.com/codesuite/codecommit/repositories/my_test_repo/pull-requests/321"
|
||||
@ -169,4 +186,4 @@ class TestCodeCommitProvider:
|
||||
def test_remove_markdown_html(self):
|
||||
input = "## PR Feedback\n<details><summary>Code feedback:</summary>\nfile foo\n</summary>\n"
|
||||
expect = "## PR Feedback\nCode feedback:\nfile foo\n\n"
|
||||
assert CodeCommitProvider._remove_markdown_html(input) == expect
|
||||
assert CodeCommitProvider._remove_markdown_html(input) == expect
|
||||
|
Reference in New Issue
Block a user