action handling: smarter testing with handler generator
This commit is contained in:
parent
2908b82f29
commit
e072e493a1
1 changed files with 10 additions and 7 deletions
|
@ -64,15 +64,18 @@ func PayloadTest(t *testing.T) {
|
|||
|
||||
func ActionTest(t *testing.T) {
|
||||
var result struct{ data string }
|
||||
var hdlr lib.ActionHandler = func(act lib.Action) bool {
|
||||
result.data = "done"
|
||||
var hdlrGen = func(data string) lib.ActionHandler {
|
||||
return func(act lib.Action) bool {
|
||||
result.data = data
|
||||
return true
|
||||
}
|
||||
}
|
||||
cfg := config.Base("testing", nil).
|
||||
AddAction("scopes|doit|task", action.Base(hdlr))
|
||||
AddAction("start", action.Base(hdlrGen("started"))).
|
||||
AddAction("scopes|doit|task", action.Base(hdlrGen("done")))
|
||||
ctx := context.AppContext(cfg)
|
||||
//msg := message.SimpleMessage("doit")
|
||||
msg := message.New("", "doit", "task", "4711")
|
||||
lib.HandleMsg(ctx, msg)
|
||||
lib.HandleMsg(ctx, message.SimpleMessage("start"))
|
||||
t.AssertEqual(result.data, "started")
|
||||
lib.HandleMsg(ctx, message.New("", "doit", "task", "4711"))
|
||||
t.AssertEqual(result.data, "done")
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue