Files
CLIProxyAPI/internal/api/github_token_test.go
2026-10-08 00:33:27 +08:00

32 lines
978 B
Go

package api
import (
"testing"
"github.com/router-for-me/CLIProxyAPI/v8/internal/config"
"github.com/router-for-me/CLIProxyAPI/v8/internal/githubauth"
"github.com/router-for-me/CLIProxyAPI/v8/internal/util"
)
func TestServerGitHubTokenReload(t *testing.T) {
t.Setenv("GITHUB_TOKEN", "environment-token")
t.Cleanup(func() { githubauth.SetToken("") })
cfg := &config.Config{GitHubToken: "initial-token"}
server := newTestServerWithConfig(t, cfg)
if util.ResolveGitHubToken() != "initial-token" {
t.Fatal("startup did not configure global token")
}
updated := cfg.CloneForRuntime()
updated.GitHubToken = "replacement-token"
server.UpdateClients(updated)
if util.ResolveGitHubToken() != "replacement-token" {
t.Fatal("reload did not replace global token")
}
cleared := updated.CloneForRuntime()
cleared.GitHubToken = ""
server.UpdateClients(cleared)
if util.ResolveGitHubToken() != "environment-token" {
t.Fatal("reload did not clear global token")
}
}