itest: add neutrinoclient to harnessnode

This commit is contained in:
ErikEk 2022-07-28 12:46:18 +02:00
parent ef8cf73d4c
commit cc08271c5f
3 changed files with 63 additions and 0 deletions

View File

@ -8,6 +8,7 @@ import (
"github.com/lightningnetwork/lnd/lnrpc"
"github.com/lightningnetwork/lnd/lnrpc/chainrpc"
"github.com/lightningnetwork/lnd/lnrpc/invoicesrpc"
"github.com/lightningnetwork/lnd/lnrpc/neutrinorpc"
"github.com/lightningnetwork/lnd/lnrpc/peersrpc"
"github.com/lightningnetwork/lnd/lnrpc/routerrpc"
"github.com/lightningnetwork/lnd/lnrpc/signrpc"
@ -40,6 +41,7 @@ type HarnessRPC struct {
State lnrpc.StateClient
ChainClient chainrpc.ChainNotifierClient
ChainKit chainrpc.ChainKitClient
NeutrinoKit neutrinorpc.NeutrinoKitClient
Peer peersrpc.PeersClient
// Name is the HarnessNode's name.
@ -70,6 +72,7 @@ func NewHarnessRPC(ctxt context.Context, t *testing.T, c *grpc.ClientConn,
State: lnrpc.NewStateClient(c),
ChainClient: chainrpc.NewChainNotifierClient(c),
ChainKit: chainrpc.NewChainKitClient(c),
NeutrinoKit: neutrinorpc.NewNeutrinoKitClient(c),
Peer: peersrpc.NewPeersClient(c),
Name: name,
}

View File

@ -0,0 +1,54 @@
package rpc
import (
"context"
"github.com/lightningnetwork/lnd/lnrpc/neutrinorpc"
)
// =====================
// NeutrinoKitClient related RPCs.
// =====================
// Status makes an RPC call to neutrino kit client's Status and asserts.
func (h *HarnessRPC) Status(
req *neutrinorpc.StatusRequest) *neutrinorpc.StatusResponse {
if req == nil {
req = &neutrinorpc.StatusRequest{}
}
ctxt, cancel := context.WithTimeout(h.runCtx, DefaultTimeout)
defer cancel()
resp, err := h.NeutrinoKit.Status(ctxt, req)
h.NoError(err, "Status")
return resp
}
// GetCFilter makes an RPC call to neutrino kit client's GetCFilter and asserts.
func (h *HarnessRPC) GetCFilter(
req *neutrinorpc.GetCFilterRequest) *neutrinorpc.GetCFilterResponse {
ctxt, cancel := context.WithTimeout(h.runCtx, DefaultTimeout)
defer cancel()
resp, err := h.NeutrinoKit.GetCFilter(ctxt, req)
h.NoError(err, "GetCFilter")
return resp
}
// AddPeer makes an RPC call to neutrino kit client's AddPeer and asserts.
func (h *HarnessRPC) AddPeer(
req *neutrinorpc.AddPeerRequest) *neutrinorpc.AddPeerResponse {
ctxt, cancel := context.WithTimeout(h.runCtx, DefaultTimeout)
defer cancel()
resp, err := h.NeutrinoKit.AddPeer(ctxt, req)
h.NoError(err, "AddPeer")
return resp
}

View File

@ -25,6 +25,7 @@ import (
"github.com/lightningnetwork/lnd/lnrpc"
"github.com/lightningnetwork/lnd/lnrpc/chainrpc"
"github.com/lightningnetwork/lnd/lnrpc/invoicesrpc"
"github.com/lightningnetwork/lnd/lnrpc/neutrinorpc"
"github.com/lightningnetwork/lnd/lnrpc/peersrpc"
"github.com/lightningnetwork/lnd/lnrpc/routerrpc"
"github.com/lightningnetwork/lnd/lnrpc/signrpc"
@ -368,6 +369,7 @@ type HarnessNode struct {
StateClient lnrpc.StateClient
ChainClient chainrpc.ChainNotifierClient
ChainKit chainrpc.ChainKitClient
NeutrinoClient neutrinorpc.NeutrinoKitClient
}
// RPCClients wraps a list of RPC clients into a single struct for easier
@ -387,6 +389,7 @@ type RPCClients struct {
State lnrpc.StateClient
ChainClient chainrpc.ChainNotifierClient
ChainKit chainrpc.ChainKitClient
NeutrinoClient neutrinorpc.NeutrinoKitClient
}
// Assert *HarnessNode implements the lnrpc.LightningClient interface.
@ -941,6 +944,7 @@ func (hn *HarnessNode) InitRPCClients(c *grpc.ClientConn) {
State: lnrpc.NewStateClient(c),
ChainClient: chainrpc.NewChainNotifierClient(c),
ChainKit: chainrpc.NewChainKitClient(c),
NeutrinoClient: neutrinorpc.NewNeutrinoKitClient(c),
}
}
@ -964,6 +968,7 @@ func (hn *HarnessNode) initLightningClient() error {
hn.StateClient = lnrpc.NewStateClient(conn)
hn.ChainClient = chainrpc.NewChainNotifierClient(conn)
hn.ChainKit = chainrpc.NewChainKitClient(conn)
hn.NeutrinoClient = neutrinorpc.NewNeutrinoKitClient(conn)
// Wait until the server is fully started.
if err := hn.WaitUntilServerActive(); err != nil {
@ -1183,6 +1188,7 @@ func (hn *HarnessNode) stop() error {
hn.WalletUnlockerClient = nil
hn.Watchtower = nil
hn.WatchtowerClient = nil
hn.NeutrinoClient = nil
// Close any attempts at further grpc connections.
if hn.rpc.conn != nil {