-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmessage_test.go
More file actions
63 lines (52 loc) · 1.45 KB
/
Copy pathmessage_test.go
File metadata and controls
63 lines (52 loc) · 1.45 KB
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
57
58
59
60
61
62
63
package message_test
import (
"testing"
"github.com/stretchr/testify/assert"
message "github.com/iij/legs-message"
)
func TestMarshal(t *testing.T) {
msg := message.NewMessage()
b, err := message.Marshal(msg)
if err != nil {
t.Error("error at ToBinary:", err)
return
}
parsedMsg := message.NewMessage()
err = message.Unmarshal(b, &parsedMsg)
if err != nil {
t.Error("error at ParseMessage:", err)
return
}
if parsedMsg.MessageType != "none" {
t.Error("message type was not 'none':", parsedMsg.MessageType)
}
if parsedMsg.Model != "none" {
t.Error("message type was not 'none':", parsedMsg.Model)
}
}
func TestGetMessageType(t *testing.T) {
t.Skipf("RegisterExt is comment outed for backward compatibility")
type test struct {
input interface{}
want int8
err bool
}
cases := []test{
{input: message.BaseMessage{}, want: message.TypeNone, err: false},
{input: message.Command{}, want: message.TypeCommand, err: false},
{input: message.ClientConfigure{}, want: message.TypeClientConfigure, err: false},
{input: message.Console{}, want: message.TypeConsole, err: false},
{input: message.Proxy{}, want: message.TypeProxy, err: false},
{input: message.ProxyData{}, want: message.TypeInvalid, err: true},
}
for _, c := range cases {
b, _ := message.Marshal(c.input)
msgType, err := message.GetMessageType(b)
if c.err {
assert.NotNil(t, err)
} else {
assert.Nil(t, err)
}
assert.Equal(t, c.want, msgType)
}
}