owpengram-server/internal/loadharness/delivery_test.go
2026-09-01 12:06:31 +03:00

83 lines
2.7 KiB
Go

package loadharness
import (
"testing"
"time"
"github.com/iamxvbaba/td/tg"
)
func TestDeliveryTrackerReconcilesObservationBeforeSendReturn(t *testing.T) {
tracker := newDeliveryTracker("run")
marker := tracker.marker(7, 9)
tracker.observe(marker, 200, deliveryLive)
tracker.expect(marker, 100, 200)
report := tracker.report()
if report.Expected != 1 || report.Delivered != 1 || report.LiveDelivered != 1 || report.Missing != 0 {
t.Fatalf("unexpected report: %+v", report)
}
}
func TestDeliveryTrackerMeasuresFromSendStart(t *testing.T) {
tracker := newDeliveryTracker("run")
marker := tracker.marker(1, 1)
tracker.begin(marker, 100, 200, time.Now().Add(-25*time.Millisecond))
tracker.observe(marker, 200, deliveryLive)
tracker.finish(marker, true)
report := tracker.report()
if report.E2EP50MS < 20 || report.E2EP99MS < report.E2EP50MS || report.E2EMaxMS < report.E2EP99MS {
t.Fatalf("unexpected e2e latency report: %+v", report)
}
}
func TestDeliveryTrackerSeparatesDifferenceRecoveryAndDuplicates(t *testing.T) {
tracker := newDeliveryTracker("run")
liveMarker := tracker.marker(1, 1)
differenceMarker := tracker.marker(2, 1)
tracker.expect(liveMarker, 100, 200)
tracker.expect(differenceMarker, 200, 300)
tracker.observe(liveMarker, 200, deliveryLive)
tracker.observe(liveMarker, 200, deliveryLive)
tracker.observe(liveMarker, 200, deliveryDifference)
tracker.observe(differenceMarker, 300, deliveryDifference)
report := tracker.report()
if report.Delivered != 2 || report.LiveDelivered != 1 || report.DifferenceRecovered != 1 {
t.Fatalf("unexpected delivery sources: %+v", report)
}
if report.DuplicateObservations != 1 {
t.Fatalf("duplicate observations = %d, want 1", report.DuplicateObservations)
}
}
func TestObserveUpdatesClassExtractsPrivateMessages(t *testing.T) {
tracker := newDeliveryTracker("run")
shortMarker := tracker.marker(1, 1)
fullMarker := tracker.marker(2, 1)
tracker.expect(shortMarker, 100, 200)
tracker.expect(fullMarker, 300, 200)
observeUpdatesClass(tracker, 200, &tg.UpdateShortMessage{Message: shortMarker}, deliveryLive)
observeUpdatesClass(tracker, 200, &tg.Updates{Updates: []tg.UpdateClass{
&tg.UpdateNewMessage{Message: &tg.Message{Message: fullMarker}},
}}, deliveryLive)
report := tracker.report()
if report.Delivered != 2 || report.Missing != 0 {
t.Fatalf("unexpected report: %+v", report)
}
}
func TestDeliveryTrackerRejectsForeignAndMalformedMarkers(t *testing.T) {
tracker := newDeliveryTracker("run")
tracker.observe("telesrv-load-v3/other/1/1", 200, deliveryLive)
tracker.observe("telesrv-load-v3/run/not-an-index/1", 200, deliveryLive)
if report := tracker.report(); report.UnmatchedMarkers != 0 {
t.Fatalf("foreign marker entered report: %+v", report)
}
}