-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcommand_test.go
56 lines (49 loc) · 1008 Bytes
/
command_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package executor
import (
"testing"
)
func TestCommand_Abandon(t *testing.T) {
cmd := &Command{
Name: "go env",
Code: "go env",
Session: Sessions.Local(),
}
controller := CmdController{cmd}
controller.Abandon()
if !controller.cmd.abandon {
t.Fail()
}
}
func TestCommand_SetState(t *testing.T) {
payload := make(map[string]interface{})
cmd := &Command{
Name: "TEST setState",
Code: "command1",
Session: nil,
payload: &payload,
AllowError: false,
Async: false,
completed: false,
Init: nil,
Done: nil,
}
controller := &CmdController{cmd}
kv := map[string]interface{}{
"keyA": "valueA",
"keyB": struct{}{},
"keyC": nil,
"keyD": 1,
}
for k, v := range kv {
controller.SetState(k, v)
if getV := controller.GetState(k); getV != v {
goto ERR
}
if getV := (*controller.cmd.payload)[k]; getV != v {
goto ERR
}
}
return
ERR:
t.Fail()
}