mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-08-24 04:34:39 +02:00
zpay32: test case for empty routing hints on r fields
This commit is contained in:
@@ -697,18 +697,22 @@ func TestParseRouteHint(t *testing.T) {
|
||||
testDoubleHopData, _ = bech32.ConvertBits(testDoubleHopData, 8, 5, true)
|
||||
|
||||
tests := []struct {
|
||||
data []byte
|
||||
valid bool
|
||||
result []HopHint
|
||||
data []byte
|
||||
valid bool
|
||||
result []HopHint
|
||||
expectedErr error
|
||||
}{
|
||||
{
|
||||
data: []byte{0x0, 0x0, 0x0, 0x0},
|
||||
valid: false, // data too short, not multiple of 51 bytes
|
||||
data: []byte{0x0, 0x0, 0x0, 0x0},
|
||||
// data too short, not multiple of 51 bytes
|
||||
valid: false,
|
||||
expectedErr: ErrLengthNotMultipleOfHopHint,
|
||||
},
|
||||
{
|
||||
data: []byte{},
|
||||
valid: true,
|
||||
result: []HopHint{},
|
||||
data: []byte{},
|
||||
valid: false,
|
||||
result: []HopHint{},
|
||||
expectedErr: ErrEmptyRouteHint,
|
||||
},
|
||||
{
|
||||
data: testSingleHopData,
|
||||
@@ -716,8 +720,11 @@ func TestParseRouteHint(t *testing.T) {
|
||||
result: testSingleHop,
|
||||
},
|
||||
{
|
||||
data: append(testSingleHopData, 0x0),
|
||||
valid: false, // data too long, not multiple of 51 bytes
|
||||
data: append(testSingleHopData,
|
||||
[]byte{0x0, 0x0}...),
|
||||
// data too long, not multiple of 51 bytes
|
||||
valid: false,
|
||||
expectedErr: ErrLengthNotMultipleOfHopHint,
|
||||
},
|
||||
{
|
||||
data: testDoubleHopData,
|
||||
@@ -732,6 +739,7 @@ func TestParseRouteHint(t *testing.T) {
|
||||
t.Errorf("routing info decoding test %d failed: %v", i, err)
|
||||
return
|
||||
}
|
||||
require.ErrorIs(t, err, test.expectedErr)
|
||||
if test.valid {
|
||||
if err := compareRouteHints(test.result, routeHint); err != nil {
|
||||
t.Fatalf("test %d failed decoding routing info: %v", i, err)
|
||||
|
Reference in New Issue
Block a user