45 lines
915 B
Go
45 lines
915 B
Go
|
|
package model
|
||
|
|
|
||
|
|
import "testing"
|
||
|
|
|
||
|
|
type testHookAction struct {
|
||
|
|
Allow bool
|
||
|
|
Round int
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestBossConfigRunHookActionScript(t *testing.T) {
|
||
|
|
boss := &BossConfig{
|
||
|
|
Script: `
|
||
|
|
function hookAction(hookaction) {
|
||
|
|
return hookaction.Allow && hookaction.Round >= 2;
|
||
|
|
}
|
||
|
|
`,
|
||
|
|
}
|
||
|
|
|
||
|
|
ok, err := boss.RunHookActionScript(testHookAction{Allow: true, Round: 2})
|
||
|
|
if err != nil {
|
||
|
|
t.Fatalf("RunHookActionScript returned error: %v", err)
|
||
|
|
}
|
||
|
|
if !ok {
|
||
|
|
t.Fatalf("RunHookActionScript = false, want true")
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestBossConfigRunHookActionScriptEmptyReturnDefaultsTrue(t *testing.T) {
|
||
|
|
boss := &BossConfig{
|
||
|
|
Script: `
|
||
|
|
function hookAction(hookaction) {
|
||
|
|
var _ = hookaction;
|
||
|
|
}
|
||
|
|
`,
|
||
|
|
}
|
||
|
|
|
||
|
|
ok, err := boss.RunHookActionScript(testHookAction{Allow: false, Round: 1})
|
||
|
|
if err != nil {
|
||
|
|
t.Fatalf("RunHookActionScript returned error: %v", err)
|
||
|
|
}
|
||
|
|
if !ok {
|
||
|
|
t.Fatalf("RunHookActionScript = false, want true")
|
||
|
|
}
|
||
|
|
}
|