mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-09-06 17:47:01 +02:00
itest: check peer alias in ListChannels
This commit is contained in:
@@ -272,11 +272,20 @@ func testListChannels(ht *lntest.HarnessTest) {
|
||||
// Check the returned response is correct.
|
||||
aliceChannel := ht.QueryChannelByChanPoint(alice, chanPoint)
|
||||
|
||||
// Query the channel again, this time with peer alias lookup.
|
||||
aliceChannelWithAlias := ht.QueryChannelByChanPoint(
|
||||
alice, chanPoint, lntest.WithPeerAliasLookup(),
|
||||
)
|
||||
|
||||
// Since Alice is the initiator, she pays the commit fee.
|
||||
aliceBalance := int64(chanAmt) - aliceChannel.CommitFee - int64(pushAmt)
|
||||
|
||||
bobAlias := bob.RPC.GetInfo().Alias
|
||||
|
||||
// Check the balance related fields are correct.
|
||||
require.Equal(ht, aliceBalance, aliceChannel.LocalBalance)
|
||||
require.Empty(ht, aliceChannel.PeerAlias)
|
||||
require.Equal(ht, bobAlias, aliceChannelWithAlias.PeerAlias)
|
||||
require.EqualValues(ht, pushAmt, aliceChannel.RemoteBalance)
|
||||
require.EqualValues(ht, pushAmt, aliceChannel.PushAmountSat)
|
||||
|
||||
@@ -318,8 +327,17 @@ func testListChannels(ht *lntest.HarnessTest) {
|
||||
require.Equal(ht, aliceChannel.ChannelPoint, bobChannel.ChannelPoint,
|
||||
"Bob's channel point mismatched")
|
||||
|
||||
// Query the channel again, this time with node alias lookup.
|
||||
bobChannelWithAlias := ht.QueryChannelByChanPoint(
|
||||
bob, chanPoint, lntest.WithPeerAliasLookup(),
|
||||
)
|
||||
|
||||
aliceAlias := alice.RPC.GetInfo().Alias
|
||||
|
||||
// Check the balance related fields are correct.
|
||||
require.Equal(ht, aliceBalance, bobChannel.RemoteBalance)
|
||||
require.Empty(ht, bobChannel.PeerAlias)
|
||||
require.Equal(ht, aliceAlias, bobChannelWithAlias.PeerAlias)
|
||||
require.EqualValues(ht, pushAmt, bobChannel.LocalBalance)
|
||||
require.EqualValues(ht, pushAmt, bobChannel.PushAmountSat)
|
||||
|
||||
|
@@ -1598,10 +1598,12 @@ func (h *HarnessTest) MineEmptyBlocks(num int) []*wire.MsgBlock {
|
||||
// QueryChannelByChanPoint tries to find a channel matching the channel point
|
||||
// and asserts. It returns the channel found.
|
||||
func (h *HarnessTest) QueryChannelByChanPoint(hn *node.HarnessNode,
|
||||
chanPoint *lnrpc.ChannelPoint) *lnrpc.Channel {
|
||||
chanPoint *lnrpc.ChannelPoint,
|
||||
opts ...ListChannelOption) *lnrpc.Channel {
|
||||
|
||||
channel, err := h.findChannel(hn, chanPoint)
|
||||
channel, err := h.findChannel(hn, chanPoint, opts...)
|
||||
require.NoError(h, err, "failed to query channel")
|
||||
|
||||
return channel
|
||||
}
|
||||
|
||||
|
@@ -31,6 +31,18 @@ import (
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
// FindChannelOption is a functional type for an option that modifies a
|
||||
// ListChannelsRequest.
|
||||
type ListChannelOption func(r *lnrpc.ListChannelsRequest)
|
||||
|
||||
// WithPeerAliasLookup is an option for setting the peer alias lookup flag on a
|
||||
// ListChannelsRequest.
|
||||
func WithPeerAliasLookup() ListChannelOption {
|
||||
return func(r *lnrpc.ListChannelsRequest) {
|
||||
r.PeerAliasLookup = true
|
||||
}
|
||||
}
|
||||
|
||||
// WaitForBlockchainSync waits until the node is synced to chain.
|
||||
func (h *HarnessTest) WaitForBlockchainSync(hn *node.HarnessNode) {
|
||||
err := wait.NoError(func() error {
|
||||
@@ -368,12 +380,18 @@ func (h *HarnessTest) AssertChannelExists(hn *node.HarnessNode,
|
||||
// findChannel tries to find a target channel in the node using the given
|
||||
// channel point.
|
||||
func (h *HarnessTest) findChannel(hn *node.HarnessNode,
|
||||
chanPoint *lnrpc.ChannelPoint) (*lnrpc.Channel, error) {
|
||||
chanPoint *lnrpc.ChannelPoint,
|
||||
opts ...ListChannelOption) (*lnrpc.Channel, error) {
|
||||
|
||||
// Get the funding point.
|
||||
fp := h.OutPointFromChannelPoint(chanPoint)
|
||||
|
||||
req := &lnrpc.ListChannelsRequest{}
|
||||
|
||||
for _, opt := range opts {
|
||||
opt(req)
|
||||
}
|
||||
|
||||
channelInfo := hn.RPC.ListChannels(req)
|
||||
|
||||
// Find the target channel.
|
||||
|
Reference in New Issue
Block a user