mirror of https://github.com/tidwall/tile38.git
64 lines
1.5 KiB
Go
64 lines
1.5 KiB
Go
/*
|
|
* 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)
|
|
}
|
|
}
|