aurora / internal /httpstream /stream_test.go
qwen2api's picture
Upload 113 files
6bc074c verified
Raw
History Blame Contribute Delete
2.21 kB
package httpstream
import (
"net/http"
"net/http/httptest"
"testing"
"github.com/gin-gonic/gin"
)
func setupTestContext() (*gin.Context, *httptest.ResponseRecorder) {
gin.SetMode(gin.TestMode)
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
c.Request, _ = http.NewRequest("POST", "/test", nil)
return c, w
}
func TestWriteSSEHeader(t *testing.T) {
c, w := setupTestContext()
WriteSSEHeader(c)
if w.Header().Get("Content-Type") != "text/event-stream" {
t.Errorf("expected Content-Type text/event-stream, got %s", w.Header().Get("Content-Type"))
}
if w.Header().Get("Cache-Control") != "no-cache" {
t.Errorf("expected Cache-Control no-cache, got %s", w.Header().Get("Cache-Control"))
}
if w.Header().Get("Connection") != "keep-alive" {
t.Errorf("expected Connection keep-alive, got %s", w.Header().Get("Connection"))
}
}
func TestWriteSSEEvent(t *testing.T) {
c, w := setupTestContext()
payload := map[string]string{"key": "value"}
ok := WriteSSEEvent(c, "test.event", payload)
if !ok {
t.Error("WriteSSEEvent should return true")
}
body := w.Body.String()
if body == "" {
t.Error("expected non-empty response body")
}
}
func TestWriteDone(t *testing.T) {
c, w := setupTestContext()
ok := WriteDone(c)
if !ok {
t.Error("WriteDone should return true")
}
body := w.Body.String()
if body != "data: [DONE]\n\n" {
t.Errorf("expected 'data: [DONE]\\n\\n', got %q", body)
}
}
func TestWriteImageStreamHeader(t *testing.T) {
c, w := setupTestContext()
WriteImageStreamHeader(c)
if w.Header().Get("Content-Type") != "text/event-stream" {
t.Errorf("expected Content-Type text/event-stream, got %s", w.Header().Get("Content-Type"))
}
}
func TestWriteImageStreamDone(t *testing.T) {
c, w := setupTestContext()
ok := WriteImageStreamDone(c)
if !ok {
t.Error("WriteImageStreamDone should return true")
}
body := w.Body.String()
if body != "data: [DONE]\n\n" {
t.Errorf("expected 'data: [DONE]\\n\\n', got %q", body)
}
}
func TestWriteImageStreamError(t *testing.T) {
c, w := setupTestContext()
WriteImageStreamError(c, 0, 1, "test error")
body := w.Body.String()
if body == "" {
t.Error("expected non-empty response body")
}
}