fix: Optimize Setting of Output Required Inputs (#4389)
Update component.py Fix required inputs not updated if its already defined
This commit is contained in:
parent
b6e8d41c77
commit
7cc497aa52
4 changed files with 40 additions and 20 deletions
|
|
@ -1,5 +1,5 @@
|
|||
import pytest
|
||||
from langflow.components.agents import CrewAIAgentComponent, ToolCallingAgentComponent
|
||||
from langflow.components.agents import AgentComponent, CrewAIAgentComponent, ToolCallingAgentComponent
|
||||
from langflow.components.helpers import SequentialTaskComponent
|
||||
from langflow.components.inputs import ChatInput
|
||||
from langflow.components.models import OpenAIModelComponent
|
||||
|
|
@ -32,33 +32,44 @@ def _assert_all_outputs_have_different_required_inputs(outputs: list[Output]):
|
|||
return True
|
||||
|
||||
|
||||
def test_set_required_inputs():
|
||||
def test_set_required_inputs_chat_input():
|
||||
chatinput = ChatInput()
|
||||
|
||||
assert all(_output_required_inputs_are_in_inputs(output, chatinput._inputs) for output in chatinput.outputs)
|
||||
assert _assert_all_outputs_have_different_required_inputs(chatinput.outputs)
|
||||
|
||||
|
||||
def test_set_required_inputs_various_components():
|
||||
chatinput = ChatInput()
|
||||
def test_set_required_inputs_chat_output():
|
||||
chatoutput = ChatOutput()
|
||||
task = SequentialTaskComponent()
|
||||
tool_calling_agent = ToolCallingAgentComponent()
|
||||
openai_component = OpenAIModelComponent()
|
||||
|
||||
assert all(_output_required_inputs_are_in_inputs(output, chatinput._inputs) for output in chatinput.outputs)
|
||||
assert all(_output_required_inputs_are_in_inputs(output, chatoutput._inputs) for output in chatoutput.outputs)
|
||||
assert all(_output_required_inputs_are_in_inputs(output, task._inputs) for output in task.outputs)
|
||||
assert all(
|
||||
_output_required_inputs_are_in_inputs(output, tool_calling_agent._inputs)
|
||||
for output in tool_calling_agent.outputs
|
||||
)
|
||||
assert _assert_all_outputs_have_different_required_inputs(chatoutput.outputs)
|
||||
|
||||
|
||||
def test_set_required_inputs_openai_component():
|
||||
openai_component = OpenAIModelComponent()
|
||||
assert all(
|
||||
_output_required_inputs_are_in_inputs(output, openai_component._inputs) for output in openai_component.outputs
|
||||
)
|
||||
|
||||
assert _assert_all_outputs_have_different_required_inputs(chatinput.outputs)
|
||||
assert _assert_all_outputs_have_different_required_inputs(chatoutput.outputs)
|
||||
assert _assert_all_outputs_have_different_required_inputs(task.outputs)
|
||||
assert _assert_all_outputs_have_different_required_inputs(tool_calling_agent.outputs)
|
||||
assert _assert_all_outputs_have_different_required_inputs(openai_component.outputs)
|
||||
|
||||
|
||||
def test_set_required_inputs_tool_calling_agent_component():
|
||||
tool_calling_agent_component = ToolCallingAgentComponent()
|
||||
assert all(
|
||||
_output_required_inputs_are_in_inputs(output, tool_calling_agent_component._inputs)
|
||||
for output in tool_calling_agent_component.outputs
|
||||
)
|
||||
assert _assert_all_outputs_have_different_required_inputs(tool_calling_agent_component.outputs)
|
||||
|
||||
|
||||
def test_set_required_inputs_agent_component():
|
||||
agent_component = AgentComponent()
|
||||
assert all(
|
||||
_output_required_inputs_are_in_inputs(output, agent_component._inputs) for output in agent_component.outputs
|
||||
)
|
||||
assert _assert_all_outputs_have_different_required_inputs(agent_component.outputs)
|
||||
|
||||
|
||||
def test_set_required_inputs_sequential_task_component():
|
||||
task = SequentialTaskComponent()
|
||||
assert all(_output_required_inputs_are_in_inputs(output, task._inputs) for output in task.outputs)
|
||||
assert _assert_all_outputs_have_different_required_inputs(task.outputs)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue