deer-flow/backend/tests/test_skill_mutation_async_reads.py
Ryker_Feng d1d0958bea
feat(skills): add guarded evolution host APIs (#5645)
* feat(skills): add guarded evolution host APIs

* docs(agents): avoid growing saturated guidance chains

* fix(skills): address mutation host review findings

* fix(skills): order name fence before projection lock

* fix(skills): preserve composite toggle lock order

* fix(skills): address catalog and pagination review feedback

* docs: keep subagent guidance within merged instruction budget

---------

Co-authored-by: Willem Jiang <willem.jiang@gmail.com>
2026-10-18 21:17:02 +08:00

21 lines
683 B
Python

import threading
from types import SimpleNamespace
from unittest.mock import AsyncMock
import pytest
@pytest.mark.asyncio
async def test_gateway_catalog_never_takes_managed_guard_on_event_loop(monkeypatch):
from app.gateway.routers import skills
loop_thread = threading.get_ident()
def load_skills(**kwargs):
assert threading.get_ident() != loop_thread
return []
monkeypatch.setattr(skills, "_get_user_skill_storage", lambda _: SimpleNamespace(load_skills=load_skills))
monkeypatch.setattr(skills, "_filter_visible_skills", AsyncMock(return_value=[]))
assert (await skills.list_skills(SimpleNamespace(), SimpleNamespace())).skills == []