Smail/server/config/runtime_access_port_test.go
smail 18896997df
Some checks are pending
Security Checks / security (push) Waiting to run
修复初始化端口持久化和系统服务权限
2026-08-31 21:00:38 +08:00

52 lines
1.5 KiB
Go

package config
import "testing"
func TestResolveHTTPPortDefaultsPreservesConfiguredPorts(t *testing.T) {
t.Setenv("SMAIL_HTTP_PORT", "19001")
t.Setenv("SMAIL_HTTPS_PORT", "19002")
got := ResolveHTTPPortDefaults(HTTPConfig{
Port: 9001,
HTTPSPort: 9002,
HTTPSEnabled: true,
}, 18080)
if got.Port != 9001 || got.HTTPSPort != 9002 {
t.Fatalf("HTTP ports = %d/%d, want 9001/9002", got.Port, got.HTTPSPort)
}
}
func TestResolveHTTPPortDefaultsUsesEnvironmentPorts(t *testing.T) {
t.Setenv("SMAIL_HTTP_PORT", "9001")
t.Setenv("SMAIL_HTTPS_PORT", "9002")
got := ResolveHTTPPortDefaults(HTTPConfig{HTTPSEnabled: true}, 18080)
if got.Port != 9001 || got.HTTPSPort != 9002 {
t.Fatalf("HTTP ports = %d/%d, want 9001/9002", got.Port, got.HTTPSPort)
}
}
func TestResolveHTTPPortDefaultsUsesSetupAndDirectDefaults(t *testing.T) {
t.Setenv("SMAIL_HTTP_PORT", "")
t.Setenv("SMAIL_HTTPS_PORT", "")
got := ResolveHTTPPortDefaults(HTTPConfig{HTTPSEnabled: true}, 9001)
if got.Port != 9001 || got.HTTPSPort != 443 {
t.Fatalf("HTTP ports = %d/%d, want 9001/443", got.Port, got.HTTPSPort)
}
}
func TestResolveHTTPPortDefaultsDisablesInternalHTTPSInProxyMode(t *testing.T) {
t.Setenv("SMAIL_HTTP_PORT", "9001")
t.Setenv("SMAIL_HTTPS_PORT", "9002")
got := ResolveHTTPPortDefaults(HTTPConfig{
HTTPSPort: 9443,
HTTPSEnabled: true,
TLSMode: " PROXY ",
}, 18080)
if got.Port != 9001 || got.HTTPSPort != 0 || got.HTTPSEnabled {
t.Fatalf("proxy HTTP config = %+v, want HTTP 9001 with internal HTTPS disabled", got)
}
}