返回 DeepSeek-Reasonix
subagent_model_test.go
根目录 / internal / config / subagent_model_test.go
1 package config
2
3 import (
4 "testing"
5
6 "github.com/BurntSushi/toml"
7 )
8
9 func TestAgentSubagentModelConfigDecodesFromTOML(t *testing.T) {
10 var cfg Config
11 if _, err := toml.Decode(`
12 [agent]
13 subagent_model = "deepseek-pro"
14 subagent_models = { explore = "deepseek-pro", "security-review" = "mimo-pro" }
15 `, &cfg); err != nil {
16 t.Fatalf("decode: %v", err)
17 }
18
19 if cfg.Agent.SubagentModel != "deepseek-pro" {
20 t.Fatalf("subagent_model = %q, want deepseek-pro", cfg.Agent.SubagentModel)
21 }
22 if cfg.Agent.SubagentModels["explore"] != "deepseek-pro" {
23 t.Fatalf("explore model = %q", cfg.Agent.SubagentModels["explore"])
24 }
25 if cfg.Agent.SubagentModels["security-review"] != "mimo-pro" {
26 t.Fatalf("security-review model = %q", cfg.Agent.SubagentModels["security-review"])
27 }
28 if cfg.Agent.SubagentEffort != "" {
29 t.Fatalf("subagent_effort should be empty by default, got %q", cfg.Agent.SubagentEffort)
30 }
31 if len(cfg.Agent.SubagentEfforts) != 0 {
32 t.Fatalf("subagent_efforts should be empty by default, got %v", cfg.Agent.SubagentEfforts)
33 }
34 }
35
36 func TestAgentSubagentEffortConfigDecodesFromTOML(t *testing.T) {
37 var cfg Config
38 if _, err := toml.Decode(`
39 [agent]
40 subagent_effort = "max"
41 subagent_efforts = { review = "max", task = "high" }
42 `, &cfg); err != nil {
43 t.Fatalf("decode: %v", err)
44 }
45
46 if cfg.Agent.SubagentEffort != "max" {
47 t.Fatalf("subagent_effort = %q, want max", cfg.Agent.SubagentEffort)
48 }
49 if cfg.Agent.SubagentEfforts["review"] != "max" {
50 t.Fatalf("review effort = %q", cfg.Agent.SubagentEfforts["review"])
51 }
52 if cfg.Agent.SubagentEfforts["task"] != "high" {
53 t.Fatalf("task effort = %q", cfg.Agent.SubagentEfforts["task"])
54 }
55 }
56
56 lines GO