mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-06-04 13:28:03 +02:00
56 lines
1.5 KiB
Go
56 lines
1.5 KiB
Go
package config
|
|
|
|
import "testing"
|
|
|
|
func TestVisionConfig_OpenAICfgEffective_fallbackToMain(t *testing.T) {
|
|
main := OpenAIConfig{
|
|
APIKey: "main-key",
|
|
BaseURL: "https://main.example/v1",
|
|
Model: "main-model",
|
|
Provider: "openai",
|
|
}
|
|
v := VisionConfig{Model: "qwen-vl-max"}
|
|
out := v.OpenAICfgEffective(main)
|
|
if out.APIKey != main.APIKey || out.BaseURL != main.BaseURL || out.Provider != main.Provider {
|
|
t.Fatalf("expected openai fallback, got key=%q url=%q provider=%q", out.APIKey, out.BaseURL, out.Provider)
|
|
}
|
|
if out.Model != "qwen-vl-max" {
|
|
t.Fatalf("model: %s", out.Model)
|
|
}
|
|
}
|
|
|
|
func TestVisionConfig_OpenAICfgEffective(t *testing.T) {
|
|
main := OpenAIConfig{
|
|
APIKey: "main-key",
|
|
BaseURL: "https://main.example/v1",
|
|
Model: "main-model",
|
|
Provider: "openai",
|
|
Reasoning: OpenAIReasoningConfig{Mode: "on"},
|
|
}
|
|
v := VisionConfig{
|
|
Model: "vl-model",
|
|
APIKey: "vl-key",
|
|
BaseURL: "https://vl.example/v1",
|
|
Provider: "claude",
|
|
}
|
|
out := v.OpenAICfgEffective(main)
|
|
if out.APIKey != "vl-key" || out.BaseURL != "https://vl.example/v1" || out.Model != "vl-model" {
|
|
t.Fatalf("unexpected merge: %+v", out)
|
|
}
|
|
if out.Provider != "claude" {
|
|
t.Fatalf("provider: %s", out.Provider)
|
|
}
|
|
if out.Reasoning.Mode != "off" {
|
|
t.Fatalf("reasoning should be off for vision, got %s", out.Reasoning.Mode)
|
|
}
|
|
}
|
|
|
|
func TestVisionConfig_Ready(t *testing.T) {
|
|
if (VisionConfig{Enabled: true, Model: "x"}).Ready() != true {
|
|
t.Fatal("expected ready")
|
|
}
|
|
if (VisionConfig{Enabled: true}).Ready() != false {
|
|
t.Fatal("expected not ready without model")
|
|
}
|
|
}
|