feat(workflow): lambda 节点接入统一异步恢复入口
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package flow
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"ai-agent/workflow/model/entity"
|
||||
)
|
||||
|
||||
func TestPlanSegmentResumePositionBased(t *testing.T) {
|
||||
params := []map[string]any{{"a": 1}, {"a": 2}, {"a": 3}}
|
||||
saved := map[int]entity.SegmentRef{0: {Key: "video", URL: "url0"}, 2: {Key: "video", URL: "url2"}}
|
||||
idxList, needGen := planSegmentResume(params, saved)
|
||||
if len(idxList) != 3 || len(needGen) != 3 {
|
||||
t.Fatalf("长度应等于段数")
|
||||
}
|
||||
if needGen[0] || !needGen[1] || needGen[2] {
|
||||
t.Fatalf("位置0/2已保存应复用,位置1应生成: %v", needGen)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMergeSegmentOutputsOrder(t *testing.T) {
|
||||
idxList := []int{0, 1, 2}
|
||||
needGen := []bool{false, true, false}
|
||||
newRes := [][]map[string]any{nil, {{"video": "new1"}}, nil}
|
||||
saved := map[int]entity.SegmentRef{0: {Key: "video", URL: "url0"}, 2: {Key: "video", URL: "url2"}}
|
||||
merged := mergeSegmentOutputs(idxList, needGen, newRes, saved)
|
||||
if len(merged) != 3 {
|
||||
t.Fatalf("应合并 3 条: %v", merged)
|
||||
}
|
||||
if merged[0]["video"] != "url0" || merged[1]["video"] != "new1" || merged[2]["video"] != "url2" {
|
||||
t.Fatalf("合并顺序应为 url0,new1,url2: %v", merged)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user