|
|
import pytest |
|
|
from langflow.custom import Component |
|
|
from langflow.inputs.inputs import MessageTextInput, StrInput |
|
|
|
|
|
|
|
|
@pytest.fixture |
|
|
def setup_component(): |
|
|
|
|
|
component = Component() |
|
|
|
|
|
component.inputs = [ |
|
|
MessageTextInput(name="list_message_input", is_list=True), |
|
|
StrInput(name="mixed_input"), |
|
|
] |
|
|
return component |
|
|
|
|
|
|
|
|
def test_set_with_mixed_list_input(setup_component): |
|
|
component = setup_component |
|
|
|
|
|
mock_component = Component() |
|
|
message_input_1 = "message data1" |
|
|
message_input_2 = "message data2" |
|
|
data = {"mixed_input": [message_input_1, message_input_2], "list_message_input": [message_input_1, mock_component]} |
|
|
component.set(**data) |
|
|
|
|
|
|
|
|
assert hasattr(component, "mixed_input") |
|
|
assert len(component.mixed_input) == 2 |
|
|
assert component.mixed_input[0] == message_input_1 |
|
|
assert component.mixed_input[1] == message_input_2 |
|
|
assert component.list_message_input[0] == message_input_1 |
|
|
assert component.list_message_input[1] == mock_component |
|
|
|
|
|
|
|
|
def test_set_with_message_text_input_list(setup_component): |
|
|
component = setup_component |
|
|
|
|
|
message_input_1 = "message data1" |
|
|
message_input_2 = "message data2" |
|
|
data = {"mixed_input": [message_input_1, message_input_2], "list_message_input": [message_input_1, message_input_2]} |
|
|
|
|
|
component.set(**data) |
|
|
|
|
|
|
|
|
assert hasattr(component, "mixed_input") |
|
|
assert len(component.list_message_input) == 2 |
|
|
assert component.list_message_input[0] == message_input_1 |
|
|
assert component.list_message_input[1] == message_input_2 |
|
|
|