Scert/backend/internal/config/proxy_port_test.go

44 lines
1.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package config
import (
"path/filepath"
"testing"
)
func TestProxyHTTPSPortValidationAndPersistence(t *testing.T) {
for _, port := range []int{-1, 65536} {
cfg := Default(t.TempDir())
cfg.Server.ProxyHTTPSPort = port
if err := cfg.Validate(); err == nil {
t.Fatalf("非法代理端口未被拒绝:%d", port)
}
}
for _, port := range []int{0, 1, 443, 8004, 65535} {
cfg := Default(t.TempDir())
cfg.Server.HTTPSMode = "proxy"
cfg.Server.ProxyHTTPSPort = port
if err := cfg.Validate(); err != nil {
t.Fatal(err)
}
path := filepath.Join(t.TempDir(), "scert.json")
if err := cfg.Save(path); err != nil {
t.Fatal(err)
}
loaded, err := Load(path)
if err != nil || loaded.Server.ProxyHTTPSPort != port {
t.Fatalf("代理端口保存失败:%d,%v", port, err)
}
}
}
func TestProxyHTTPSPortEnvironment(t *testing.T) {
t.Setenv("SCERT_SERVER_PROXY_HTTPS_PORT", "8004")
cfg := Default(t.TempDir())
if err := cfg.ApplyEnvironment(); err != nil {
t.Fatal(err)
}
if cfg.Server.ProxyHTTPSPort != 8004 {
t.Fatal("环境变量未覆盖代理端口")
}
}