| 1 | package boot |
| 2 | |
| 3 | import ( |
| 4 | "testing" |
| 5 | |
| 6 | "reasonix/internal/config" |
| 7 | ) |
| 8 | |
| 9 | func TestSubagentBareModelStaysOnParentProvider(t *testing.T) { |
| 10 | cfg := config.Default() |
| 11 | cfg.Providers = []config.ProviderEntry{ |
| 12 | {Name: "first", Kind: "openai", Models: []string{"shared-flash", "first-only"}}, |
| 13 | {Name: "relay", Kind: "openai", Models: []string{"shared-flash"}}, |
| 14 | } |
| 15 | base, ok := cfg.ResolveModel("relay/shared-flash") |
| 16 | if !ok { |
| 17 | t.Fatal("relay/shared-flash should resolve") |
| 18 | } |
| 19 | for ref, want := range map[string]string{ |
| 20 | "shared-flash": "relay/shared-flash", |
| 21 | "first-only": "first/first-only", |
| 22 | "first/shared-flash": "first/shared-flash", |
| 23 | } { |
| 24 | _, got, err := subagentModelSelection(cfg, nil, base, ref) |
| 25 | if err != nil || got != want { |
| 26 | t.Fatalf("selection for %q = %q (%v), want %q", ref, got, err, want) |
| 27 | } |
| 28 | } |
| 29 | if model, _ := subagentEffectiveIdentity(cfg, nil, "relay/shared-flash", base, "shared-flash", ""); model != "relay/shared-flash" { |
| 30 | t.Fatalf("identity = %q, want relay/shared-flash", model) |
| 31 | } |
| 32 | } |
| 33 |