43 lines
1023 B
Go
43 lines
1023 B
Go
package tlv_test
|
|
|
|
import (
|
|
"bytes"
|
|
"encoding/binary"
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/influxdata/influxdb/cmd/influx_tools/internal/tlv"
|
|
)
|
|
|
|
func TestReadLV_LengthExceedsMax(t *testing.T) {
|
|
var buf bytes.Buffer
|
|
if err := binary.Write(&buf, binary.BigEndian, int64(tlv.MaxMessageSize)); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
_, err := tlv.ReadLV(&buf)
|
|
if err == nil {
|
|
t.Fatal("ReadLV should have rejected message with L = MaxMessageSize")
|
|
}
|
|
|
|
if !strings.Contains(err.Error(), "max message size") {
|
|
t.Fatalf("got error %q, expected message about max message size", err.Error())
|
|
}
|
|
}
|
|
|
|
func TestReadLV_LengthNegative(t *testing.T) {
|
|
var buf bytes.Buffer
|
|
if err := binary.Write(&buf, binary.BigEndian, int64(-1)); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
_, err := tlv.ReadLV(&buf)
|
|
if err == nil {
|
|
t.Fatal("ReadLV should have rejected message with negative length")
|
|
}
|
|
|
|
if !strings.Contains(err.Error(), "negative message size") {
|
|
t.Fatalf("got error %q, expected message about negative message size", err.Error())
|
|
}
|
|
}
|