Browse Source

test: assert raw output signing requests

pull/135/head
Joost Jager 1 year ago
parent
commit
a05e46697d
No known key found for this signature in database GPG Key ID: A61B9D4C393C59C7
5 changed files with 28 additions and 0 deletions
  1. +3
    -0
      client_test.go
  2. +3
    -0
      loopin_test.go
  3. +6
    -0
      loopout_test.go
  4. +11
    -0
      test/lnd_services_mock.go
  5. +5
    -0
      test/signer_mock.go

+ 3
- 0
client_test.go View File

@ -265,6 +265,9 @@ func testSuccess(ctx *testContext, amt btcutil.Amount, hash lntypes.Hash,
// Publish tick.
ctx.expiryChan <- testTime
// Expect a signing request.
<-ctx.Lnd.SignOutputRawChannel
if !preimageRevealed {
ctx.assertStatus(loopdb.StatePreimageRevealed)
ctx.assertStorePreimageReveal()

+ 3
- 0
loopin_test.go View File

@ -175,6 +175,9 @@ func TestLoopInTimeout(t *testing.T) {
// Let htlc expire.
ctx.blockEpochChan <- swap.LoopInContract.CltvExpiry
// Expect a signing request.
<-ctx.lnd.SignOutputRawChannel
// Expect timeout tx to be published.
timeoutTx := <-ctx.lnd.TxPublishChannel

+ 6
- 0
loopout_test.go View File

@ -192,6 +192,9 @@ func TestCustomSweepConfTarget(t *testing.T) {
expiryChan <- time.Now()
// Expect a signing request for the HTLC success transaction.
<-ctx.Lnd.SignOutputRawChannel
cfg.store.(*storeMock).assertLoopOutState(loopdb.StatePreimageRevealed)
status := <-statusChan
if status.State != loopdb.StatePreimageRevealed {
@ -247,6 +250,9 @@ func TestCustomSweepConfTarget(t *testing.T) {
blockEpochChan <- int32(defaultConfTargetHeight)
expiryChan <- time.Now()
// Expect another signing request.
<-ctx.Lnd.SignOutputRawChannel
// We should expect to see another sweep using the higher fee since the
// spend hasn't been confirmed yet.
sweepTx := assertSweepTx(DefaultSweepConfTarget)

+ 11
- 0
test/lnd_services_mock.go View File

@ -9,6 +9,7 @@ import (
"github.com/btcsuite/btcd/wire"
"github.com/lightninglabs/loop/lndclient"
"github.com/lightningnetwork/lnd/chainntnfs"
"github.com/lightningnetwork/lnd/input"
"github.com/lightningnetwork/lnd/lntypes"
"github.com/lightningnetwork/lnd/lnwallet/chainfee"
"github.com/lightningnetwork/lnd/zpay32"
@ -57,6 +58,8 @@ func NewMockLnd() *LndMockServices {
RouterSendPaymentChannel: make(chan RouterPaymentChannelMessage),
TrackPaymentChannel: make(chan TrackPaymentMessage),
SignOutputRawChannel: make(chan SignOutputRawRequest),
FailInvoiceChannel: make(chan lntypes.Hash, 2),
epochChannel: make(chan int32),
Height: testStartingHeight,
@ -109,6 +112,12 @@ type SingleInvoiceSubscription struct {
Err chan error
}
// SignOutputRawRequest contains input data for a tx signing request.
type SignOutputRawRequest struct {
Tx *wire.MsgTx
SignDescriptors []*input.SignDescriptor
}
// LndMockServices provides a full set of mocked lnd services.
type LndMockServices struct {
lndclient.LndServices
@ -130,6 +139,8 @@ type LndMockServices struct {
RouterSendPaymentChannel chan RouterPaymentChannelMessage
TrackPaymentChannel chan TrackPaymentMessage
SignOutputRawChannel chan SignOutputRawRequest
Height int32
NodePubkey string
Signature []byte

+ 5
- 0
test/signer_mock.go View File

@ -16,6 +16,11 @@ type mockSigner struct {
func (s *mockSigner) SignOutputRaw(ctx context.Context, tx *wire.MsgTx,
signDescriptors []*input.SignDescriptor) ([][]byte, error) {
s.lnd.SignOutputRawChannel <- SignOutputRawRequest{
Tx: tx,
SignDescriptors: signDescriptors,
}
rawSigs := [][]byte{{1, 2, 3}}
return rawSigs, nil

Loading…
Cancel
Save