30 lines
745 B
Go
30 lines
745 B
Go
package config
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
func TestLoadFirstAvailableConfigReturnsParseError(t *testing.T) {
|
|
tempDir := t.TempDir()
|
|
configPath := filepath.Join(tempDir, "config.yaml")
|
|
|
|
if err := os.WriteFile(configPath, []byte("server: ["), 0o600); err != nil {
|
|
t.Fatalf("WriteFile() error = %v", err)
|
|
}
|
|
|
|
cfg := &Config{}
|
|
if err := loadFirstAvailableConfig(cfg, []string{configPath}); err == nil {
|
|
t.Fatal("expected parse error, got nil")
|
|
}
|
|
}
|
|
|
|
func TestLoadFirstAvailableConfigSkipsMissingFiles(t *testing.T) {
|
|
cfg := &Config{}
|
|
if err := loadFirstAvailableConfig(cfg, []string{
|
|
filepath.Join(t.TempDir(), "missing.yaml"),
|
|
}); err != nil {
|
|
t.Fatalf("expected nil error for missing config, got %v", err)
|
|
}
|
|
}
|