Smail/backend/config/runtime_access_port_test.go
smail f60d3b0880
Some checks are pending
Security Checks / security (push) Waiting to run
整理前后端与测试构建目录并完善配置和安全引导
统一 frontend、backend、test、test-log 和 out 目录,更新构建、部署及测试入口;纳入配置管理兼容与首次安全引导修复;排除本机配置、密钥和测试产物。
2026-09-05 19:19:52 +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)
}
}