itest+lntest: migrate lntemp to lntest
This commit performs the takeover that `lntemp` is now promoted to be `lntest`, and the scaffolding is now removed as all the refactoring is finished!
This commit is contained in:
76 files changed
+590
-584
No files matched your search
@@ -0,0 +1,98 @@
|
||||
package rpc
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/btcsuite/btcd/wire"
|
||||
"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"
|
||||
"github.com/lightningnetwork/lnd/lnrpc/walletrpc"
|
||||
"github.com/lightningnetwork/lnd/lnrpc/watchtowerrpc"
|
||||
"github.com/lightningnetwork/lnd/lnrpc/wtclientrpc"
|
||||
"github.com/lightningnetwork/lnd/lntest/wait"
|
||||
"github.com/stretchr/testify/require"
|
||||
"google.golang.org/grpc"
|
||||
)
|
||||
|
||||
const (
|
||||
DefaultTimeout = wait.DefaultTimeout
|
||||
)
|
||||
|
||||
// HarnessRPC wraps all lnd's RPC clients into a single struct for easier
|
||||
// access.
|
||||
type HarnessRPC struct {
|
||||
*testing.T
|
||||
|
||||
LN lnrpc.LightningClient
|
||||
WalletUnlocker lnrpc.WalletUnlockerClient
|
||||
Invoice invoicesrpc.InvoicesClient
|
||||
Signer signrpc.SignerClient
|
||||
Router routerrpc.RouterClient
|
||||
WalletKit walletrpc.WalletKitClient
|
||||
Watchtower watchtowerrpc.WatchtowerClient
|
||||
WatchtowerClient wtclientrpc.WatchtowerClientClient
|
||||
State lnrpc.StateClient
|
||||
ChainClient chainrpc.ChainNotifierClient
|
||||
ChainKit chainrpc.ChainKitClient
|
||||
NeutrinoKit neutrinorpc.NeutrinoKitClient
|
||||
Peer peersrpc.PeersClient
|
||||
|
||||
// Name is the HarnessNode's name.
|
||||
Name string
|
||||
|
||||
// runCtx is a context with cancel method. It's used to signal when the
|
||||
// node needs to quit, and used as the parent context when spawning
|
||||
// children contexts for RPC requests.
|
||||
runCtx context.Context
|
||||
cancel context.CancelFunc
|
||||
}
|
||||
|
||||
// NewHarnessRPC creates a new HarnessRPC with its own context inherted from
|
||||
// the pass context.
|
||||
func NewHarnessRPC(ctxt context.Context, t *testing.T, c *grpc.ClientConn,
|
||||
name string) *HarnessRPC {
|
||||
|
||||
h := &HarnessRPC{
|
||||
T: t,
|
||||
LN: lnrpc.NewLightningClient(c),
|
||||
Invoice: invoicesrpc.NewInvoicesClient(c),
|
||||
Router: routerrpc.NewRouterClient(c),
|
||||
WalletKit: walletrpc.NewWalletKitClient(c),
|
||||
WalletUnlocker: lnrpc.NewWalletUnlockerClient(c),
|
||||
Watchtower: watchtowerrpc.NewWatchtowerClient(c),
|
||||
WatchtowerClient: wtclientrpc.NewWatchtowerClientClient(c),
|
||||
Signer: signrpc.NewSignerClient(c),
|
||||
State: lnrpc.NewStateClient(c),
|
||||
ChainClient: chainrpc.NewChainNotifierClient(c),
|
||||
ChainKit: chainrpc.NewChainKitClient(c),
|
||||
NeutrinoKit: neutrinorpc.NewNeutrinoKitClient(c),
|
||||
Peer: peersrpc.NewPeersClient(c),
|
||||
Name: name,
|
||||
}
|
||||
|
||||
// Inherit parent context.
|
||||
h.runCtx, h.cancel = context.WithCancel(ctxt)
|
||||
return h
|
||||
}
|
||||
|
||||
// MakeOutpoint returns the outpoint of the channel's funding transaction.
|
||||
func (h *HarnessRPC) MakeOutpoint(cp *lnrpc.ChannelPoint) wire.OutPoint {
|
||||
fundingTxID, err := lnrpc.GetChanPointFundingTxid(cp)
|
||||
require.NoErrorf(h, err, "failed to make chanPoint", h.Name)
|
||||
|
||||
return wire.OutPoint{
|
||||
Hash: *fundingTxID,
|
||||
Index: cp.OutputIndex,
|
||||
}
|
||||
}
|
||||
|
||||
// NoError is a helper method to format the error message used in calling RPCs.
|
||||
func (h *HarnessRPC) NoError(err error, operation string) {
|
||||
require.NoErrorf(h, err, "%s: failed to call %s", h.Name, operation)
|
||||
}
|
||||
Reference in new issue
Block a user