test: add first-version coverage

This commit is contained in:
hectorzhao
2026-07-01 14:46:35 +08:00
parent 924457a48e
commit 91d1e38a09
13 changed files with 5484 additions and 1 deletions
+53 -1
View File
@@ -1,6 +1,10 @@
package tracker
import "testing"
import (
"fmt"
"sync"
"testing"
)
func TestTrackerMapsMessageSequenceAndGatewayIDs(t *testing.T) {
tr := New()
@@ -34,3 +38,51 @@ func TestTrackerRejectsUnknownSubmitResp(t *testing.T) {
t.Fatal("expected missing mapping error")
}
}
func TestTrackerKeepsConcurrentSequenceAndGatewayMappingsSeparate(t *testing.T) {
tr := New()
var wg sync.WaitGroup
for i := 0; i < 100; i++ {
wg.Add(1)
go func(i int) {
defer wg.Done()
messageID := fmt.Sprintf("msg-%03d", i)
gatewayID := fmt.Sprintf("gw-%03d", i)
sequenceID := uint32(2000 + i)
tr.TrackSubmit(messageID, sequenceID)
mapping, err := tr.TrackSubmitResp(sequenceID, gatewayID)
if err != nil {
t.Errorf("track submit resp for %s: %v", messageID, err)
return
}
if mapping.MessageID != messageID || mapping.SequenceID != sequenceID || mapping.GatewayMessageID != gatewayID {
t.Errorf("unexpected mapping: %+v", mapping)
}
}(i)
}
wg.Wait()
for i := 0; i < 100; i++ {
messageID := fmt.Sprintf("msg-%03d", i)
gatewayID := fmt.Sprintf("gw-%03d", i)
sequenceID := uint32(2000 + i)
byGateway, err := tr.ByGatewayMessageID(gatewayID)
if err != nil {
t.Fatalf("lookup gateway %s: %v", gatewayID, err)
}
if byGateway.MessageID != messageID || byGateway.SequenceID != sequenceID {
t.Fatalf("gateway lookup crossed mappings: %+v", byGateway)
}
byMessage, err := tr.ByMessageID(messageID)
if err != nil {
t.Fatalf("lookup message %s: %v", messageID, err)
}
if byMessage.GatewayMessageID != gatewayID || byMessage.SequenceID != sequenceID {
t.Fatalf("message lookup crossed mappings: %+v", byMessage)
}
}
}