37 lines
910 B
Go
37 lines
910 B
Go
package tracker
|
|
|
|
import "testing"
|
|
|
|
func TestTrackerMapsMessageSequenceAndGatewayIDs(t *testing.T) {
|
|
tr := New()
|
|
|
|
submit := tr.TrackSubmit("msg-1", 1001)
|
|
if submit.MessageID != "msg-1" || submit.SequenceID != 1001 {
|
|
t.Fatalf("unexpected submit mapping: %+v", submit)
|
|
}
|
|
|
|
resp, err := tr.TrackSubmitResp(1001, "gw-1")
|
|
if err != nil {
|
|
t.Fatalf("track submit resp: %v", err)
|
|
}
|
|
if resp.GatewayMessageID != "gw-1" {
|
|
t.Fatalf("unexpected gateway message id: %+v", resp)
|
|
}
|
|
|
|
byGateway, err := tr.ByGatewayMessageID("gw-1")
|
|
if err != nil {
|
|
t.Fatalf("lookup by gateway id: %v", err)
|
|
}
|
|
if byGateway.MessageID != "msg-1" || byGateway.SequenceID != 1001 {
|
|
t.Fatalf("unexpected gateway lookup: %+v", byGateway)
|
|
}
|
|
}
|
|
|
|
func TestTrackerRejectsUnknownSubmitResp(t *testing.T) {
|
|
tr := New()
|
|
|
|
if _, err := tr.TrackSubmitResp(404, "gw-missing"); err == nil {
|
|
t.Fatal("expected missing mapping error")
|
|
}
|
|
}
|