|
- package middleware
-
- import (
- "testing"
-
- "github.com/stretchr/testify/assert"
- )
-
- // ---------------------------------------------------------------------------
- // parseTokenKey — 渠道选择删除后的验证测试
- // ---------------------------------------------------------------------------
-
- func TestParseTokenKey_SimpleKey(t *testing.T) {
- key, parts := parseTokenKey("sk-abc123")
- assert.Equal(t, "abc123", key)
- assert.Equal(t, []string{"abc123"}, parts)
- }
-
- func TestParseTokenKey_KeyWithDash(t *testing.T) {
- // "sk-abc123-42" 中 "-" 用于分割,parts[0]="abc123" 就是 key
- // parts[1]="42" 不再被解释为 channelId(渠道选择功能已删除)
- key, parts := parseTokenKey("sk-abc123-42")
- assert.Equal(t, "abc123", key)
- assert.Equal(t, []string{"abc123", "42"}, parts)
- // 验证:parts[1] 存在但不会被用于渠道选择
- // 渠道选择功能已删除,parseTokenKey 仅返回 parts,不解析 channelId
- }
-
- func TestParseTokenKey_ColonFormat(t *testing.T) {
- // 旧格式 "sk-abc123:42" 中 ":" 不再被解析为 channelId
- // parseTokenKey 只按 "-" 分割,":" 会保留在 parts[0] 中
- key, parts := parseTokenKey("sk-abc123:42")
- assert.Equal(t, "abc123:42", key)
- assert.Equal(t, []string{"abc123:42"}, parts)
- // 旧行为会返回 key="abc123" 并提取 channelId=42
- // 新行为:":" 被当作 key 的一部分,不做特殊处理
- }
-
- func TestParseTokenKey_EmptyKey(t *testing.T) {
- key, parts := parseTokenKey("sk-")
- assert.Equal(t, "", key)
- assert.Equal(t, []string{""}, parts)
- }
-
- func TestParseTokenKey_MultipleDashes(t *testing.T) {
- key, parts := parseTokenKey("sk-abc-def-ghi")
- assert.Equal(t, "abc", key)
- assert.Equal(t, []string{"abc", "def", "ghi"}, parts)
- }
|