refactor: update code references to use _code instead of code (#3113)
This commit is contained in:
parent
f08467d84b
commit
e0afe90410
7 changed files with 48 additions and 49 deletions
|
|
@ -552,7 +552,7 @@ async def custom_component(
|
||||||
raw_code: CustomComponentRequest,
|
raw_code: CustomComponentRequest,
|
||||||
user: User = Depends(get_current_active_user),
|
user: User = Depends(get_current_active_user),
|
||||||
):
|
):
|
||||||
component = Component(code=raw_code.code)
|
component = Component(_code=raw_code.code)
|
||||||
|
|
||||||
built_frontend_node, component_instance = build_custom_component_template(component, user_id=user.id)
|
built_frontend_node, component_instance = build_custom_component_template(component, user_id=user.id)
|
||||||
if raw_code.frontend_node is not None:
|
if raw_code.frontend_node is not None:
|
||||||
|
|
@ -582,7 +582,7 @@ async def custom_component_update(
|
||||||
|
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
component = Component(code=code_request.code)
|
component = Component(_code=code_request.code)
|
||||||
|
|
||||||
component_node, cc_instance = build_custom_component_template(
|
component_node, cc_instance = build_custom_component_template(
|
||||||
component,
|
component,
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,8 @@ class BaseComponent:
|
||||||
ERROR_CODE_NULL: ClassVar[str] = "Python code must be provided."
|
ERROR_CODE_NULL: ClassVar[str] = "Python code must be provided."
|
||||||
ERROR_FUNCTION_ENTRYPOINT_NAME_NULL: ClassVar[str] = "The name of the entrypoint function must be provided."
|
ERROR_FUNCTION_ENTRYPOINT_NAME_NULL: ClassVar[str] = "The name of the entrypoint function must be provided."
|
||||||
|
|
||||||
code: Optional[str] = None
|
_code: Optional[str] = None
|
||||||
|
"""The code of the component. Defaults to None."""
|
||||||
_function_entrypoint_name: str = "build"
|
_function_entrypoint_name: str = "build"
|
||||||
field_config: dict = {}
|
field_config: dict = {}
|
||||||
_user_id: Optional[str]
|
_user_id: Optional[str]
|
||||||
|
|
@ -47,7 +48,7 @@ class BaseComponent:
|
||||||
return parser.parse_code()
|
return parser.parse_code()
|
||||||
|
|
||||||
def get_function(self):
|
def get_function(self):
|
||||||
if not self.code:
|
if not self._code:
|
||||||
raise ComponentCodeNullError(
|
raise ComponentCodeNullError(
|
||||||
status_code=400,
|
status_code=400,
|
||||||
detail={"error": self.ERROR_CODE_NULL, "traceback": ""},
|
detail={"error": self.ERROR_CODE_NULL, "traceback": ""},
|
||||||
|
|
@ -62,7 +63,7 @@ class BaseComponent:
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
return validate.create_function(self.code, self._function_entrypoint_name)
|
return validate.create_function(self._code, self._function_entrypoint_name)
|
||||||
|
|
||||||
def build_template_config(self) -> dict:
|
def build_template_config(self) -> dict:
|
||||||
"""
|
"""
|
||||||
|
|
@ -71,10 +72,10 @@ class BaseComponent:
|
||||||
Returns:
|
Returns:
|
||||||
A dictionary representing the template configuration.
|
A dictionary representing the template configuration.
|
||||||
"""
|
"""
|
||||||
if not self.code:
|
if not self._code:
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
cc_class = eval_custom_component_code(self.code)
|
cc_class = eval_custom_component_code(self._code)
|
||||||
component_instance = cc_class()
|
component_instance = cc_class()
|
||||||
template_config = {}
|
template_config = {}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -64,8 +64,6 @@ class CustomComponent(BaseComponent):
|
||||||
is_output: Optional[bool] = None
|
is_output: Optional[bool] = None
|
||||||
"""The output state of the component. Defaults to None.
|
"""The output state of the component. Defaults to None.
|
||||||
If True, the component must have a field named 'input_value'."""
|
If True, the component must have a field named 'input_value'."""
|
||||||
code: Optional[str] = None
|
|
||||||
"""The code of the component. Defaults to None."""
|
|
||||||
field_config: dict = {}
|
field_config: dict = {}
|
||||||
"""The field configuration of the component. Defaults to an empty dictionary."""
|
"""The field configuration of the component. Defaults to an empty dictionary."""
|
||||||
field_order: Optional[List[str]] = None
|
field_order: Optional[List[str]] = None
|
||||||
|
|
@ -226,7 +224,7 @@ class CustomComponent(BaseComponent):
|
||||||
Returns:
|
Returns:
|
||||||
dict: The code tree of the custom component.
|
dict: The code tree of the custom component.
|
||||||
"""
|
"""
|
||||||
return self.get_code_tree(self.code or "")
|
return self.get_code_tree(self._code or "")
|
||||||
|
|
||||||
def to_data(self, data: Any, keys: Optional[List[str]] = None, silent_errors: bool = False) -> List[Data]:
|
def to_data(self, data: Any, keys: Optional[List[str]] = None, silent_errors: bool = False) -> List[Data]:
|
||||||
"""
|
"""
|
||||||
|
|
@ -326,7 +324,7 @@ class CustomComponent(BaseComponent):
|
||||||
Returns:
|
Returns:
|
||||||
dict: The build method for the custom component.
|
dict: The build method for the custom component.
|
||||||
"""
|
"""
|
||||||
if not self.code:
|
if not self._code:
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
component_classes = [
|
component_classes = [
|
||||||
|
|
@ -379,7 +377,7 @@ class CustomComponent(BaseComponent):
|
||||||
Returns:
|
Returns:
|
||||||
str: The main class name of the custom component.
|
str: The main class name of the custom component.
|
||||||
"""
|
"""
|
||||||
if not self.code:
|
if not self._code:
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
base_name = self.code_class_base_inheritance
|
base_name = self.code_class_base_inheritance
|
||||||
|
|
@ -468,7 +466,7 @@ class CustomComponent(BaseComponent):
|
||||||
Returns:
|
Returns:
|
||||||
Callable: The function associated with the custom component.
|
Callable: The function associated with the custom component.
|
||||||
"""
|
"""
|
||||||
return validate.create_function(self.code, self.function_entrypoint_name)
|
return validate.create_function(self._code, self.function_entrypoint_name)
|
||||||
|
|
||||||
async def load_flow(self, flow_id: str, tweaks: Optional[dict] = None) -> "Graph":
|
async def load_flow(self, flow_id: str, tweaks: Optional[dict] = None) -> "Graph":
|
||||||
if not self._user_id:
|
if not self._user_id:
|
||||||
|
|
|
||||||
|
|
@ -373,7 +373,7 @@ class DirectoryReader:
|
||||||
"""
|
"""
|
||||||
Get the output types from the code.
|
Get the output types from the code.
|
||||||
"""
|
"""
|
||||||
custom_component = CustomComponent(code=code)
|
custom_component = CustomComponent(_code=code)
|
||||||
types_list = custom_component.get_function_entrypoint_return_type
|
types_list = custom_component.get_function_entrypoint_return_type
|
||||||
|
|
||||||
# Get the name of types classes
|
# Get the name of types classes
|
||||||
|
|
|
||||||
|
|
@ -266,10 +266,10 @@ def run_build_inputs(
|
||||||
|
|
||||||
def get_component_instance(custom_component: CustomComponent, user_id: Optional[Union[str, UUID]] = None):
|
def get_component_instance(custom_component: CustomComponent, user_id: Optional[Union[str, UUID]] = None):
|
||||||
try:
|
try:
|
||||||
if custom_component.code is None:
|
if custom_component._code is None:
|
||||||
raise ValueError("Code is None")
|
raise ValueError("Code is None")
|
||||||
elif isinstance(custom_component.code, str):
|
elif isinstance(custom_component._code, str):
|
||||||
custom_class = eval_custom_component_code(custom_component.code)
|
custom_class = eval_custom_component_code(custom_component._code)
|
||||||
else:
|
else:
|
||||||
raise ValueError("Invalid code type")
|
raise ValueError("Invalid code type")
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
|
|
@ -300,10 +300,10 @@ def run_build_config(
|
||||||
"""Build the field configuration for a custom component"""
|
"""Build the field configuration for a custom component"""
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if custom_component.code is None:
|
if custom_component._code is None:
|
||||||
raise ValueError("Code is None")
|
raise ValueError("Code is None")
|
||||||
elif isinstance(custom_component.code, str):
|
elif isinstance(custom_component._code, str):
|
||||||
custom_class = eval_custom_component_code(custom_component.code)
|
custom_class = eval_custom_component_code(custom_component._code)
|
||||||
else:
|
else:
|
||||||
raise ValueError("Invalid code type")
|
raise ValueError("Invalid code type")
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
|
|
@ -363,7 +363,7 @@ def build_custom_component_template_from_inputs(
|
||||||
# The List of Inputs fills the role of the build_config and the entrypoint_args
|
# The List of Inputs fills the role of the build_config and the entrypoint_args
|
||||||
field_config = custom_component.template_config
|
field_config = custom_component.template_config
|
||||||
frontend_node = ComponentFrontendNode.from_inputs(**field_config)
|
frontend_node = ComponentFrontendNode.from_inputs(**field_config)
|
||||||
frontend_node = add_code_field(frontend_node, custom_component.code, field_config.get("code", {}))
|
frontend_node = add_code_field(frontend_node, custom_component._code, field_config.get("code", {}))
|
||||||
# But we now need to calculate the return_type of the methods in the outputs
|
# But we now need to calculate the return_type of the methods in the outputs
|
||||||
for output in frontend_node.outputs:
|
for output in frontend_node.outputs:
|
||||||
if output.types:
|
if output.types:
|
||||||
|
|
@ -407,7 +407,7 @@ def build_custom_component_template(
|
||||||
|
|
||||||
add_extra_fields(frontend_node, field_config, entrypoint_args)
|
add_extra_fields(frontend_node, field_config, entrypoint_args)
|
||||||
|
|
||||||
frontend_node = add_code_field(frontend_node, custom_component.code, field_config.get("code", {}))
|
frontend_node = add_code_field(frontend_node, custom_component._code, field_config.get("code", {}))
|
||||||
|
|
||||||
add_base_classes(frontend_node, custom_component.get_function_entrypoint_return_type)
|
add_base_classes(frontend_node, custom_component.get_function_entrypoint_return_type)
|
||||||
add_output_types(frontend_node, custom_component.get_function_entrypoint_return_type)
|
add_output_types(frontend_node, custom_component.get_function_entrypoint_return_type)
|
||||||
|
|
@ -432,7 +432,7 @@ def create_component_template(component):
|
||||||
component_code = component["code"]
|
component_code = component["code"]
|
||||||
component_output_types = component["output_types"]
|
component_output_types = component["output_types"]
|
||||||
|
|
||||||
component_extractor = Component(code=component_code)
|
component_extractor = Component(_code=component_code)
|
||||||
|
|
||||||
component_template, component_instance = build_custom_component_template(component_extractor)
|
component_template, component_instance = build_custom_component_template(component_extractor)
|
||||||
if not component_template["output_types"] and component_output_types:
|
if not component_template["output_types"] and component_output_types:
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ from langflow.services.database.models.flow import Flow, FlowCreate
|
||||||
def code_component_with_multiple_outputs():
|
def code_component_with_multiple_outputs():
|
||||||
with open("src/backend/tests/data/component_multiple_outputs.py", "r") as f:
|
with open("src/backend/tests/data/component_multiple_outputs.py", "r") as f:
|
||||||
code = f.read()
|
code = f.read()
|
||||||
return Component(code=code)
|
return Component(_code=code)
|
||||||
|
|
||||||
|
|
||||||
code_default = """
|
code_default = """
|
||||||
|
|
@ -72,8 +72,8 @@ def test_component_init():
|
||||||
"""
|
"""
|
||||||
Test the initialization of the Component class.
|
Test the initialization of the Component class.
|
||||||
"""
|
"""
|
||||||
component = BaseComponent(code=code_default, function_entrypoint_name="build")
|
component = BaseComponent(_code=code_default, function_entrypoint_name="build")
|
||||||
assert component.code == code_default
|
assert component._code == code_default
|
||||||
assert component.function_entrypoint_name == "build"
|
assert component.function_entrypoint_name == "build"
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -81,8 +81,8 @@ def test_component_get_code_tree():
|
||||||
"""
|
"""
|
||||||
Test the get_code_tree method of the Component class.
|
Test the get_code_tree method of the Component class.
|
||||||
"""
|
"""
|
||||||
component = BaseComponent(code=code_default, function_entrypoint_name="build")
|
component = BaseComponent(_code=code_default, function_entrypoint_name="build")
|
||||||
tree = component.get_code_tree(component.code)
|
tree = component.get_code_tree(component._code)
|
||||||
assert "imports" in tree
|
assert "imports" in tree
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -91,7 +91,7 @@ def test_component_code_null_error():
|
||||||
Test the get_function method raises the
|
Test the get_function method raises the
|
||||||
ComponentCodeNullError when the code is empty.
|
ComponentCodeNullError when the code is empty.
|
||||||
"""
|
"""
|
||||||
component = BaseComponent(code="", function_entrypoint_name="")
|
component = BaseComponent(_code="", function_entrypoint_name="")
|
||||||
with pytest.raises(ComponentCodeNullError):
|
with pytest.raises(ComponentCodeNullError):
|
||||||
component.get_function()
|
component.get_function()
|
||||||
|
|
||||||
|
|
@ -102,8 +102,8 @@ def test_custom_component_init():
|
||||||
"""
|
"""
|
||||||
function_entrypoint_name = "build"
|
function_entrypoint_name = "build"
|
||||||
|
|
||||||
custom_component = CustomComponent(code=code_default, function_entrypoint_name=function_entrypoint_name)
|
custom_component = CustomComponent(_code=code_default, function_entrypoint_name=function_entrypoint_name)
|
||||||
assert custom_component.code == code_default
|
assert custom_component._code == code_default
|
||||||
assert custom_component.function_entrypoint_name == function_entrypoint_name
|
assert custom_component.function_entrypoint_name == function_entrypoint_name
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -111,7 +111,7 @@ def test_custom_component_build_template_config():
|
||||||
"""
|
"""
|
||||||
Test the build_template_config property of the CustomComponent class.
|
Test the build_template_config property of the CustomComponent class.
|
||||||
"""
|
"""
|
||||||
custom_component = CustomComponent(code=code_default, function_entrypoint_name="build")
|
custom_component = CustomComponent(_code=code_default, function_entrypoint_name="build")
|
||||||
config = custom_component.build_template_config()
|
config = custom_component.build_template_config()
|
||||||
assert isinstance(config, dict)
|
assert isinstance(config, dict)
|
||||||
|
|
||||||
|
|
@ -120,7 +120,7 @@ def test_custom_component_get_function():
|
||||||
"""
|
"""
|
||||||
Test the get_function property of the CustomComponent class.
|
Test the get_function property of the CustomComponent class.
|
||||||
"""
|
"""
|
||||||
custom_component = CustomComponent(code="def build(): pass", function_entrypoint_name="build")
|
custom_component = CustomComponent(_code="def build(): pass", function_entrypoint_name="build")
|
||||||
my_function = custom_component.get_function()
|
my_function = custom_component.get_function()
|
||||||
assert isinstance(my_function, types.FunctionType)
|
assert isinstance(my_function, types.FunctionType)
|
||||||
|
|
||||||
|
|
@ -195,7 +195,7 @@ def test_component_get_function_valid():
|
||||||
Test the get_function method of the Component
|
Test the get_function method of the Component
|
||||||
class with valid code and function_entrypoint_name.
|
class with valid code and function_entrypoint_name.
|
||||||
"""
|
"""
|
||||||
component = BaseComponent(code="def build(): pass", function_entrypoint_name="build")
|
component = BaseComponent(_code="def build(): pass", function_entrypoint_name="build")
|
||||||
my_function = component.get_function()
|
my_function = component.get_function()
|
||||||
assert callable(my_function)
|
assert callable(my_function)
|
||||||
|
|
||||||
|
|
@ -205,7 +205,7 @@ def test_custom_component_get_function_entrypoint_args():
|
||||||
Test the get_function_entrypoint_args
|
Test the get_function_entrypoint_args
|
||||||
property of the CustomComponent class.
|
property of the CustomComponent class.
|
||||||
"""
|
"""
|
||||||
custom_component = CustomComponent(code=code_default, function_entrypoint_name="build")
|
custom_component = CustomComponent(_code=code_default, function_entrypoint_name="build")
|
||||||
args = custom_component.get_function_entrypoint_args
|
args = custom_component.get_function_entrypoint_args
|
||||||
assert len(args) == 3
|
assert len(args) == 3
|
||||||
assert args[0]["name"] == "self"
|
assert args[0]["name"] == "self"
|
||||||
|
|
@ -219,7 +219,7 @@ def test_custom_component_get_function_entrypoint_return_type():
|
||||||
property of the CustomComponent class.
|
property of the CustomComponent class.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
custom_component = CustomComponent(code=code_default, function_entrypoint_name="build")
|
custom_component = CustomComponent(_code=code_default, function_entrypoint_name="build")
|
||||||
return_type = custom_component.get_function_entrypoint_return_type
|
return_type = custom_component.get_function_entrypoint_return_type
|
||||||
assert return_type == [Document]
|
assert return_type == [Document]
|
||||||
|
|
||||||
|
|
@ -228,7 +228,7 @@ def test_custom_component_get_main_class_name():
|
||||||
"""
|
"""
|
||||||
Test the get_main_class_name property of the CustomComponent class.
|
Test the get_main_class_name property of the CustomComponent class.
|
||||||
"""
|
"""
|
||||||
custom_component = CustomComponent(code=code_default, function_entrypoint_name="build")
|
custom_component = CustomComponent(_code=code_default, function_entrypoint_name="build")
|
||||||
class_name = custom_component.get_main_class_name
|
class_name = custom_component.get_main_class_name
|
||||||
assert class_name == "YourComponent"
|
assert class_name == "YourComponent"
|
||||||
|
|
||||||
|
|
@ -238,7 +238,7 @@ def test_custom_component_get_function_valid():
|
||||||
Test the get_function property of the CustomComponent
|
Test the get_function property of the CustomComponent
|
||||||
class with valid code and function_entrypoint_name.
|
class with valid code and function_entrypoint_name.
|
||||||
"""
|
"""
|
||||||
custom_component = CustomComponent(code="def build(): pass", function_entrypoint_name="build")
|
custom_component = CustomComponent(_code="def build(): pass", function_entrypoint_name="build")
|
||||||
my_function = custom_component.get_function
|
my_function = custom_component.get_function
|
||||||
assert callable(my_function)
|
assert callable(my_function)
|
||||||
|
|
||||||
|
|
@ -352,9 +352,9 @@ def test_component_get_code_tree_syntax_error():
|
||||||
Test the get_code_tree method of the Component class
|
Test the get_code_tree method of the Component class
|
||||||
raises the CodeSyntaxError when given incorrect syntax.
|
raises the CodeSyntaxError when given incorrect syntax.
|
||||||
"""
|
"""
|
||||||
component = BaseComponent(code="import os as", function_entrypoint_name="build")
|
component = BaseComponent(_code="import os as", function_entrypoint_name="build")
|
||||||
with pytest.raises(CodeSyntaxError):
|
with pytest.raises(CodeSyntaxError):
|
||||||
component.get_code_tree(component.code)
|
component.get_code_tree(component._code)
|
||||||
|
|
||||||
|
|
||||||
def test_custom_component_class_template_validation_no_code():
|
def test_custom_component_class_template_validation_no_code():
|
||||||
|
|
@ -362,7 +362,7 @@ def test_custom_component_class_template_validation_no_code():
|
||||||
Test the _class_template_validation method of the CustomComponent class
|
Test the _class_template_validation method of the CustomComponent class
|
||||||
raises the HTTPException when the code is None.
|
raises the HTTPException when the code is None.
|
||||||
"""
|
"""
|
||||||
custom_component = CustomComponent(code=None, function_entrypoint_name="build")
|
custom_component = CustomComponent(_code=None, function_entrypoint_name="build")
|
||||||
with pytest.raises(TypeError):
|
with pytest.raises(TypeError):
|
||||||
custom_component.get_function()
|
custom_component.get_function()
|
||||||
|
|
||||||
|
|
@ -372,9 +372,9 @@ def test_custom_component_get_code_tree_syntax_error():
|
||||||
Test the get_code_tree method of the CustomComponent class
|
Test the get_code_tree method of the CustomComponent class
|
||||||
raises the CodeSyntaxError when given incorrect syntax.
|
raises the CodeSyntaxError when given incorrect syntax.
|
||||||
"""
|
"""
|
||||||
custom_component = CustomComponent(code="import os as", function_entrypoint_name="build")
|
custom_component = CustomComponent(_code="import os as", function_entrypoint_name="build")
|
||||||
with pytest.raises(CodeSyntaxError):
|
with pytest.raises(CodeSyntaxError):
|
||||||
custom_component.get_code_tree(custom_component.code)
|
custom_component.get_code_tree(custom_component._code)
|
||||||
|
|
||||||
|
|
||||||
def test_custom_component_get_function_entrypoint_args_no_args():
|
def test_custom_component_get_function_entrypoint_args_no_args():
|
||||||
|
|
@ -387,7 +387,7 @@ class MyMainClass(CustomComponent):
|
||||||
def build():
|
def build():
|
||||||
pass"""
|
pass"""
|
||||||
|
|
||||||
custom_component = CustomComponent(code=my_code, function_entrypoint_name="build")
|
custom_component = CustomComponent(_code=my_code, function_entrypoint_name="build")
|
||||||
args = custom_component.get_function_entrypoint_args
|
args = custom_component.get_function_entrypoint_args
|
||||||
assert len(args) == 0
|
assert len(args) == 0
|
||||||
|
|
||||||
|
|
@ -402,7 +402,7 @@ class MyClass(CustomComponent):
|
||||||
def build():
|
def build():
|
||||||
pass"""
|
pass"""
|
||||||
|
|
||||||
custom_component = CustomComponent(code=my_code, function_entrypoint_name="build")
|
custom_component = CustomComponent(_code=my_code, function_entrypoint_name="build")
|
||||||
return_type = custom_component.get_function_entrypoint_return_type
|
return_type = custom_component.get_function_entrypoint_return_type
|
||||||
assert return_type == []
|
assert return_type == []
|
||||||
|
|
||||||
|
|
@ -416,7 +416,7 @@ def test_custom_component_get_main_class_name_no_main_class():
|
||||||
def build():
|
def build():
|
||||||
pass"""
|
pass"""
|
||||||
|
|
||||||
custom_component = CustomComponent(code=my_code, function_entrypoint_name="build")
|
custom_component = CustomComponent(_code=my_code, function_entrypoint_name="build")
|
||||||
class_name = custom_component.get_main_class_name
|
class_name = custom_component.get_main_class_name
|
||||||
assert class_name == ""
|
assert class_name == ""
|
||||||
|
|
||||||
|
|
@ -426,13 +426,13 @@ def test_custom_component_build_not_implemented():
|
||||||
Test the build method of the CustomComponent
|
Test the build method of the CustomComponent
|
||||||
class raises the NotImplementedError.
|
class raises the NotImplementedError.
|
||||||
"""
|
"""
|
||||||
custom_component = CustomComponent(code="def build(): pass", function_entrypoint_name="build")
|
custom_component = CustomComponent(_code="def build(): pass", function_entrypoint_name="build")
|
||||||
with pytest.raises(NotImplementedError):
|
with pytest.raises(NotImplementedError):
|
||||||
custom_component.build()
|
custom_component.build()
|
||||||
|
|
||||||
|
|
||||||
def test_build_config_no_code():
|
def test_build_config_no_code():
|
||||||
component = CustomComponent(code=None)
|
component = CustomComponent(_code=None)
|
||||||
|
|
||||||
assert component.get_function_entrypoint_args == []
|
assert component.get_function_entrypoint_args == []
|
||||||
assert component.get_function_entrypoint_return_type == []
|
assert component.get_function_entrypoint_return_type == []
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ from langflow.schema import Data
|
||||||
def test_uuid_generator_component():
|
def test_uuid_generator_component():
|
||||||
# Arrange
|
# Arrange
|
||||||
uuid_generator_component = helpers.IDGeneratorComponent()
|
uuid_generator_component = helpers.IDGeneratorComponent()
|
||||||
uuid_generator_component.code = open(helpers.IDGenerator.__file__, "r").read()
|
uuid_generator_component._code = open(helpers.IDGenerator.__file__, "r").read()
|
||||||
|
|
||||||
frontend_node, _ = build_custom_component_template(uuid_generator_component)
|
frontend_node, _ = build_custom_component_template(uuid_generator_component)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue