84 lines
2.2 KiB
Go

package config
import (
"testing"
"time"
)
func TestDefaultAgentConfig(t *testing.T) {
cfg := DefaultAgentConfig()
if cfg.CoreInterval != 15*time.Second {
t.Fatalf("CoreInterval = %v, want 15s", cfg.CoreInterval)
}
if cfg.DiskInterval != 30*time.Second {
t.Fatalf("DiskInterval = %v, want 30s", cfg.DiskInterval)
}
if cfg.NetworkInterval != 30*time.Second {
t.Fatalf("NetworkInterval = %v, want 30s", cfg.NetworkInterval)
}
if cfg.ProcessInterval != 60*time.Second {
t.Fatalf("ProcessInterval = %v, want 60s", cfg.ProcessInterval)
}
if cfg.BatchSize != 128 {
t.Fatalf("BatchSize = %d, want 128", cfg.BatchSize)
}
if cfg.CheckpointDriver != "file" {
t.Fatalf("CheckpointDriver = %q, want file", cfg.CheckpointDriver)
}
}
func TestDefaultGatewayConfig(t *testing.T) {
cfg := DefaultGatewayConfig()
if cfg.Addr != "0.0.0.0:4318" {
t.Fatalf("Addr = %q, want 0.0.0.0:4318", cfg.Addr)
}
if cfg.MaxMetricsPerHost != 20000 {
t.Fatalf("MaxMetricsPerHost = %d, want 20000", cfg.MaxMetricsPerHost)
}
}
func TestDurEnv(t *testing.T) {
if got := durEnv("HMS_TEST_DUR_EMPTY", 3*time.Second); got != 3*time.Second {
t.Fatalf("durEnv empty = %v, want 3s", got)
}
t.Setenv("HMS_TEST_DUR", "7s")
if got := durEnv("HMS_TEST_DUR", 3*time.Second); got != 7*time.Second {
t.Fatalf("durEnv set = %v, want 7s", got)
}
t.Setenv("HMS_TEST_DUR_BAD", "not-a-duration")
if got := durEnv("HMS_TEST_DUR_BAD", 3*time.Second); got != 3*time.Second {
t.Fatalf("durEnv bad = %v, want fallback 3s", got)
}
}
func TestIntEnv(t *testing.T) {
if got := intEnv("HMS_TEST_INT_EMPTY", 42); got != 42 {
t.Fatalf("intEnv empty = %d, want 42", got)
}
t.Setenv("HMS_TEST_INT", "99")
if got := intEnv("HMS_TEST_INT", 42); got != 99 {
t.Fatalf("intEnv set = %d, want 99", got)
}
t.Setenv("HMS_TEST_INT_BAD", "bad")
if got := intEnv("HMS_TEST_INT_BAD", 42); got != 42 {
t.Fatalf("intEnv bad = %d, want fallback 42", got)
}
}
func TestSplitCSV(t *testing.T) {
got := splitCSV("")
if got != nil {
t.Fatalf("splitCSV(empty) = %v, want nil", got)
}
got = splitCSV("/var/log/a.log, /var/log/b.log ,")
if len(got) != 2 || got[0] != "/var/log/a.log" || got[1] != "/var/log/b.log" {
t.Fatalf("splitCSV = %v", got)
}
}