ci: add tests for text input/output components (#3649)
* ci: add tests for text input/output components * ci: add tests for text input/output components * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
3eaad7bc3a
commit
9368aef91e
3 changed files with 50 additions and 2 deletions
|
|
@ -0,0 +1,21 @@
|
||||||
|
from langflow.schema.message import Message
|
||||||
|
from tests.integration.utils import run_single_component
|
||||||
|
|
||||||
|
from langflow.components.inputs import TextInputComponent
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.asyncio
|
||||||
|
async def test_text_input():
|
||||||
|
outputs = await run_single_component(TextInputComponent, run_input="sample text", input_type="text")
|
||||||
|
print(outputs)
|
||||||
|
assert isinstance(outputs["text"], Message)
|
||||||
|
assert outputs["text"].text == "sample text"
|
||||||
|
assert outputs["text"].sender is None
|
||||||
|
assert outputs["text"].sender_name is None
|
||||||
|
|
||||||
|
outputs = await run_single_component(TextInputComponent, run_input="", input_type="text")
|
||||||
|
assert isinstance(outputs["text"], Message)
|
||||||
|
assert outputs["text"].text == ""
|
||||||
|
assert outputs["text"].sender is None
|
||||||
|
assert outputs["text"].sender_name is None
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
from langflow.components.outputs import TextOutputComponent
|
||||||
|
from langflow.schema.message import Message
|
||||||
|
from tests.integration.utils import run_single_component
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.asyncio
|
||||||
|
async def test():
|
||||||
|
outputs = await run_single_component(TextOutputComponent, inputs={"input_value": "hello"})
|
||||||
|
assert isinstance(outputs["text"], Message)
|
||||||
|
assert outputs["text"].text == "hello"
|
||||||
|
assert outputs["text"].sender is None
|
||||||
|
assert outputs["text"].sender_name is None
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.asyncio
|
||||||
|
async def test_message():
|
||||||
|
outputs = await run_single_component(TextOutputComponent, inputs={"input_value": Message(text="hello")})
|
||||||
|
assert isinstance(outputs["text"], Message)
|
||||||
|
assert outputs["text"].text == "hello"
|
||||||
|
assert outputs["text"].sender is None
|
||||||
|
assert outputs["text"].sender_name is None
|
||||||
|
|
@ -136,7 +136,11 @@ class ComponentInputHandle:
|
||||||
|
|
||||||
|
|
||||||
async def run_single_component(
|
async def run_single_component(
|
||||||
clazz: type, inputs: dict = None, run_input: Optional[Any] = None, session_id: Optional[str] = None
|
clazz: type,
|
||||||
|
inputs: dict = None,
|
||||||
|
run_input: Optional[Any] = None,
|
||||||
|
session_id: Optional[str] = None,
|
||||||
|
input_type: Optional[str] = "chat",
|
||||||
) -> dict[str, Any]:
|
) -> dict[str, Any]:
|
||||||
user_id = str(uuid.uuid4())
|
user_id = str(uuid.uuid4())
|
||||||
flow_id = str(uuid.uuid4())
|
flow_id = str(uuid.uuid4())
|
||||||
|
|
@ -162,7 +166,7 @@ async def run_single_component(
|
||||||
component_id = _add_component(clazz, inputs)
|
component_id = _add_component(clazz, inputs)
|
||||||
graph.prepare()
|
graph.prepare()
|
||||||
if run_input:
|
if run_input:
|
||||||
graph_run_inputs = [InputValueRequest(input_value=run_input, type="chat")]
|
graph_run_inputs = [InputValueRequest(input_value=run_input, type=input_type)]
|
||||||
else:
|
else:
|
||||||
graph_run_inputs = []
|
graph_run_inputs = []
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue