fix(edge): Handle invalid input types when creating TargetHandle (#3368)

* fix(edge): Handle invalid input types when creating TargetHandle

* test(edge): add test for raising error on invalid target handle

* fix: mypy error union-attr

---------

Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
This commit is contained in:
Gabriel Luiz Freitas Almeida 2024-08-16 11:52:43 -03:00 • committed by GitHub
commit c4d2dc56c7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 52 additions and 1 deletions

View file

@ -0,0 +1,35 @@
import pytest
from langflow.components.inputs.ChatInput import ChatInput
from langflow.components.models.OpenAIModel import OpenAIModelComponent
from langflow.components.outputs.ChatOutput import ChatOutput
from langflow.components.prompts.Prompt import PromptComponent
from langflow.graph.graph.base import Graph
@pytest.fixture
def client():
pass
def test_edge_raises_error_on_invalid_target_handle(client):
template = """Answer the user as if you were a pirate.
User: {user_input}
Answer:
"""
chat_input = ChatInput()
prompt_component = PromptComponent()
prompt_component.set(
template=template,
user_input=chat_input.message_response,
)
openai_component = OpenAIModelComponent()
openai_component.set(input_values=prompt_component.build_prompt)
chat_output = ChatOutput()
chat_output.set(input_value=openai_component.text_response)
with pytest.raises(ValueError, match="Component OpenAI field 'input_values' might not be a valid input."):
Graph(start=chat_input, end=chat_output)