package proxy import "testing" func TestSSEEventTrackerRejectsEventAfterTerminalEvent(t *testing.T) { var tracker sseEventTracker tracker.Write([]byte("data: [DONE]\n\ndata: unexpected\n\n")) if tracker.Complete() { t.Fatal("SSE stream with an event after its terminal event must not be complete") } } func TestSSEEventTrackerAcceptsCROnlyEventBoundary(t *testing.T) { var tracker sseEventTracker tracker.Write([]byte("data: [DONE]\r\r")) if !tracker.Complete() { t.Fatal("terminal SSE event with CR-only boundary should be complete") } } func TestSSEEventTrackerStopsBufferingOverLimit(t *testing.T) { tracker := newSSEEventTracker(8) tracker.Write([]byte("data: 123456789")) if tracker.Complete() { t.Fatal("overflowed SSE tracker must not report a complete stream") } if len(tracker.buf) != 0 || !tracker.overflow { t.Fatalf("overflow state=%v buffered=%d, want overflow with released buffer", tracker.overflow, len(tracker.buf)) } }