mirror of
https://github.com/langgenius/dify.git
synced 2026-05-29 21:27:54 +08:00
fix(workflow): remove legacy userinput files alias
This commit is contained in:
@ -7,9 +7,12 @@ from core.workflow.legacy_system_files import (
|
||||
)
|
||||
|
||||
_LEGACY_NODE_ID = "sys"
|
||||
_LEGACY_ALIAS_NODE_ID = "userinput"
|
||||
_LEGACY_VARIABLE_NAME = "files"
|
||||
_LEGACY_SELECTOR = [_LEGACY_NODE_ID, _LEGACY_VARIABLE_NAME]
|
||||
_LEGACY_TEMPLATE = "{{#" + ".".join((_LEGACY_NODE_ID, _LEGACY_VARIABLE_NAME)) + "#}}"
|
||||
_LEGACY_ALIAS_SELECTOR = [_LEGACY_ALIAS_NODE_ID, _LEGACY_VARIABLE_NAME]
|
||||
_LEGACY_ALIAS_TEMPLATE = "{{#" + ".".join((_LEGACY_ALIAS_NODE_ID, _LEGACY_VARIABLE_NAME)) + "#}}"
|
||||
|
||||
|
||||
def test_migrate_legacy_sys_files_graph_ignores_invalid_or_unrelated_graphs():
|
||||
@ -53,6 +56,28 @@ def test_migrate_legacy_sys_files_graph_creates_collision_free_file_input_from_f
|
||||
assert result.graph["nodes"][1]["data"]["answer"] == ["start", "sys_files_1"]
|
||||
|
||||
|
||||
def test_migrate_legacy_sys_files_graph_rewrites_userinput_files_alias_to_same_start_input():
|
||||
graph = {
|
||||
"nodes": [
|
||||
{"id": "start", "data": {"type": "start", "variables": []}},
|
||||
{
|
||||
"id": "answer",
|
||||
"data": {
|
||||
"type": "answer",
|
||||
"answer": _LEGACY_ALIAS_SELECTOR,
|
||||
"template": _LEGACY_ALIAS_TEMPLATE,
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
result = migrate_legacy_sys_files_graph_with_result(graph)
|
||||
|
||||
assert result.changed
|
||||
assert result.graph["nodes"][1]["data"]["answer"] == ["start", "sys_files"]
|
||||
assert result.graph["nodes"][1]["data"]["template"] == "{{#start.sys_files#}}"
|
||||
|
||||
|
||||
def test_resolve_legacy_sys_files_compat_variable_handles_missing_start_variable():
|
||||
assert resolve_legacy_sys_files_compat_variable({}) is None
|
||||
assert resolve_legacy_sys_files_compat_variable({"nodes": [1, {"data": {"value": _LEGACY_SELECTOR}}]}) is None
|
||||
|
||||
Reference in New Issue
Block a user