Compare commits
2 Commits
fix/taskmd
...
fix/gitea-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ca63bc26bb | ||
| dce9ac806b |
@@ -22,6 +22,7 @@ class Settings(BaseSettings):
|
|||||||
|
|
||||||
# Gitea
|
# Gitea
|
||||||
gitea_url: str = "http://localhost:3000"
|
gitea_url: str = "http://localhost:3000"
|
||||||
|
gitea_public_url: str = "" # external URL for clickable links in comments; falls back to gitea_url
|
||||||
gitea_token: str = ""
|
gitea_token: str = ""
|
||||||
gitea_webhook_secret: str = ""
|
gitea_webhook_secret: str = ""
|
||||||
gitea_owner: str = "admin"
|
gitea_owner: str = "admin"
|
||||||
|
|||||||
@@ -296,7 +296,7 @@ def _build_analyst_ready_comment(repo: str, work_item_id: str, branch: str) -> s
|
|||||||
wt_dir = None
|
wt_dir = None
|
||||||
|
|
||||||
owner = getattr(settings, "gitea_owner", "admin")
|
owner = getattr(settings, "gitea_owner", "admin")
|
||||||
base = settings.gitea_url.rstrip("/")
|
base = (getattr(settings, "gitea_public_url", "") or settings.gitea_url).rstrip("/")
|
||||||
links = []
|
links = []
|
||||||
for label, fname in candidates:
|
for label, fname in candidates:
|
||||||
if wt_dir and not os.path.isfile(os.path.join(wt_dir, fname)):
|
if wt_dir and not os.path.isfile(os.path.join(wt_dir, fname)):
|
||||||
|
|||||||
@@ -25,7 +25,9 @@ def test_analyst_comment_asks_approved_with_links(monkeypatch, tmp_path):
|
|||||||
# 04b-ui-test-cases.md intentionally absent -> must NOT be linked
|
# 04b-ui-test-cases.md intentionally absent -> must NOT be linked
|
||||||
|
|
||||||
monkeypatch.setattr(SE, "get_worktree_path", lambda repo, branch: str(wt))
|
monkeypatch.setattr(SE, "get_worktree_path", lambda repo, branch: str(wt))
|
||||||
monkeypatch.setattr(SE.settings, "gitea_url", "https://git.mva154.duckdns.org")
|
# public URL set -> links must be built from it (not gitea_url)
|
||||||
|
monkeypatch.setattr(SE.settings, "gitea_url", "http://localhost:3000")
|
||||||
|
monkeypatch.setattr(SE.settings, "gitea_public_url", "https://git.mva154.duckdns.org")
|
||||||
monkeypatch.setattr(SE.settings, "gitea_owner", "admin")
|
monkeypatch.setattr(SE.settings, "gitea_owner", "admin")
|
||||||
|
|
||||||
html = SE._build_analyst_ready_comment(
|
html = SE._build_analyst_ready_comment(
|
||||||
@@ -45,3 +47,28 @@ def test_analyst_comment_asks_approved_with_links(monkeypatch, tmp_path):
|
|||||||
assert base + "04-test-plan.yaml" in html
|
assert base + "04-test-plan.yaml" in html
|
||||||
# the missing file is NOT invented
|
# the missing file is NOT invented
|
||||||
assert "04b-ui-test-cases.md" not in html
|
assert "04b-ui-test-cases.md" not in html
|
||||||
|
# internal git url must NOT appear in clickable links
|
||||||
|
assert "localhost:3000" not in html
|
||||||
|
|
||||||
|
|
||||||
|
def test_analyst_comment_falls_back_to_gitea_url(monkeypatch, tmp_path):
|
||||||
|
"""When gitea_public_url is empty, links fall back to gitea_url."""
|
||||||
|
from src import stage_engine as SE
|
||||||
|
|
||||||
|
wt = tmp_path / "wt"
|
||||||
|
docs = wt / "docs" / "work-items" / "ET-011"
|
||||||
|
docs.mkdir(parents=True)
|
||||||
|
(docs / "01-brd.md").write_text("x")
|
||||||
|
|
||||||
|
monkeypatch.setattr(SE, "get_worktree_path", lambda repo, branch: str(wt))
|
||||||
|
monkeypatch.setattr(SE.settings, "gitea_url", "http://localhost:3000")
|
||||||
|
monkeypatch.setattr(SE.settings, "gitea_public_url", "")
|
||||||
|
monkeypatch.setattr(SE.settings, "gitea_owner", "admin")
|
||||||
|
|
||||||
|
html = SE._build_analyst_ready_comment(
|
||||||
|
"enduro-trails", "ET-011", "feature/ET-011-gpx-upload-feature"
|
||||||
|
)
|
||||||
|
|
||||||
|
base = ("http://localhost:3000/admin/enduro-trails/src/branch/"
|
||||||
|
"feature/ET-011-gpx-upload-feature/docs/work-items/ET-011/")
|
||||||
|
assert base + "01-brd.md" in html
|
||||||
|
|||||||
Reference in New Issue
Block a user