lnd.xprv/lnwire/typed_delivery_addr_test.go

38 lines
771 B
Go
Raw Normal View History

package lnwire
import (
"bytes"
"testing"
)
// TestDeliveryAddressEncodeDecode tests that we're able to properly
// encode and decode delivery addresses within TLV streams.
func TestDeliveryAddressEncodeDecode(t *testing.T) {
t.Parallel()
addr := DeliveryAddress(
bytes.Repeat([]byte("a"), deliveryAddressMaxSize),
)
var extraData ExtraOpaqueData
err := extraData.PackRecords(addr.NewRecord())
if err != nil {
t.Fatal(err)
}
var addr2 DeliveryAddress
tlvs, err := extraData.ExtractRecords(addr2.NewRecord())
if err != nil {
t.Fatal(err)
}
if _, ok := tlvs[DeliveryAddrType]; !ok {
t.Fatalf("DeliveryAddrType not found in records")
}
if !bytes.Equal(addr, addr2) {
t.Fatalf("addr mismatch: expected %x, got %x", addr[:],
addr2[:])
}
}