Files
Havline/internal/config/config_test.go
T
mrlee 302248a907
CI / verify (push) Canceled after 0s
chore(release): 发布 v2.0.0
- 内置 SSH 终端(/terminal):复用已保存的 SSH 密码/私钥与独立 known_hosts 校验
- 终端二次认证、会话审计(/terminal/audits)、录像审计与常用命令
- DDNS 服务商名称与自定义 IP,新增迁移 037/038/039
- CHANGELOG 与 VERSION 更新至 2.0.0
2026-10-16 20:18:04 +08:00

72 lines
1.9 KiB
Go

package config
import (
"os"
"path/filepath"
"testing"
)
func TestLoadNginxDefaultPorts(t *testing.T) {
t.Setenv("HAVLINE_NGINX_HTTP_PORT", "18080")
t.Setenv("HAVLINE_NGINX_HTTPS_PORT", "9443")
cfg := Load()
if cfg.NginxDefaultHTTPPort != 18080 {
t.Fatalf("http port %d", cfg.NginxDefaultHTTPPort)
}
if cfg.NginxDefaultHTTPSPort != 9443 {
t.Fatalf("https port %d", cfg.NginxDefaultHTTPSPort)
}
if cfg.DefaultListenPort(false) != 18080 {
t.Fatalf("default http listen %d", cfg.DefaultListenPort(false))
}
if cfg.DefaultListenPort(true) != 9443 {
t.Fatalf("default https listen %d", cfg.DefaultListenPort(true))
}
}
func TestLoadNginxDefaultPortsFallback(t *testing.T) {
os.Unsetenv("HAVLINE_NGINX_HTTP_PORT")
os.Unsetenv("HAVLINE_NGINX_HTTPS_PORT")
cfg := Load()
if cfg.NginxDefaultHTTPPort != 80 || cfg.NginxDefaultHTTPSPort != 443 {
t.Fatalf("ports %d %d", cfg.NginxDefaultHTTPPort, cfg.NginxDefaultHTTPSPort)
}
}
func TestLoadUpdaterTokenFile(t *testing.T) {
t.Setenv("HAVLINE_UPDATER_TOKEN_FILE", "/tmp/havline-updater.token")
cfg := Load()
if cfg.UpdaterTokenFile != "/tmp/havline-updater.token" {
t.Fatalf("updater token file %q", cfg.UpdaterTokenFile)
}
}
func TestLoadListenAddrAllowsExplicitEmpty(t *testing.T) {
t.Setenv("HAVLINE_LISTEN", "")
cfg := Load()
if cfg.ListenAddr != "" {
t.Fatalf("listen addr %q, want empty for unix-socket-only mode", cfg.ListenAddr)
}
}
func TestLoadUpdaterTokenFileAllowsExplicitEmpty(t *testing.T) {
t.Setenv("HAVLINE_UPDATER_TOKEN_FILE", "")
cfg := Load()
if cfg.UpdaterTokenFile != "" {
t.Fatalf("updater token file %q, want empty", cfg.UpdaterTokenFile)
}
}
func TestSSHKnownHostsPathForServer(t *testing.T) {
cfg := Config{DataDir: "/data"}
want := filepath.Join("/data", "ssh_known_hosts", "server-3")
if got := cfg.SSHKnownHostsPathForServer(3); got != want {
t.Fatalf("per-server known_hosts path %q", got)
}
}