agent-flow / src /backend /tests /unit /components /tools /test_python_repl_tool.py
truthtaicom's picture
Upload folder using huggingface_hub
4b0794d verified
from langflow.components.tools import PythonREPLToolComponent
from langflow.custom import Component
from langflow.custom.utils import build_custom_component_template
def test_python_repl_tool_template():
python_repl_tool = PythonREPLToolComponent()
component = Component(_code=python_repl_tool._code)
frontend_node, _ = build_custom_component_template(component)
assert "outputs" in frontend_node
output_names = [output["name"] for output in frontend_node["outputs"]]
assert "api_run_model" in output_names
assert "api_build_tool" in output_names
assert all(output["types"] != [] for output in frontend_node["outputs"])
# Additional assertions specific to PythonREPLToolComponent
input_names = [input_["name"] for input_ in frontend_node["template"].values() if isinstance(input_, dict)]
# assert "input_value" in input_names
assert "name" in input_names
assert "description" in input_names
assert "global_imports" in input_names
global_imports_input = next(
input_
for input_ in frontend_node["template"].values()
if isinstance(input_, dict) and input_["name"] == "global_imports"
)
assert global_imports_input["type"] == "str"
# assert global_imports_input["combobox"] is True
assert global_imports_input["value"] == "math"