fix message invalid (#2968)

Signed-off-by: Jian.Li <lj176172@alibaba-inc.com>
This commit is contained in:
Jian.Li
2021-12-22 12:47:27 +08:00
committed by GitHub
parent 8750fc8fab
commit 6e5e26c19d
3 changed files with 25 additions and 5 deletions
+3 -2
View File
@@ -7,11 +7,12 @@ import (
#ConditionalWait: {
#do: "wait"
continue: bool
message?: string
}
#Break: {
#do: "break"
message: string
#do: "break"
message?: string
}
#Apply: kube.#Apply
@@ -146,14 +146,18 @@ func (h *provider) Wait(ctx wfContext.Context, v *value.Value, act types.Action)
}
}
}
act.Wait("")
msg, _ := v.GetString("message")
act.Wait(msg)
return nil
}
// Break let workflow terminate.
func (h *provider) Break(ctx wfContext.Context, v *value.Value, act types.Action) error {
act.Terminate("")
var msg string
if v != nil {
msg, _ = v.GetString("message")
}
act.Terminate(msg)
return nil
}
@@ -187,24 +187,29 @@ func TestProvider_Wait(t *testing.T) {
act := &mockAction{}
v, err := value.NewValue(`
continue: 100!=100
message: "test log"
`, nil, "")
assert.NilError(t, err)
err = p.Wait(wfCtx, v, act)
assert.NilError(t, err)
assert.Equal(t, act.wait, true)
assert.Equal(t, act.msg, "test log")
act = &mockAction{}
v, err = value.NewValue(`
continue: 100==100
message: "not invalid"
`, nil, "")
assert.NilError(t, err)
err = p.Wait(wfCtx, v, act)
assert.NilError(t, err)
assert.Equal(t, act.wait, false)
assert.Equal(t, act.msg, "")
act = &mockAction{}
v, err = value.NewValue(`
continue: bool
message: string
`, nil, "")
assert.NilError(t, err)
err = p.Wait(wfCtx, v, act)
@@ -226,6 +231,16 @@ func TestProvider_Break(t *testing.T) {
err := p.Break(wfCtx, nil, act)
assert.NilError(t, err)
assert.Equal(t, act.terminate, true)
act = &mockAction{}
v, err := value.NewValue(`
message: "terminate"
`, nil, "")
assert.NilError(t, err)
err = p.Break(wfCtx, v, act)
assert.NilError(t, err)
assert.Equal(t, act.terminate, true)
assert.Equal(t, act.msg, "terminate")
}
type mockAction struct {