Some checks are pending
Security Checks / security (push) Waiting to run
统一 frontend、backend、test、test-log 和 out 目录,更新构建、部署及测试入口;纳入配置管理兼容与首次安全引导修复;排除本机配置、密钥和测试产物。
52 lines
1.5 KiB
Go
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)
|
|
}
|
|
}
|