CI / verify (push) Canceled after 0s
- 内置 SSH 终端(/terminal):复用已保存的 SSH 密码/私钥与独立 known_hosts 校验 - 终端二次认证、会话审计(/terminal/audits)、录像审计与常用命令 - DDNS 服务商名称与自定义 IP,新增迁移 037/038/039 - CHANGELOG 与 VERSION 更新至 2.0.0
72 lines
1.9 KiB
Go
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)
|
|
}
|
|
}
|