feat(config): Daemon-Port server.port mit Env-Override TALK_PORT (Default 7800)
This commit is contained in:
1 parent
3b44605234
commit
716f6b2fc9
2 files changed
+94
-3
No files matched your search
@@ -288,3 +288,67 @@ de = "de-DE-KatjaNeural"
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// TestLoadServerPort deckt die Task-04-Felder ab: Daemon-Port per Defaults
|
||||
// (7800), TOML [server] port, Env-Override TALK_PORT samt Validierung.
|
||||
func TestLoadServerPort(t *testing.T) {
|
||||
writeTOML := func(t *testing.T, content string) string {
|
||||
t.Helper()
|
||||
path := filepath.Join(t.TempDir(), "config.toml")
|
||||
if err := os.WriteFile(path, []byte(content), 0o644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
return path
|
||||
}
|
||||
|
||||
t.Run("Default 7800", func(t *testing.T) {
|
||||
cfg, err := Load(Options{
|
||||
File: filepath.Join(t.TempDir(), "gibt-es-nicht.toml"),
|
||||
Getenv: env(nil),
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("Load: %v", err)
|
||||
}
|
||||
if cfg.Server.Port != DefaultServerPort {
|
||||
t.Errorf("Server.Port = %d, want Default %d", cfg.Server.Port, DefaultServerPort)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("TOML überschreibt Default", func(t *testing.T) {
|
||||
cfg, err := Load(Options{
|
||||
File: writeTOML(t, "[server]\nport = 7999\n"),
|
||||
Getenv: env(nil),
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("Load: %v", err)
|
||||
}
|
||||
if cfg.Server.Port != 7999 {
|
||||
t.Errorf("Server.Port = %d, want 7999 aus TOML", cfg.Server.Port)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("TALK_PORT schlägt Datei", func(t *testing.T) {
|
||||
cfg, err := Load(Options{
|
||||
File: writeTOML(t, "[server]\nport = 7999\n"),
|
||||
Getenv: env(map[string]string{"TALK_PORT": "7912"}),
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("Load: %v", err)
|
||||
}
|
||||
if cfg.Server.Port != 7912 {
|
||||
t.Errorf("Server.Port = %d, want Env-Override 7912", cfg.Server.Port)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("ungültiger TALK_PORT-Wert ist klarer Fehler", func(t *testing.T) {
|
||||
for _, bad := range []string{"null", "0", "-1", "70000"} {
|
||||
_, err := Load(Options{
|
||||
File: filepath.Join(t.TempDir(), "gibt-es-nicht.toml"),
|
||||
Getenv: env(map[string]string{"TALK_PORT": bad}),
|
||||
})
|
||||
if err == nil || !strings.Contains(err.Error(), "TALK_PORT") {
|
||||
t.Fatalf("TALK_PORT=%q: Fehler = %v, will klaren TALK_PORT-Fehler", bad, err)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user