| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package service
- import (
- "testing"
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
- )
- func TestIsolateOpenAISessionID(t *testing.T) {
- t.Run("empty_raw_returns_empty", func(t *testing.T) {
- assert.Equal(t, "", isolateOpenAISessionID(1, ""))
- assert.Equal(t, "", isolateOpenAISessionID(1, " "))
- })
- t.Run("deterministic", func(t *testing.T) {
- a := isolateOpenAISessionID(42, "sess_abc123")
- b := isolateOpenAISessionID(42, "sess_abc123")
- assert.Equal(t, a, b)
- })
- t.Run("different_apiKeyID_different_result", func(t *testing.T) {
- a := isolateOpenAISessionID(1, "same_session")
- b := isolateOpenAISessionID(2, "same_session")
- require.NotEqual(t, a, b, "不同 API Key 使用相同 session_id 应产生不同隔离值")
- })
- t.Run("different_raw_different_result", func(t *testing.T) {
- a := isolateOpenAISessionID(1, "session_a")
- b := isolateOpenAISessionID(1, "session_b")
- require.NotEqual(t, a, b)
- })
- t.Run("format_is_16_hex_chars", func(t *testing.T) {
- result := isolateOpenAISessionID(99, "test_session")
- assert.Len(t, result, 16, "应为 16 字符的 hex 字符串")
- for _, ch := range result {
- assert.True(t, (ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'f'),
- "应仅包含 hex 字符: %c", ch)
- }
- })
- t.Run("zero_apiKeyID_still_works", func(t *testing.T) {
- result := isolateOpenAISessionID(0, "session")
- assert.NotEmpty(t, result)
- // apiKeyID=0 与 apiKeyID=1 应产生不同结果
- other := isolateOpenAISessionID(1, "session")
- assert.NotEqual(t, result, other)
- })
- }
|