mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-09-21 05:45:26 +08:00
- P0: 直播 SSE SearchCount 跨事件 call_id 去重,避免 ~2× 附加费 - SearchCount/Audio/WebSearchCalls 走 mandatory usage task - web_search:uuid 等 forced request_id 优先于 client/local - Sanitize 始终剥离 cookie;ApplyOAuth 清 grok_needs_reauth_at - free 判定:paid 证据压过陈旧 free 凭据 - Gateway 列表应用 free soft-gate;token/body-read 可 failover - web_search 重试支持 WaitPlan 获取;周 PeriodEnd 不再回填月 end
51 lines
1.5 KiB
Go
51 lines
1.5 KiB
Go
package service
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestSanitizeStoredCredentials_StripsEphemeralSSOSecrets(t *testing.T) {
|
|
creds := map[string]any{
|
|
"access_token": "at",
|
|
"refresh_token": "rt",
|
|
"password": "secret",
|
|
"sso_token": "sso",
|
|
"sso": "cookie-sso",
|
|
"sso-rw": "rw",
|
|
"clearTextPassword": "plain",
|
|
"cookie": "jar",
|
|
"base_url": "https://api.x.ai",
|
|
}
|
|
out := SanitizeStoredCredentials(PlatformGrok, creds)
|
|
require.Equal(t, "at", out["access_token"])
|
|
require.Equal(t, "rt", out["refresh_token"])
|
|
require.Equal(t, "https://api.x.ai", out["base_url"])
|
|
require.NotContains(t, out, "password")
|
|
require.NotContains(t, out, "sso_token")
|
|
require.NotContains(t, out, "sso")
|
|
require.NotContains(t, out, "sso-rw")
|
|
require.NotContains(t, out, "clearTextPassword")
|
|
require.NotContains(t, out, "cookie")
|
|
}
|
|
|
|
func TestSanitizeStoredCredentials_AlwaysStripsCookie(t *testing.T) {
|
|
// Bulk paths may pass empty platform; cookie must never persist next to tokens.
|
|
for _, platform := range []string{PlatformOpenAI, PlatformGrok, ""} {
|
|
creds := map[string]any{
|
|
"cookie": "session",
|
|
"password": "x",
|
|
"api_key": "k",
|
|
}
|
|
out := SanitizeStoredCredentials(platform, creds)
|
|
require.Equal(t, "k", out["api_key"], platform)
|
|
require.NotContains(t, out, "password", platform)
|
|
require.NotContains(t, out, "cookie", platform)
|
|
}
|
|
}
|
|
|
|
func TestSanitizeStoredCredentials_NilSafe(t *testing.T) {
|
|
require.Nil(t, SanitizeStoredCredentials(PlatformGrok, nil))
|
|
}
|