Add projects
This commit is contained in:
parent
2d3a9ad623
commit
8b607dd700
1802 changed files with 503346 additions and 2 deletions
|
|
@ -0,0 +1,82 @@
|
|||
package auth
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
"testing"
|
||||
|
||||
internalconfig "github.com/router-for-me/CLIProxyAPI/v7/internal/config"
|
||||
)
|
||||
|
||||
func TestManagerMarkResultUsesCredentialCoolingPrecedence(t *testing.T) {
|
||||
previousGlobal := quotaCooldownDisabled.Load()
|
||||
quotaCooldownDisabled.Store(false)
|
||||
t.Cleanup(func() { quotaCooldownDisabled.Store(previousGlobal) })
|
||||
|
||||
disabled := true
|
||||
enabled := false
|
||||
tests := []struct {
|
||||
name string
|
||||
homeEnabled bool
|
||||
globalDisable bool
|
||||
credential *bool
|
||||
providerOverride *bool
|
||||
wantCooldown bool
|
||||
}{
|
||||
{name: "credential true overrides global false", credential: &disabled},
|
||||
{name: "credential false overrides global true", globalDisable: true, credential: &enabled, wantCooldown: true},
|
||||
{name: "unset inherits global true", globalDisable: true},
|
||||
{name: "unset inherits global false", wantCooldown: true},
|
||||
{name: "provider false overrides global true", globalDisable: true, providerOverride: &enabled, wantCooldown: true},
|
||||
{name: "provider true overrides global false", providerOverride: &disabled},
|
||||
{name: "credential false overrides provider true", credential: &enabled, providerOverride: &disabled, wantCooldown: true},
|
||||
{name: "home mode disables local cooling despite credential false", homeEnabled: true, credential: &enabled},
|
||||
}
|
||||
|
||||
for _, tc := range tests {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
manager := NewManager(nil, nil, nil)
|
||||
cfg := &internalconfig.Config{
|
||||
DisableCooling: tc.globalDisable,
|
||||
Home: internalconfig.HomeConfig{Enabled: tc.homeEnabled},
|
||||
}
|
||||
auth := &Auth{ID: tc.name, Provider: "claude", Status: StatusActive}
|
||||
if tc.credential != nil {
|
||||
auth.Metadata = map[string]any{"disable_cooling": *tc.credential}
|
||||
}
|
||||
if tc.providerOverride != nil {
|
||||
auth.Provider = "openai-compatibility"
|
||||
auth.Attributes = map[string]string{
|
||||
"provider_key": "compat",
|
||||
"compat_name": "compat",
|
||||
}
|
||||
cfg.OpenAICompatibility = []internalconfig.OpenAICompatibility{{
|
||||
Name: "compat",
|
||||
BaseURL: "https://compat.example.com",
|
||||
DisableCooling: tc.providerOverride,
|
||||
}}
|
||||
}
|
||||
manager.SetConfig(cfg)
|
||||
if _, errRegister := manager.Register(context.Background(), auth); errRegister != nil {
|
||||
t.Fatalf("Register() error = %v", errRegister)
|
||||
}
|
||||
|
||||
const model = "test-model"
|
||||
manager.MarkResult(context.Background(), Result{
|
||||
AuthID: auth.ID,
|
||||
Provider: auth.Provider,
|
||||
Model: model,
|
||||
Error: &Error{HTTPStatus: http.StatusInternalServerError, Message: "upstream failed"},
|
||||
})
|
||||
|
||||
updated, ok := manager.GetByID(auth.ID)
|
||||
if !ok || updated == nil || updated.ModelStates[model] == nil {
|
||||
t.Fatalf("updated auth/model state missing: %#v", updated)
|
||||
}
|
||||
gotCooldown := !updated.ModelStates[model].NextRetryAfter.IsZero()
|
||||
if gotCooldown != tc.wantCooldown {
|
||||
t.Fatalf("cooldown present = %t, want %t", gotCooldown, tc.wantCooldown)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue