tile38/vendor/github.com/eclipse/paho.mqtt.golang/unit_ping_test.go

64 lines
1.5 KiB
Go
Raw Normal View History

2017-03-08 00:15:18 +03:00
/*
* Copyright (c) 2013 IBM Corp.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Seth Hoenig
* Allan Stockdill-Mander
* Mike Robertson
*/
package mqtt
import (
"bytes"
"testing"
"github.com/eclipse/paho.mqtt.golang/packets"
)
func Test_NewPingReqMessage(t *testing.T) {
pr := packets.NewControlPacket(packets.Pingreq).(*packets.PingreqPacket)
if pr.MessageType != packets.Pingreq {
t.Errorf("NewPingReqMessage bad msg type: %v", pr.MessageType)
}
if pr.RemainingLength != 0 {
t.Errorf("NewPingReqMessage bad remlen, expected 0, got %d", pr.RemainingLength)
}
exp := []byte{
0xC0,
0x00,
}
var buf bytes.Buffer
pr.Write(&buf)
bs := buf.Bytes()
if len(bs) != 2 {
t.Errorf("NewPingReqMessage.Bytes() wrong length: %d", len(bs))
}
if exp[0] != bs[0] || exp[1] != bs[1] {
t.Errorf("NewPingMessage.Bytes() wrong")
}
}
func Test_DecodeMessage_pingresp(t *testing.T) {
bs := bytes.NewBuffer([]byte{
0xD0,
0x00,
})
presp, _ := packets.ReadPacket(bs)
if presp.(*packets.PingrespPacket).MessageType != packets.Pingresp {
t.Errorf("DecodeMessage ping response wrong msg type: %v", presp.(*packets.PingrespPacket).MessageType)
}
if presp.(*packets.PingrespPacket).RemainingLength != 0 {
t.Errorf("DecodeMessage ping response wrong rem len: %d", presp.(*packets.PingrespPacket).RemainingLength)
}
}