mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-06-25 07:57:15 +08:00
- Introduced `service_tier` metadata key to capture client-requested service tiers. - Updated usage records, context propagation, and plugins to include service tier data. - Added default handling logic for cases where `service_tier` is absent. - Implemented tests for `service_tier` extraction, defaults, and updates across components.
31 lines
1.0 KiB
Go
31 lines
1.0 KiB
Go
package auth
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
cliproxyexecutor "github.com/router-for-me/CLIProxyAPI/v7/sdk/cliproxy/executor"
|
|
coreusage "github.com/router-for-me/CLIProxyAPI/v7/sdk/cliproxy/usage"
|
|
)
|
|
|
|
func TestContextWithRequestedModelAliasIncludesReasoningEffort(t *testing.T) {
|
|
ctx := contextWithRequestedModelAlias(context.Background(), cliproxyexecutor.Options{
|
|
Metadata: map[string]any{
|
|
cliproxyexecutor.RequestedModelMetadataKey: "client-model",
|
|
cliproxyexecutor.ReasoningEffortMetadataKey: "medium",
|
|
cliproxyexecutor.ServiceTierMetadataKey: "priority",
|
|
},
|
|
}, "fallback-model")
|
|
|
|
if got := coreusage.RequestedModelAliasFromContext(ctx); got != "client-model" {
|
|
t.Fatalf("requested model alias = %q, want %q", got, "client-model")
|
|
}
|
|
if got := coreusage.ReasoningEffortFromContext(ctx); got != "medium" {
|
|
t.Fatalf("reasoning effort = %q, want %q", got, "medium")
|
|
}
|
|
gotServiceTier := coreusage.ServiceTierFromContext(ctx)
|
|
if gotServiceTier != "priority" {
|
|
t.Fatalf("service tier = %q, want %q", gotServiceTier, "priority")
|
|
}
|
|
}
|