Store link in database
All checks were successful
Run Python tests (through Pytest) / Test (push) Successful in 24s
Verify Python project can be installed, loaded and have version checked / Test (push) Successful in 23s

This commit is contained in:
Jon Michael Aanes 2025-04-15 23:45:15 +02:00
parent 3fa44e08d8
commit 78d2927b44
3 changed files with 18 additions and 21 deletions

View File

@ -212,8 +212,6 @@ def push_changes(
gitea_client, gitea_client,
owner: str, owner: str,
repo: str, repo: str,
seen_issues_db=None,
issue_text: str = None,
) -> tuple[bool, str, str]: ) -> tuple[bool, str, str]:
# Check if there are any commits on the branch before pushing # Check if there are any commits on the branch before pushing
if not has_commits_on_branch(cwd, base_branch, branch_name): if not has_commits_on_branch(cwd, base_branch, branch_name):
@ -245,20 +243,7 @@ def push_changes(
) )
# Extract PR number and URL if available # Extract PR number and URL if available
pr_number = None return True, str(pr_response.get('number')), pr_response.get('html_url')
pr_url = None
if pr_response and isinstance(pr_response, dict):
pr_number = str(pr_response.get('number'))
pr_url = pr_response.get('html_url')
# Store PR information in the database if available
if seen_issues_db and issue_text and pr_number and pr_url:
seen_issues_db.update_pr_info(issue_text, pr_number, pr_url)
logger.info(
'Stored PR #%s information for issue #%s', pr_number, issue_number,
)
return True, pr_number, pr_url
def has_commits_on_branch(cwd: Path, base_branch: str, current_branch: str) -> bool: def has_commits_on_branch(cwd: Path, base_branch: str, current_branch: str) -> bool:
@ -311,8 +296,8 @@ def solve_issue_in_repository(
issue_title: str, issue_title: str,
issue_description: str, issue_description: str,
issue_number: str, issue_number: str,
gitea_client=None, gitea_client,
seen_issues_db=None, seen_issues_db,
) -> bool: ) -> bool:
logger.info('### %s #####', issue_title) logger.info('### %s #####', issue_title)
@ -392,10 +377,17 @@ def solve_issue_in_repository(
gitea_client, gitea_client,
args.owner, args.owner,
args.repo, args.repo,
seen_issues_db,
issue_text,
) )
# Store PR information in the database if available
if success:
seen_issues_db.update_pr_info(issue_text, pr_number, pr_url)
logger.info(
'Stored PR #%s information for issue #%s',
pr_number,
issue_number,
)
return success return success

View File

@ -61,7 +61,9 @@ class TestSeenIssuesDBPRInfo:
def test_update_nonexistent_issue(self): def test_update_nonexistent_issue(self):
# Try to update PR info for an issue that doesn't exist # Try to update PR info for an issue that doesn't exist
updated = self.db.update_pr_info( updated = self.db.update_pr_info(
'Nonexistent issue', self.pr_number, self.pr_url, 'Nonexistent issue',
self.pr_number,
self.pr_url,
) )
# Verify update failed # Verify update failed

View File

@ -13,6 +13,7 @@ class TestSolveIssueInRepository:
self.args.base_branch = 'main' self.args.base_branch = 'main'
self.gitea_client = MagicMock() self.gitea_client = MagicMock()
self.seen_issues_db = MagicMock()
self.tmpdirname = Path('/tmp/test-repo') self.tmpdirname = Path('/tmp/test-repo')
self.branch_name = 'issue-123-test-branch' self.branch_name = 'issue-123-test-branch'
self.issue_title = 'Test Issue' self.issue_title = 'Test Issue'
@ -56,6 +57,7 @@ class TestSolveIssueInRepository:
self.issue_description, self.issue_description,
self.issue_number, self.issue_number,
self.gitea_client, self.gitea_client,
self.seen_issues_db,
) )
# Verify results # Verify results
@ -93,6 +95,7 @@ class TestSolveIssueInRepository:
self.issue_description, self.issue_description,
self.issue_number, self.issue_number,
self.gitea_client, self.gitea_client,
self.seen_issues_db,
) )
# Verify results # Verify results