channeldb+rpcserver: return number of deleted payments

This commit is contained in:
Oliver Gugger
2024-11-06 15:30:21 +01:00
parent e3cc4d70c0
commit 15a5fe7704
3 changed files with 34 additions and 16 deletions

View File

@@ -435,9 +435,9 @@ func TestPaymentControlDeleteNonInFlight(t *testing.T) {
}
// Delete all failed payments.
if err := db.DeletePayments(true, false); err != nil {
t.Fatal(err)
}
numPayments, err := db.DeletePayments(true, false)
require.NoError(t, err)
require.EqualValues(t, 1, numPayments)
// This should leave the succeeded and in-flight payments.
dbPayments, err := db.FetchPayments()
@@ -471,9 +471,9 @@ func TestPaymentControlDeleteNonInFlight(t *testing.T) {
}
// Now delete all payments except in-flight.
if err := db.DeletePayments(false, false); err != nil {
t.Fatal(err)
}
numPayments, err = db.DeletePayments(false, false)
require.NoError(t, err)
require.EqualValues(t, 2, numPayments)
// This should leave the in-flight payment.
dbPayments, err = db.FetchPayments()
@@ -536,14 +536,18 @@ func TestPaymentControlDeletePayments(t *testing.T) {
assertPayments(t, db, payments)
// Delete HTLC attempts for failed payments only.
require.NoError(t, db.DeletePayments(true, true))
numPayments, err := db.DeletePayments(true, true)
require.NoError(t, err)
require.EqualValues(t, 0, numPayments)
// The failed payment is the only altered one.
payments[0].htlcs = 0
assertPayments(t, db, payments)
// Delete failed attempts for all payments.
require.NoError(t, db.DeletePayments(false, true))
numPayments, err = db.DeletePayments(false, true)
require.NoError(t, err)
require.EqualValues(t, 0, numPayments)
// The failed attempts should be deleted, except for the in-flight
// payment, that shouldn't be altered until it has completed.
@@ -551,12 +555,16 @@ func TestPaymentControlDeletePayments(t *testing.T) {
assertPayments(t, db, payments)
// Now delete all failed payments.
require.NoError(t, db.DeletePayments(true, false))
numPayments, err = db.DeletePayments(true, false)
require.NoError(t, err)
require.EqualValues(t, 1, numPayments)
assertPayments(t, db, payments[1:])
// Finally delete all completed payments.
require.NoError(t, db.DeletePayments(false, false))
numPayments, err = db.DeletePayments(false, false)
require.NoError(t, err)
require.EqualValues(t, 1, numPayments)
assertPayments(t, db, payments[2:])
}