Files
OpenFlare/internal/infra/config/config_test.go
T

47 lines
1.6 KiB
Go

package config
import "testing"
func TestApplyEnvOverridesRedisMaintNotifications(t *testing.T) {
t.Setenv("REDIS_MAINT_NOTIFICATIONS", "true")
cfg := &configModel{}
applyEnvOverrides(cfg)
if !cfg.Redis.MaintNotifications {
t.Fatal("REDIS_MAINT_NOTIFICATIONS=true was not applied")
}
}
// TestApplyClickHouseDefaultsRespectsDisabledConfig 回归:配置未显式启用(缺省或
// enabled: false)时 ClickHouse 必须保持关闭,不得被 applyClickHouseDefaults 强制打开。
// CLICKHOUSE_ENABLED=true 仅用于绕过测试分支(isTest 默认强制关闭),以便测真实默认逻辑。
func TestApplyClickHouseDefaultsRespectsDisabledConfig(t *testing.T) {
t.Setenv("CLICKHOUSE_ENABLED", "true")
cfg := &configModel{ClickHouse: clickHouseConfig{Enabled: false}}
applyClickHouseDefaults(cfg)
if cfg.ClickHouse.Enabled {
t.Fatal("ClickHouse must stay disabled when config does not enable it")
}
}
// TestApplyClickHouseDefaultsEnablesWhenConfigured 显式 enabled: true 时保持启用并补齐默认连接参数。
func TestApplyClickHouseDefaultsEnablesWhenConfigured(t *testing.T) {
t.Setenv("CLICKHOUSE_ENABLED", "true")
cfg := &configModel{ClickHouse: clickHouseConfig{Enabled: true}}
applyClickHouseDefaults(cfg)
if !cfg.ClickHouse.Enabled {
t.Fatal("ClickHouse must stay enabled when explicitly configured")
}
if cfg.ClickHouse.Database != "openflare" {
t.Fatalf("database default not applied: %q", cfg.ClickHouse.Database)
}
if len(cfg.ClickHouse.Hosts) != 1 || cfg.ClickHouse.Hosts[0] != "127.0.0.1:9000" {
t.Fatalf("hosts default not applied: %v", cfg.ClickHouse.Hosts)
}
}