From cfbde5d2cee539216ca6ff630c967a6c9c3c8c75 Mon Sep 17 00:00:00 2001 From: Conner Fromknecht Date: Tue, 15 Sep 2020 12:43:52 -0400 Subject: [PATCH] watchtower/lookout/justice_descriptor_test: use require --- watchtower/lookout/justice_descriptor_test.go | 50 +++++-------------- 1 file changed, 13 insertions(+), 37 deletions(-) diff --git a/watchtower/lookout/justice_descriptor_test.go b/watchtower/lookout/justice_descriptor_test.go index 68a7768c..93d9c94c 100644 --- a/watchtower/lookout/justice_descriptor_test.go +++ b/watchtower/lookout/justice_descriptor_test.go @@ -1,7 +1,6 @@ package lookout_test import ( - "reflect" "testing" "time" @@ -11,7 +10,6 @@ import ( "github.com/btcsuite/btcd/wire" "github.com/btcsuite/btcutil" "github.com/btcsuite/btcutil/txsort" - "github.com/davecgh/go-spew/spew" "github.com/lightningnetwork/lnd/input" "github.com/lightningnetwork/lnd/keychain" "github.com/lightningnetwork/lnd/lnwire" @@ -20,6 +18,7 @@ import ( "github.com/lightningnetwork/lnd/watchtower/wtdb" "github.com/lightningnetwork/lnd/watchtower/wtmock" "github.com/lightningnetwork/lnd/watchtower/wtpolicy" + "github.com/stretchr/testify/require" ) const csvDelay uint32 = 144 @@ -106,21 +105,15 @@ func testJusticeDescriptor(t *testing.T, blobType blob.Type) { toLocalScript, err := input.CommitScriptToSelf( csvDelay, toLocalPK, revPK, ) - if err != nil { - t.Fatalf("unable to create to-local script: %v", err) - } + require.Nil(t, err) // Compute the to-local witness script hash. toLocalScriptHash, err := input.WitnessScriptHash(toLocalScript) - if err != nil { - t.Fatalf("unable to create to-local witness script hash: %v", err) - } + require.Nil(t, err) // Compute the to-remote witness script hash. toRemoteScriptHash, err := input.CommitScriptUnencumbered(toRemotePK) - if err != nil { - t.Fatalf("unable to create to-remote script: %v", err) - } + require.Nil(t, err) // Construct the breaching commitment txn, containing the to-local and // to-remote outputs. We don't need any inputs for this test. @@ -207,9 +200,7 @@ func testJusticeDescriptor(t *testing.T, blobType blob.Type) { totalAmount, int64(txWeight), justiceKit.SweepAddress, sessionInfo.RewardAddress, ) - if err != nil { - t.Fatalf("unable to compute justice txouts: %v", err) - } + require.Nil(t, err) // Attach the txouts and BIP69 sort the resulting transaction. justiceTxn.TxOut = outputs @@ -244,15 +235,12 @@ func testJusticeDescriptor(t *testing.T, blobType blob.Type) { // Verify that our test justice transaction is sane. btx := btcutil.NewTx(justiceTxn) - if err := blockchain.CheckTransactionSanity(btx); err != nil { - t.Fatalf("justice txn is not sane: %v", err) - } + err = blockchain.CheckTransactionSanity(btx) + require.Nil(t, err) // Compute a DER-encoded signature for the to-local input. toLocalSigRaw, err := signer.SignOutputRaw(justiceTxn, toLocalSignDesc) - if err != nil { - t.Fatalf("unable to sign to-local input: %v", err) - } + require.Nil(t, err) // Compute the witness for the to-remote input. The first element is a // DER-encoded signature under the to-remote pubkey. The sighash flag is @@ -260,22 +248,16 @@ func testJusticeDescriptor(t *testing.T, blobType blob.Type) { toRemoteWitness, err := input.CommitSpendNoDelay( signer, toRemoteSignDesc, justiceTxn, false, ) - if err != nil { - t.Fatalf("unable to sign to-remote input: %v", err) - } + require.Nil(t, err) toRemoteSigRaw := toRemoteWitness[0][:len(toRemoteWitness[0])-1] // Convert the DER to-local sig into a fixed-size signature. toLocalSig, err := lnwire.NewSigFromSignature(toLocalSigRaw) - if err != nil { - t.Fatalf("unable to parse to-local signature: %v", err) - } + require.Nil(t, err) // Convert the DER to-remote sig into a fixed-size signature. toRemoteSig, err := lnwire.NewSigFromRawSignature(toRemoteSigRaw) - if err != nil { - t.Fatalf("unable to parse to-remote signature: %v", err) - } + require.Nil(t, err) // Complete our justice kit by copying the signatures into the payload. copy(justiceKit.CommitToLocalSig[:], toLocalSig[:]) @@ -300,9 +282,7 @@ func testJusticeDescriptor(t *testing.T, blobType blob.Type) { // Exact retribution on the offender. If no error is returned, we expect // the justice transaction to be published via the channel. err = punisher.Punish(justiceDesc, nil) - if err != nil { - t.Fatalf("unable to punish breach: %v", err) - } + require.Nil(t, err) // Retrieve the published justice transaction. var wtJusticeTxn *wire.MsgTx @@ -326,9 +306,5 @@ func testJusticeDescriptor(t *testing.T, blobType blob.Type) { justiceTxn.TxIn[1].Witness[1] = toRemotePK.SerializeCompressed() // Assert that the watchtower derives the same justice txn. - if !reflect.DeepEqual(justiceTxn, wtJusticeTxn) { - t.Fatalf("expected justice txn: %v\ngot %v", - spew.Sdump(justiceTxn), - spew.Sdump(wtJusticeTxn)) - } + require.Equal(t, justiceTxn, wtJusticeTxn) }