| package cliproxy |
|
|
| import ( |
| "testing" |
|
|
| coreauth "github.com/router-for-me/CLIProxyAPI/v6/sdk/cliproxy/auth" |
| "github.com/router-for-me/CLIProxyAPI/v6/sdk/config" |
| ) |
|
|
| func TestEnsureExecutorsForAuth_CodexDoesNotReplaceInNormalMode(t *testing.T) { |
| service := &Service{ |
| cfg: &config.Config{}, |
| coreManager: coreauth.NewManager(nil, nil, nil), |
| } |
| auth := &coreauth.Auth{ |
| ID: "codex-auth-1", |
| Provider: "codex", |
| Status: coreauth.StatusActive, |
| } |
|
|
| service.ensureExecutorsForAuth(auth) |
| firstExecutor, okFirst := service.coreManager.Executor("codex") |
| if !okFirst || firstExecutor == nil { |
| t.Fatal("expected codex executor after first bind") |
| } |
|
|
| service.ensureExecutorsForAuth(auth) |
| secondExecutor, okSecond := service.coreManager.Executor("codex") |
| if !okSecond || secondExecutor == nil { |
| t.Fatal("expected codex executor after second bind") |
| } |
|
|
| if firstExecutor != secondExecutor { |
| t.Fatal("expected codex executor to stay unchanged in normal mode") |
| } |
| } |
|
|
| func TestEnsureExecutorsForAuthWithMode_CodexForceReplace(t *testing.T) { |
| service := &Service{ |
| cfg: &config.Config{}, |
| coreManager: coreauth.NewManager(nil, nil, nil), |
| } |
| auth := &coreauth.Auth{ |
| ID: "codex-auth-2", |
| Provider: "codex", |
| Status: coreauth.StatusActive, |
| } |
|
|
| service.ensureExecutorsForAuth(auth) |
| firstExecutor, okFirst := service.coreManager.Executor("codex") |
| if !okFirst || firstExecutor == nil { |
| t.Fatal("expected codex executor after first bind") |
| } |
|
|
| service.ensureExecutorsForAuthWithMode(auth, true) |
| secondExecutor, okSecond := service.coreManager.Executor("codex") |
| if !okSecond || secondExecutor == nil { |
| t.Fatal("expected codex executor after forced rebind") |
| } |
|
|
| if firstExecutor == secondExecutor { |
| t.Fatal("expected codex executor replacement in force mode") |
| } |
| } |
|
|