Stabilize application config support
This commit is contained in:
@@ -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) {
|
func TestResolveAppSettingsMissingImplicitConfigDoesNotError(t *testing.T) {
|
||||||
fs := flag.NewFlagSet("test", flag.ContinueOnError)
|
fs := flag.NewFlagSet("test", flag.ContinueOnError)
|
||||||
settings, err := resolveAppSettings(fs, filepath.Join(t.TempDir(), "missing.yml"), appconfig.CLIOverrides{})
|
settings, err := resolveAppSettings(fs, filepath.Join(t.TempDir(), "missing.yml"), appconfig.CLIOverrides{})
|
||||||
|
|||||||
@@ -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) {
|
func TestLoadConfigUnknownFieldReturnsError(t *testing.T) {
|
||||||
path := writeConfigFile(t, "config.yml", "unknown_field: true\n")
|
path := writeConfigFile(t, "config.yml", "unknown_field: true\n")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user