fix: close receipt delivery workflows

This commit is contained in:
hectorzhao
2026-07-24 14:40:57 +08:00
parent 2ee39056eb
commit 91f04f5288
22 changed files with 829 additions and 48 deletions
+15
View File
@@ -912,10 +912,14 @@ func TestDownstreamDeliveryRequiresAcknowledgement(t *testing.T) {
defer resetDownstreamRegistry()
events := make(chan downstreamDeliveryLifecycleEvent, 1)
protocolEvents := make(chan protocolLogEvent, 1)
conn := &cmpp.Conn{}
session := &downstreamSession{
conn: conn, connectionID: "conn-1",
deliveryReport: func(event downstreamDeliveryLifecycleEvent) { events <- event },
tenantID: "tenant-1", applicationID: "app-1", account: "607532",
messageID: "MSG-LONG-1", phoneNumber: "18821203795",
protocolLog: func(event protocolLogEvent) { protocolEvents <- event },
}
registerDownstreamAck(session, "delivery-1", 37, 9016479179509871733, time.Now().Add(time.Second))
handleDownstreamAcknowledgement(conn, 37, 9016479179509871733, 0, log.Default())
@@ -928,6 +932,17 @@ func TestDownstreamDeliveryRequiresAcknowledgement(t *testing.T) {
case <-time.After(time.Second):
t.Fatal("timed out waiting acknowledgement event")
}
select {
case event := <-protocolEvents:
if event.Protocol != "cmpp" || event.Direction != "client_to_platform" || event.EventType != "deliver_resp" {
t.Fatalf("unexpected acknowledgement protocol event: %+v", event)
}
if event.MessageID != "MSG-LONG-1" || event.GatewayMessageID != "9016479179509871733" || event.ResultCode != "0" {
t.Fatalf("unexpected acknowledgement identifiers: %+v", event)
}
case <-time.After(time.Second):
t.Fatal("timed out waiting acknowledgement protocol event")
}
}
func TestReceiptLookupDoesNotFallbackToAccountBeforeSubmitMappingExists(t *testing.T) {