57 lines
1.9 KiB
Python
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,
|
|
)
|