Stabilize application config support

This commit is contained in:
2026-05-06 16:51:36 +00:00
parent ac1787d683
commit 8677f7947d
2 changed files with 28 additions and 0 deletions

View File

@@ -322,6 +322,22 @@ func TestParseRunArgsMissingExplicitConfigReturnsError(t *testing.T) {
}
}
func TestParseRunArgsInvalidExplicitConfigReturnsError(t *testing.T) {
configPath := writeAppConfigFile(t, "api_key: secret\n")
_, err := parseRunArgs([]string{
"--config", configPath,
"--prompt", "p",
"--input", "a=b",
})
if err == nil {
t.Fatal("expected invalid explicit config error")
}
if !strings.Contains(err.Error(), "application config error") {
t.Fatalf("expected application config context, got %v", err)
}
}
func TestResolveAppSettingsMissingImplicitConfigDoesNotError(t *testing.T) {
fs := flag.NewFlagSet("test", flag.ContinueOnError)
settings, err := resolveAppSettings(fs, filepath.Join(t.TempDir(), "missing.yml"), appconfig.CLIOverrides{})

View File

@@ -49,6 +49,18 @@ func TestLoadConfigInvalidYAMLReturnsError(t *testing.T) {
}
}
func TestLoadConfigInvalidYAMLImplicitPathReturnsError(t *testing.T) {
path := writeConfigFile(t, "config.yml", "prompt_dir: [")
_, err := LoadConfig(path, false)
if err == nil {
t.Fatal("expected invalid YAML error")
}
if !errors.Is(err, ErrInvalidConfigYAML) {
t.Fatalf("expected ErrInvalidConfigYAML, got %v", err)
}
}
func TestLoadConfigUnknownFieldReturnsError(t *testing.T) {
path := writeConfigFile(t, "config.yml", "unknown_field: true\n")