From e7eac3fa21a4bd371ca8bcdb2153966bc4b6a19b Mon Sep 17 00:00:00 2001 From: jamesread Date: Tue, 28 Jul 2026 15:04:51 +0100 Subject: [PATCH] chore: Make sure we dont try and bind on a bad port --- service/internal/config/port_env_test.go | 25 +++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/service/internal/config/port_env_test.go b/service/internal/config/port_env_test.go index 4c938c2..2b90536 100644 --- a/service/internal/config/port_env_test.go +++ b/service/internal/config/port_env_test.go @@ -37,13 +37,28 @@ func TestApplyPortEnvironmentOverrideUnsetLeavesConfig(t *testing.T) { } func TestApplyPortEnvironmentOverrideIgnoresInvalid(t *testing.T) { - t.Setenv("PORT", "not-a-port") + // parseEnvPort accepts only 1..65535; port 0 and out-of-range values are ignored. + cases := []struct { + name string + port string + }{ + {name: "non-numeric", port: "not-a-port"}, + {name: "above max", port: "65536"}, + {name: "negative", port: "-1"}, + {name: "zero ignored", port: "0"}, + } - cfg := DefaultConfig() - cfg.ListenAddressSingleHTTPFrontend = "0.0.0.0:1337" - applyPortEnvironmentOverride(cfg) + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + t.Setenv("PORT", tc.port) - assert.Equal(t, "0.0.0.0:1337", cfg.ListenAddressSingleHTTPFrontend) + cfg := DefaultConfig() + cfg.ListenAddressSingleHTTPFrontend = "0.0.0.0:1337" + applyPortEnvironmentOverride(cfg) + + assert.Equal(t, "0.0.0.0:1337", cfg.ListenAddressSingleHTTPFrontend) + }) + } } func TestApplyPortEnvironmentOverrideEmptyListenAddressDefaultsHost(t *testing.T) {