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  }