Go SDK: Keep nested Conf validation test compatible across Go versions (#75971)

This commit is contained in:
Vincent Hsiao authored and GitHub committed 2026-11-02 14:30:33 +08:00
1 parent 5b4f23b1c8
commit 9afb30c5a0
1 file changed
+14 -8
+14 -8
View File
@@ -102,9 +102,10 @@ func buildNestedConf(depth int) map[string]any {
func TestTriggerDagRunRejectsAnInvalidSpec(t *testing.T) { func TestTriggerDagRunRejectsAnInvalidSpec(t *testing.T) {
tests := []struct { tests := []struct {
name string name string
trigger TriggerDagRunTask trigger TriggerDagRunTask
want string want string
wantPanicContains string
}{ }{
{ {
name: "no DagID", name: "no DagID",
@@ -206,16 +207,21 @@ func TestTriggerDagRunRejectsAnInvalidSpec(t *testing.T) {
trigger: TriggerDagRun( trigger: TriggerDagRun(
TriggerDagRunSpec{DagID: "downstream_etl", Conf: buildNestedConf(10001)}, TriggerDagRunSpec{DagID: "downstream_etl", Conf: buildNestedConf(10001)},
), ),
want: "airflow.TriggerDagRunSpec.Conf: invalid character '{' exceeded max depth", wantPanicContains: "exceeded max depth",
}, },
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
dag := Dag("etl") dag := Dag("etl")
assert.PanicsWithValue(t, panicFunc := func() { dag.Task(tt.trigger, TaskSpec{TaskID: "trigger_downstream"}) }
`airflow.DagRef.Task: task "trigger_downstream" of Dag "etl": `+tt.want, if tt.wantPanicContains != "" {
func() { dag.Task(tt.trigger, TaskSpec{TaskID: "trigger_downstream"}) }, assert.Contains(t, panicMessage(t, panicFunc), tt.wantPanicContains)
) } else {
assert.PanicsWithValue(t,
`airflow.DagRef.Task: task "trigger_downstream" of Dag "etl": `+tt.want,
panicFunc,
)
}
assert.NotPanics(t, assert.NotPanics(t,
func() { dag.Task(extract, TaskSpec{TaskID: "trigger_downstream"}) }, func() { dag.Task(extract, TaskSpec{TaskID: "trigger_downstream"}) },
"a rejected task does not take its task_id", "a rejected task does not take its task_id",