package binary import ( "testing" "time" "github.com/stretchr/testify/require" "github.com/influxdata/telegraf/internal" ) func TestEntryExtract(t *testing.T) { testdata := []byte{0x01, 0x02, 0x03, 0x04} e := &Entry{Type: "uint64"} _, _, err := e.extract(testdata, 0) require.EqualError(t, err, `unexpected entry: &{ uint64 0 false [] }`) } func TestEntryConvertType(t *testing.T) { testdata := []byte{0x01, 0x02, 0x03, 0x04} e := &Entry{Type: "garbage"} _, err := e.convertType(testdata, internal.HostEndianness) require.EqualError(t, err, `cannot handle type "garbage"`) } func TestEntryConvertTimeType(t *testing.T) { testdata := []byte{0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09} e := &Entry{Type: "unix_ns", location: time.UTC} _, err := e.convertTimeType(testdata, internal.HostEndianness) require.EqualError(t, err, `too many bytes 9 vs 8`) } func TestConvertNumericType(t *testing.T) { testdata := []byte{0x01, 0x02, 0x03, 0x04} _, err := convertNumericType(testdata, "garbage", internal.HostEndianness) require.EqualError(t, err, `cannot determine length for type "garbage"`) _, err = convertNumericType(testdata, "uint8", internal.HostEndianness) require.EqualError(t, err, `too many bytes 4 vs 1`) }