open-swe/tests/agent/test_api_standards_skill.py

36 lines
1.1 KiB
Python
Raw Normal View History

from __future__ import annotations
from unittest.mock import patch
import pytest
from agent.utils import api_standards_skill
@pytest.mark.asyncio
async def test_fetch_returns_skill_content() -> None:
with patch.object(
api_standards_skill,
"_pull_api_standards_skill_sync",
return_value="Use /v1/ prefixes.",
):
content = await api_standards_skill.fetch_api_standards_skill("api-standards")
assert content == "Use /v1/ prefixes."
@pytest.mark.asyncio
async def test_fetch_returns_none_on_error() -> None:
def _boom(_handle: str) -> str | None:
raise RuntimeError("no api key")
with patch.object(api_standards_skill, "_pull_api_standards_skill_sync", side_effect=_boom):
content = await api_standards_skill.fetch_api_standards_skill("api-standards")
assert content is None
@pytest.mark.asyncio
async def test_fetch_returns_none_when_no_handle_configured() -> None:
with patch.object(api_standards_skill, "API_STANDARDS_SKILL_HANDLE", ""):
content = await api_standards_skill.fetch_api_standards_skill("")
assert content is None