Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
23 lines
869 B
Python
23 lines
869 B
Python
from tool_manager import ToolLibrary
|
|
import tempfile
|
|
from pathlib import Path
|
|
|
|
|
|
def test_search_null_name_or_description():
|
|
with tempfile.TemporaryDirectory() as tmpdir:
|
|
lib = ToolLibrary(library_dir=Path(tmpdir))
|
|
# Create a tool file manually with null description
|
|
p = Path(tmpdir) / "null_desc.json"
|
|
p.write_text('{"name": "null_desc", "description": null, "parameters": {}, "code": "def run(): pass"}')
|
|
|
|
res = lib.search_tools("null")
|
|
assert res["success"] is True
|
|
assert res["count"] == 1
|
|
assert res["tools"][0]["name"] == "null_desc"
|
|
def test_get_tool_non_dict_json():
|
|
with tempfile.TemporaryDirectory() as tmpdir:
|
|
lib = ToolLibrary(library_dir=Path(tmpdir))
|
|
p = Path(tmpdir) / "bad_list.json"
|
|
p.write_text('[1, 2, 3]')
|
|
assert lib.get_tool("bad_list") is None
|