open-swe/tests/test_prompt_default_repo.py

49 lines
1.5 KiB
Python
Raw Normal View History

from __future__ import annotations
import asyncio
import pytest
from agent import server
def test_resolve_prompt_default_repo_uses_explicit_repo(
monkeypatch: pytest.MonkeyPatch,
) -> None:
async def fake_get_team_default_repo() -> dict[str, str] | None:
raise AssertionError("team default should not be loaded")
monkeypatch.setattr(server, "get_team_default_repo", fake_get_team_default_repo)
repo = asyncio.run(
server._resolve_prompt_default_repo({"repo": {"owner": "octo", "name": "repo"}})
)
assert repo == {"owner": "octo", "name": "repo"}
def test_resolve_prompt_default_repo_skips_team_default_for_repo_less_run(
monkeypatch: pytest.MonkeyPatch,
) -> None:
async def fake_get_team_default_repo() -> dict[str, str] | None:
raise AssertionError("team default should not be loaded")
monkeypatch.setattr(server, "get_team_default_repo", fake_get_team_default_repo)
repo = asyncio.run(server._resolve_prompt_default_repo({"repo_explicitly_none": True}))
assert repo is None
def test_resolve_prompt_default_repo_falls_back_to_team_default(
monkeypatch: pytest.MonkeyPatch,
) -> None:
async def fake_get_team_default_repo() -> dict[str, str] | None:
return {"owner": "team", "name": "repo"}
monkeypatch.setattr(server, "get_team_default_repo", fake_get_team_default_repo)
repo = asyncio.run(server._resolve_prompt_default_repo({}))
assert repo == {"owner": "team", "name": "repo"}