openai_ws_forwarder_logutil_test.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package service
  2. import (
  3. "net/http"
  4. "net/http/httptest"
  5. "testing"
  6. "github.com/gin-gonic/gin"
  7. "github.com/stretchr/testify/require"
  8. )
  9. func TestResolveOpenAIWSSessionHeadersPrefersCodexHyphenHeader(t *testing.T) {
  10. gin.SetMode(gin.TestMode)
  11. recorder := httptest.NewRecorder()
  12. c, _ := gin.CreateTestContext(recorder)
  13. c.Request = httptest.NewRequest(http.MethodGet, "/v1/responses", nil)
  14. c.Request.Header.Set("session-id", "codex-session")
  15. c.Request.Header.Set("session_id", "legacy-session")
  16. resolution := resolveOpenAIWSSessionHeaders(c, "prompt-cache")
  17. require.Equal(t, "codex-session", resolution.SessionID)
  18. require.Equal(t, "header_session-id", resolution.SessionSource)
  19. }
  20. func TestResolveOpenAIWSSessionHeadersFallsBackToLegacyHeader(t *testing.T) {
  21. gin.SetMode(gin.TestMode)
  22. recorder := httptest.NewRecorder()
  23. c, _ := gin.CreateTestContext(recorder)
  24. c.Request = httptest.NewRequest(http.MethodGet, "/v1/responses", nil)
  25. c.Request.Header.Set("session_id", "legacy-session")
  26. resolution := resolveOpenAIWSSessionHeaders(c, "prompt-cache")
  27. require.Equal(t, "legacy-session", resolution.SessionID)
  28. require.Equal(t, "header_session_id", resolution.SessionSource)
  29. }