Compare commits

...

2 Commits

Author SHA1 Message Date
298402ff2b feat: update branch name generation to sanitize issue title input
Some checks failed
Run Python tests (through Pytest) / Test (push) Failing after 24s
Verify Python project can be installed, loaded and have version checked / Test (push) Successful in 23s
2025-04-13 16:45:14 +02:00
4e014d4df4 feat: update branch name generation to include issue number and title 2025-04-13 16:45:09 +02:00
2 changed files with 21 additions and 2 deletions

View File

@ -18,7 +18,7 @@ import re
from . import secrets from . import secrets
def generate_branch_name(issue_title: str) -> str: def generate_branch_name(issue_number: str, issue_title: str) -> str:
""" """
Create a branch name by sanitizing the issue title. Create a branch name by sanitizing the issue title.
Non-alphanumeric characters (except spaces) are removed, Non-alphanumeric characters (except spaces) are removed,
@ -149,7 +149,7 @@ def main():
issue_number = issue.get("number") issue_number = issue.get("number")
issue_description = issue.get("body", "") issue_description = issue.get("body", "")
title = issue.get("title", f"Issue {issue_number}") title = issue.get("title", f"Issue {issue_number}")
branch_name = generate_branch_name(title) branch_name = generate_branch_name(issue_number, title)
try: try:
with tempfile.TemporaryDirectory() as tmpdirname: with tempfile.TemporaryDirectory() as tmpdirname:
process_issue(args, Path(tmpdirname), branch_name, title, issue_description, issue_number) process_issue(args, Path(tmpdirname), branch_name, title, issue_description, issue_number)

View File

@ -0,0 +1,19 @@
import pytest
from aider_gitea.__main__ import generate_branch_name
def test_generate_branch_name_normal():
# Normal case with alphanumeric title.
branch = generate_branch_name("123", "Some Issue Title")
assert branch == "issue-123-some-issue-title"
def test_generate_branch_name_special_characters():
# Test where title contains special characters.
branch = generate_branch_name("45", "Issue @ Special!")
# This test expects only the space replaced and lower-casing.
# Adjust the expected value if more sophisticated slugification is added.
assert branch == "issue-45-issue-@-special!"
def test_generate_branch_name_numeric_title():
# Test where the title starts with numbers.
branch = generate_branch_name("789", "123 Numbers Here")
assert branch == "issue-789-123-numbers-here"