htlcswitch: add final htlc event to notifier

This commit is contained in:
Joost Jager committed 2022-10-27 16:42:36 +02:00
1 parent 28256b7ea8
commit 511fb00777
21 files changed
+729 -404

No files matched your search

@@ -424,4 +424,14 @@ func assertLinkFailure(t *harnessTest,
t.Fatalf("expected: %v, got: %v", failureDetail,
linkFail.LinkFailEvent.FailureDetail)
}
event = assertEventAndType(t, routerrpc.HtlcEvent_UNKNOWN, client)
finalHtlc, ok := event.Event.(*routerrpc.HtlcEvent_FinalHtlcEvent)
if !ok {
t.Fatalf("expected final htlc, got: %T", event.Event)
}
if finalHtlc.FinalHtlcEvent.Settled {
t.Fatalf("expected final fail")
}
}
+41 -4
View File
@@ -348,13 +348,26 @@ func assertHtlcEvents(t *harnessTest, fwdCount, fwdFailCount, settleCount int,
userType routerrpc.HtlcEvent_EventType,
client routerrpc.Router_SubscribeHtlcEventsClient) {
var forwards, forwardFails, settles int
var forwards, forwardFails, settles, finalSettles, finalFails int
var finalFailCount, finalSettleCount int
if userType != routerrpc.HtlcEvent_SEND {
finalFailCount = fwdFailCount
finalSettleCount = settleCount
}
numEvents := fwdCount + fwdFailCount + settleCount +
finalFailCount + finalSettleCount
numEvents := fwdCount + fwdFailCount + settleCount
for i := 0; i < numEvents; i++ {
event := assertEventAndType(t, userType, client)
event, err := client.Recv()
if err != nil {
t.Fatalf("could not get event")
}
switch event.Event.(type) {
expectedEventType := userType
switch e := event.Event.(type) {
case *routerrpc.HtlcEvent_ForwardEvent:
forwards++
@@ -364,9 +377,23 @@ func assertHtlcEvents(t *harnessTest, fwdCount, fwdFailCount, settleCount int,
case *routerrpc.HtlcEvent_SettleEvent:
settles++
case *routerrpc.HtlcEvent_FinalHtlcEvent:
if e.FinalHtlcEvent.Settled {
finalSettles++
} else {
finalFails++
}
expectedEventType = routerrpc.HtlcEvent_UNKNOWN
default:
t.Fatalf("unexpected event: %T", event.Event)
}
if event.EventType != expectedEventType {
t.Fatalf("expected: %v, got: %v", expectedEventType,
event.EventType)
}
}
if forwards != fwdCount {
@@ -378,9 +405,19 @@ func assertHtlcEvents(t *harnessTest, fwdCount, fwdFailCount, settleCount int,
forwardFails)
}
if finalFails != finalFailCount {
t.Fatalf("expected: %v final fails, got: %v", finalFailCount,
finalFails)
}
if settles != settleCount {
t.Fatalf("expected: %v settles, got: %v", settleCount, settles)
}
if finalSettles != finalSettleCount {
t.Fatalf("expected: %v settles, got: %v", finalSettleCount,
finalSettles)
}
}
// assertEventAndType reads an event from the stream provided and ensures that