From 51b2621d58633aa5c0f5cc7b64616d70d41acc91 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 27 Sep 2025 02:19:22 +0300 Subject: Support multi-provider fan-out across CLI and completions --- internal/appconfig/config_test.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'internal/appconfig/config_test.go') diff --git a/internal/appconfig/config_test.go b/internal/appconfig/config_test.go index e7f6059..4ae04d8 100644 --- a/internal/appconfig/config_test.go +++ b/internal/appconfig/config_test.go @@ -1,6 +1,7 @@ package appconfig import ( + "bytes" "io" "log" "os" @@ -64,6 +65,33 @@ func TestLoad_Defaults_WithLogger_NoFile_NoEnv(t *testing.T) { } } +func TestParseSurfaceModels_CodeActionWarns(t *testing.T) { + dir := t.TempDir() + path := filepath.Join(dir, "config.toml") + writeFile(t, path, ` +[models] + [[models.code_action]] + provider = "openai" + model = "gpt-4o" + + [[models.code_action]] + provider = "copilot" + model = "cpt" +`) + var buf bytes.Buffer + logger := log.New(&buf, "", 0) + app, err := loadFromFile(path, logger) + if err != nil { + t.Fatalf("loadFromFile: %v", err) + } + if len(app.CodeActionConfigs) != 1 || app.CodeActionConfigs[0].Model != "gpt-4o" { + t.Fatalf("expected single code action entry, got %+v", app.CodeActionConfigs) + } + if msg := buf.String(); !strings.Contains(msg, "models.code_action supports a single entry") { + t.Fatalf("expected warning, got %q", msg) + } +} + func TestLoad_FileMerge_And_EnvOverride(t *testing.T) { dir := t.TempDir() t.Setenv("XDG_CONFIG_HOME", dir) -- cgit v1.2.3