github.com/decred/dcrlnd@v0.7.6/lnwire/typed_delivery_addr_test.go (about) 1 package lnwire 2 3 import ( 4 "bytes" 5 "testing" 6 ) 7 8 // TestDeliveryAddressEncodeDecode tests that we're able to properly 9 // encode and decode delivery addresses within TLV streams. 10 func TestDeliveryAddressEncodeDecode(t *testing.T) { 11 t.Parallel() 12 13 addr := DeliveryAddress( 14 bytes.Repeat([]byte("a"), deliveryAddressMaxSize), 15 ) 16 17 var extraData ExtraOpaqueData 18 err := extraData.PackRecords(&addr) 19 if err != nil { 20 t.Fatal(err) 21 } 22 23 var addr2 DeliveryAddress 24 tlvs, err := extraData.ExtractRecords(&addr2) 25 if err != nil { 26 t.Fatal(err) 27 } 28 29 if _, ok := tlvs[DeliveryAddrType]; !ok { 30 t.Fatalf("DeliveryAddrType not found in records") 31 } 32 33 if !bytes.Equal(addr, addr2) { 34 t.Fatalf("addr mismatch: expected %x, got %x", addr[:], 35 addr2[:]) 36 } 37 }