arcade-mcp/libs/tests/cli/toolkit_docs/test_docs_builder.py

57 lines
1.9 KiB
Python

import json
from arcade_cli.toolkit_docs.docs_builder import build_javascript_example, build_python_example
from arcade_cli.toolkit_docs.templates import TOOL_CALL_EXAMPLE_JS, TOOL_CALL_EXAMPLE_PY
def test_build_javascript_example():
tool_fully_qualified_name = "Toolkit.ToolName"
input_map = {
"str_arg": "str_value",
"fake_bool_value": "true",
"fake_bool_phrase": "this is not a true boolean",
"int_arg": 123,
"bool_arg": True,
"list_arg": ["item1", "item2"],
"dict_arg": {"key1": "value1", "key2": "value2"},
"list_of_bool": [True, False],
}
response = build_javascript_example(tool_fully_qualified_name, input_map, TOOL_CALL_EXAMPLE_JS)
assert response == TOOL_CALL_EXAMPLE_JS.format(
tool_fully_qualified_name=tool_fully_qualified_name,
input_map=json.dumps(input_map, indent=2, ensure_ascii=False),
)
def test_build_python_example():
tool_fully_qualified_name = "Toolkit.ToolName"
input_map = {
"str_arg": "str_value",
"fake_bool_value": "true",
"fake_bool_phrase": "this is not a true boolean",
"int_arg": 123,
"bool_arg": True,
"list_arg": ["item1", "item2"],
"dict_arg": {"key1": "value1", "key2": "value2"},
"list_of_bool": [True, False],
}
input_map_str = """{
'str_arg': 'str_value',
'fake_bool_value': 'true',
'fake_bool_phrase': 'this is not a true boolean',
'int_arg': 123,
'bool_arg': True,
'list_arg': ['item1', 'item2'],
'dict_arg': {'key1': 'value1', 'key2': 'value2'},
'list_of_bool': [True, False]
}"""
response = build_python_example(tool_fully_qualified_name, input_map, TOOL_CALL_EXAMPLE_PY)
assert response == TOOL_CALL_EXAMPLE_PY.format(
tool_fully_qualified_name=tool_fully_qualified_name,
input_map=input_map_str,
)