openai_gateway_usage_context_test.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package handler
  2. import (
  3. "context"
  4. "testing"
  5. "github.com/Wei-Shaw/sub2api/internal/pkg/ctxkey"
  6. "github.com/stretchr/testify/require"
  7. )
  8. func TestSubmitUsageRecordTaskCopiesRequestContext(t *testing.T) {
  9. parent := context.WithValue(context.Background(), ctxkey.ClientRequestID, "client-request-123")
  10. parent = context.WithValue(parent, ctxkey.RequestID, "request-456")
  11. var gotClientRequestID string
  12. var gotRequestID string
  13. h := &GatewayHandler{}
  14. h.submitUsageRecordTask(parent, func(ctx context.Context) {
  15. gotClientRequestID, _ = ctx.Value(ctxkey.ClientRequestID).(string)
  16. gotRequestID, _ = ctx.Value(ctxkey.RequestID).(string)
  17. })
  18. require.Equal(t, "client-request-123", gotClientRequestID)
  19. require.Equal(t, "request-456", gotRequestID)
  20. }
  21. func TestOpenAISubmitUsageRecordTaskCopiesRequestContext(t *testing.T) {
  22. parent := context.WithValue(context.Background(), ctxkey.ClientRequestID, "openai-client-request-123")
  23. parent = context.WithValue(parent, ctxkey.RequestID, "openai-request-456")
  24. var gotClientRequestID string
  25. var gotRequestID string
  26. h := &OpenAIGatewayHandler{}
  27. h.submitUsageRecordTask(parent, func(ctx context.Context) {
  28. gotClientRequestID, _ = ctx.Value(ctxkey.ClientRequestID).(string)
  29. gotRequestID, _ = ctx.Value(ctxkey.RequestID).(string)
  30. })
  31. require.Equal(t, "openai-client-request-123", gotClientRequestID)
  32. require.Equal(t, "openai-request-456", gotRequestID)
  33. }