fix(auth): update import paths to v7 for registry and executor
This commit is contained in:
@@ -1,146 +0,0 @@
|
|||||||
package registry
|
|
||||||
|
|
||||||
import "testing"
|
|
||||||
|
|
||||||
func TestCodexFreeModelsExcludeGPT55(t *testing.T) {
|
|
||||||
model := findModelInfo(GetCodexFreeModels(), "gpt-5.5")
|
|
||||||
if model != nil {
|
|
||||||
t.Fatal("expected codex free tier to NOT include gpt-5.5")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestCodexStaticModelsIncludeGPT55(t *testing.T) {
|
|
||||||
tierModels := map[string][]*ModelInfo{
|
|
||||||
"team": GetCodexTeamModels(),
|
|
||||||
"plus": GetCodexPlusModels(),
|
|
||||||
"pro": GetCodexProModels(),
|
|
||||||
}
|
|
||||||
|
|
||||||
for tier, models := range tierModels {
|
|
||||||
t.Run(tier, func(t *testing.T) {
|
|
||||||
model := findModelInfo(models, "gpt-5.5")
|
|
||||||
if model == nil {
|
|
||||||
t.Fatalf("expected codex %s tier to include gpt-5.5", tier)
|
|
||||||
}
|
|
||||||
assertGPT55ModelInfo(t, tier, model)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
model := LookupStaticModelInfo("gpt-5.5")
|
|
||||||
if model == nil {
|
|
||||||
t.Fatal("expected LookupStaticModelInfo to find gpt-5.5")
|
|
||||||
}
|
|
||||||
assertGPT55ModelInfo(t, "lookup", model)
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestWithXAIBuiltinsAddsVideoModel(t *testing.T) {
|
|
||||||
models := WithXAIBuiltins(nil)
|
|
||||||
found := false
|
|
||||||
for _, model := range models {
|
|
||||||
if model != nil && model.ID == xaiBuiltinVideoModelID {
|
|
||||||
found = true
|
|
||||||
if model.OwnedBy != "xai" {
|
|
||||||
t.Fatalf("OwnedBy = %q, want xai", model.OwnedBy)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if !found {
|
|
||||||
t.Fatalf("expected %s builtin model", xaiBuiltinVideoModelID)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestValidateModelsCatalogAllowsMissingSections(t *testing.T) {
|
|
||||||
data := validTestModelsCatalog()
|
|
||||||
data.XAI = nil
|
|
||||||
|
|
||||||
if err := validateModelsCatalog(data); err != nil {
|
|
||||||
t.Fatalf("validateModelsCatalog() error = %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestValidateModelsCatalogRejectsInvalidDefinitions(t *testing.T) {
|
|
||||||
data := validTestModelsCatalog()
|
|
||||||
data.Claude = []*ModelInfo{{ID: ""}}
|
|
||||||
|
|
||||||
if err := validateModelsCatalog(data); err == nil {
|
|
||||||
t.Fatal("expected invalid model definition error")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func validTestModelsCatalog() *staticModelsJSON {
|
|
||||||
models := []*ModelInfo{{ID: "test-model"}}
|
|
||||||
return &staticModelsJSON{
|
|
||||||
Claude: models,
|
|
||||||
Gemini: models,
|
|
||||||
Vertex: models,
|
|
||||||
GeminiCLI: models,
|
|
||||||
AIStudio: models,
|
|
||||||
CodexFree: models,
|
|
||||||
CodexTeam: models,
|
|
||||||
CodexPlus: models,
|
|
||||||
CodexPro: models,
|
|
||||||
Kimi: models,
|
|
||||||
Antigravity: models,
|
|
||||||
XAI: models,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func findModelInfo(models []*ModelInfo, id string) *ModelInfo {
|
|
||||||
for _, model := range models {
|
|
||||||
if model != nil && model.ID == id {
|
|
||||||
return model
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func assertGPT55ModelInfo(t *testing.T, source string, model *ModelInfo) {
|
|
||||||
t.Helper()
|
|
||||||
|
|
||||||
if model.ID != "gpt-5.5" {
|
|
||||||
t.Fatalf("%s id mismatch: got %q", source, model.ID)
|
|
||||||
}
|
|
||||||
if model.Object != "model" {
|
|
||||||
t.Fatalf("%s object mismatch: got %q", source, model.Object)
|
|
||||||
}
|
|
||||||
if model.Created != 1776902400 {
|
|
||||||
t.Fatalf("%s created timestamp mismatch: got %d", source, model.Created)
|
|
||||||
}
|
|
||||||
if model.OwnedBy != "openai" {
|
|
||||||
t.Fatalf("%s owned_by mismatch: got %q", source, model.OwnedBy)
|
|
||||||
}
|
|
||||||
if model.Type != "openai" {
|
|
||||||
t.Fatalf("%s type mismatch: got %q", source, model.Type)
|
|
||||||
}
|
|
||||||
if model.DisplayName != "GPT 5.5" {
|
|
||||||
t.Fatalf("%s display name mismatch: got %q", source, model.DisplayName)
|
|
||||||
}
|
|
||||||
if model.Version != "gpt-5.5" {
|
|
||||||
t.Fatalf("%s version mismatch: got %q", source, model.Version)
|
|
||||||
}
|
|
||||||
if model.Description != "Frontier model for complex coding, research, and real-world work." {
|
|
||||||
t.Fatalf("%s description mismatch: got %q", source, model.Description)
|
|
||||||
}
|
|
||||||
if model.ContextLength != 272000 {
|
|
||||||
t.Fatalf("%s context length mismatch: got %d", source, model.ContextLength)
|
|
||||||
}
|
|
||||||
if model.MaxCompletionTokens != 128000 {
|
|
||||||
t.Fatalf("%s max completion tokens mismatch: got %d", source, model.MaxCompletionTokens)
|
|
||||||
}
|
|
||||||
if len(model.SupportedParameters) != 1 || model.SupportedParameters[0] != "tools" {
|
|
||||||
t.Fatalf("%s supported parameters mismatch: got %v", source, model.SupportedParameters)
|
|
||||||
}
|
|
||||||
if model.Thinking == nil {
|
|
||||||
t.Fatalf("%s missing thinking support", source)
|
|
||||||
}
|
|
||||||
|
|
||||||
want := []string{"low", "medium", "high", "xhigh"}
|
|
||||||
if len(model.Thinking.Levels) != len(want) {
|
|
||||||
t.Fatalf("%s thinking level count mismatch: got %d, want %d", source, len(model.Thinking.Levels), len(want))
|
|
||||||
}
|
|
||||||
for i, level := range want {
|
|
||||||
if model.Thinking.Levels[i] != level {
|
|
||||||
t.Fatalf("%s thinking level %d mismatch: got %q, want %q", source, i, model.Thinking.Levels[i], level)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -8,8 +8,8 @@ import (
|
|||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/router-for-me/CLIProxyAPI/v6/internal/registry"
|
"github.com/router-for-me/CLIProxyAPI/v7/internal/registry"
|
||||||
cliproxyexecutor "github.com/router-for-me/CLIProxyAPI/v6/sdk/cliproxy/executor"
|
cliproxyexecutor "github.com/router-for-me/CLIProxyAPI/v7/sdk/cliproxy/executor"
|
||||||
)
|
)
|
||||||
|
|
||||||
type requestPrepareStore struct {
|
type requestPrepareStore struct {
|
||||||
|
|||||||
Reference in New Issue
Block a user