github.com/glide-im/glide@v1.6.0/pkg/messages/message_test.go (about) 1 package messages 2 3 import ( 4 "github.com/stretchr/testify/assert" 5 "testing" 6 ) 7 8 func TestGlideMessage_Decode(t *testing.T) { 9 cm := AckMessage{ 10 Mid: 1, 11 Seq: 2, 12 } 13 message := NewMessage(1, ActionHeartbeat, &cm) 14 bytes, err := JsonCodec.Encode(message) 15 assert.Nil(t, err) 16 17 m := NewEmptyMessage() 18 err = JsonCodec.Decode(bytes, m) 19 assert.Nil(t, err) 20 21 assert.Equal(t, m.Action, message.Action) 22 } 23 24 func TestData_Deserialize(t *testing.T) { 25 m := NewMessage(1, ActionHello, &ChatMessage{ 26 Mid: 11, 27 Seq: 2, 28 From: "4", 29 }) 30 cm := ChatMessage{} 31 err := m.Data.Deserialize(&cm) 32 if err != nil { 33 t.Error(err) 34 } 35 assert.Equal(t, cm.From, m.From) 36 } 37 38 func TestData_MarshalJSON(t *testing.T) { 39 40 data := NewData("foo") 41 encode, err := JsonCodec.Encode(data) 42 assert.Nil(t, err) 43 44 d := Data{} 45 err = JsonCodec.Decode(encode, &d) 46 assert.Nil(t, err) 47 48 var s string 49 err = d.Deserialize(&s) 50 assert.Nil(t, err) 51 52 assert.Equal(t, s, data.des) 53 }